- Integrations
- /
- Stripe
- /
- Triggers
- /
- New Dispute
TriggerStripeReal-timeUpdated May 2026
How do I trigger when a Stripe charge dispute is created?
Short answer: Drop the "Stripe → New Dispute" trigger on your workflow canvas, add filters if you want them, and publish. It fires within seconds of the event in Stripe, not on a polling schedule.
Anatomy
What this trigger looks like in a workflow.
Drop it on the canvas. Configure a couple of fields. Publish.
In the builder
Trigger
New Dispute
When the matching event happens
when dispute creatednew dispute createdwatch for dispute createdon dispute creatednew disputewhen a charge dispute is createddispute added
What this trigger returns
for the curiousYou don’t need to read this. Tiny Command auto-maps every field into the visual picker so downstream nodes can pull values by clicking. We show it here for power users who want to know what’s on the wire.
{"amount": 500,"charge": "ch_xxx","reason": "fraudulent","status": "needs_response","created": 1778804246,"currency": "usd","event_id": "evt_xxx","livemode": false,"dispute_id": "du_xxx","event_type": "charge.dispute.created","occurred_at": 1778804246,"payment_intent": "pi_xxx","evidence_due_by": 1779504246}
Output shape
Fields available to downstream nodes.
Every field below can be referenced by name in any action or filter that comes after this trigger.
| Field | Type | Example |
|---|---|---|
| amount | number | 500 |
| charge | string | "ch_xxx" |
| reason | string | "fraudulent" |
| status | string | "needs_response" |
| created | number | 1778804246 |
| currency | string | "usd" |
| event_id | string | "evt_xxx" |
| livemode | boolean | false |
| dispute_id | string | "du_xxx" |
| event_type | string | "charge.dispute.created" |
| occurred_at | number | 1778804246 |
| payment_intent | string | "pi_xxx" |
| evidence_due_by | number | 1779504246 |
Pairs with
Drop these actions after New Dispute.
FAQ
Questions about New Dispute.
How does the New Dispute trigger work in Stripe?
Fires when a charge dispute is created in Stripe (chargeback). Critical: route to ops immediately so you can gather evidence before the response window closes.
Is the New Dispute trigger real-time?
Yes. New Dispute uses webhooks or push subscriptions, not polling. Your workflow fires within seconds of the event happening in Stripe.
What data does New Dispute return?
The full event payload from Stripe. The output shape table on this page lists every field, its type, and an example value so you can map fields into downstream nodes.
Can I filter New Dispute so only some events start a workflow?
Yes. Add a Filter node right after the trigger and match on any field, whether that's subject, sender, status, or anything else in the payload. Workflows only continue when the filter passes.
Do I need Stripe admin permissions to use New Dispute?
For most Stripe accounts a standard user can authorize the trigger. Some Stripe plans require an admin to enable third-party webhooks. Check Stripe's docs if the trigger fails to register.
More triggers
Other Stripe triggers.
Trigger
Charge Failed
Fires when a charge attempt fails in Stripe (decline, fraud, insufficient funds). Use to alert the customer, retry, or kick off dunning.
TriggerCheckout Completed
Fires when a Stripe Checkout session is completed (regardless of payment async status). Common use: provision the customer, send a receipt, or grant entitlements.
TriggerNew Customer
Fires when a new customer is created in Stripe. Use to mirror to your CRM, send a welcome email, or enrich the customer record before first charge.
TriggerInvoice Paid
Fires when an invoice is paid in Stripe. Use to recognise revenue in your accounting system, extend the subscription, or thank the customer.
TriggerInvoice Payment Failed
Fires when an invoice payment fails in Stripe. The standard hook for dunning: email the customer, retry the card, or pause access.
Build a workflow on this trigger.
One trigger. 31+ downstream actions. Zero glue.