- Integrations
- /
- Stripe
- /
- Triggers
- /
- Invoice Paid
TriggerStripeReal-timeUpdated May 2026
How do I trigger when a Stripe invoice is paid?
Short answer: Drop the "Stripe → Invoice Paid" 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
Invoice Paid
When the matching event happens
on invoice paidnew invoice paidwhen an invoice is paid in stripewatch for invoice paidwhen invoice paid
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.
{"number": "TC-001","status": "paid","created": 1778804246,"currency": "usd","customer": "cus_xxx","event_id": "evt_xxx","livemode": false,"amount_due": 500,"event_type": "invoice.paid","invoice_id": "in_xxx","amount_paid": 500,"invoice_pdf": "https://pay.stripe.com/xxx.pdf","occurred_at": 1778804246,"subscription": "sub_xxx","customer_email": "tc@example.com","hosted_invoice_url": "https://invoice.stripe.com/xxx"}
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 |
|---|---|---|
| number | string | "TC-001" |
| status | string | "paid" |
| created | number | 1778804246 |
| currency | string | "usd" |
| customer | string | "cus_xxx" |
| event_id | string | "evt_xxx" |
| livemode | boolean | false |
| amount_due | number | 500 |
| event_type | string | "invoice.paid" |
| invoice_id | string | "in_xxx" |
| amount_paid | number | 500 |
| invoice_pdf | string | "https://pay.stripe.com/xxx.pdf" |
| occurred_at | number | 1778804246 |
| subscription | string | "sub_xxx" |
| customer_email | string | "tc@example.com" |
| hosted_invoice_url | string | "https://invoice.stripe.com/xxx" |
Pairs with
Drop these actions after Invoice Paid.
FAQ
Questions about Invoice Paid.
How does the Invoice Paid trigger work in Stripe?
Fires when an invoice is paid in Stripe. Use to recognise revenue in your accounting system, extend the subscription, or thank the customer.
Is the Invoice Paid trigger real-time?
Yes. Invoice Paid uses webhooks or push subscriptions, not polling. Your workflow fires within seconds of the event happening in Stripe.
What data does Invoice Paid 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 Invoice Paid 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 Invoice Paid?
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.
TriggerNew Dispute
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.
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.