Stripe events that wait for a human
React to Stripe events like failed invoices and new subscriptions, refund only after a one-click approval, create customers. Connects with a secret key.
- Category
- Payments & commerce
- Connect
- Paste an API key · managing connections
- Operations
- 4
- Triggers
- 10
Stripe tells you everything that happens to your revenue, one webhook at a time. The Stripe integration turns those events into action: a failed invoice becomes a personal email and a Slack alert, a new subscription becomes an onboarding sequence, and a refund request waits for a person to click before a cent moves. The same workflows create customers, charge through Payment Intents and issue refunds back into Stripe, and every run records the refund or intent id Stripe returned, which is the audit trail finance will ask for. Describe it in plain English and MadMax builds the graph from Stripe's own event shapes, wires your key and previews refunds and charges as the exact request rather than firing them during the build.
What teams build
- An
invoice_payment_failedevent runs an AI agent that writes a short note from the amount due and the plan, send email reachescustomer_email, Slack #billing gets a line, and amounts over your threshold open an approval for the account owner. - A refund request from a form has an agent recommend full, partial or deny from the order history, an approval in Slack shows the recommendation, and on approve
refundruns with the approved amount and the customer gets a confirmation. - A
customer_subscription_createdevent runscreate_customerin your CRM step of choice, a wait step holds for a day, and a loop walks a three-touch onboarding email sequence tracked in a store.
How it connects
Paste a secret key from Stripe (Developers, API keys). A restricted key with Payment Intents write, Customers write, Refunds write and Subscriptions read covers every operation, and a test-mode key (sk_test_…) is a sensible first connection. For events, point a Stripe webhook endpoint at the webhook step's URL and choose HMAC verification in the stripe format; MadMax checks the Stripe-Signature header before anything runs, and picking an event seeds the step with Stripe's sample so the AI knows fields like payload.body.data.object.customer_email before the first real delivery. The key is stored encrypted and never rendered back; see managing connections.
Related
Every Stripe operation MadMax can run
Straight from the integration's manifest, so this list is what the steps on the canvas can actually do today.
| Operation | What it does |
|---|---|
| create customer | Create a customer record. |
| create payment intent | Create a Payment Intent, the modern Stripe "make a charge" primitive. Returns a client-side `client_secret` if you need to confirm on the frontend; or set `confirm: true` to charge immediately when the payment method is reusable. |
| list subscriptions | List subscriptions, optionally filtered by customer or status. |
| refund | Refund a charge or payment intent. Pass `amount` for partial refunds, omit for a full refund. |
Stripe events that can start a workflow
Fires when a charge is refunded, in part or in full.
Fires when a customer completes a Stripe Checkout payment.
Fires when a new customer record is created.
Fires when an invoice's payment succeeds and it transitions to paid.
Fires when a recurring charge attempt on an invoice fails.
Fires when a Payment Intent charge attempt is declined or errors.
Fires when a Payment Intent charge completes successfully.
Fires when a subscription ends (immediately or at period end).
Fires when a customer starts a new subscription.
Fires on any subscription change (plan swap, cancel scheduled, status transition). `data.previous_attributes` carries the old values of the changed fields.
Works with
Describe the workflow. MadMax builds it and tests it on your data.
Free to start, no card. Connect your apps, say what should happen in plain English, and watch each step run against real data before anything goes live.