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.
Drop it on the canvas. Configure a couple of fields. Publish.
You 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"}
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" |
One trigger. 31+ downstream actions. Zero glue.