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_failed event runs an AI agent that writes a short note from the amount due and the plan, send email reaches customer_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 refund runs with the approved amount and the customer gets a confirmation.
  • A customer_subscription_created event runs create_customer in 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

Charge refunded

Fires when a charge is refunded, in part or in full.

Checkout session completed

Fires when a customer completes a Stripe Checkout payment.

Customer created

Fires when a new customer record is created.

Invoice paid

Fires when an invoice's payment succeeds and it transitions to paid.

Invoice payment failed

Fires when a recurring charge attempt on an invoice fails.

Payment failed

Fires when a Payment Intent charge attempt is declined or errors.

Payment succeeded

Fires when a Payment Intent charge completes successfully.

Subscription canceled

Fires when a subscription ends (immediately or at period end).

Subscription created

Fires when a customer starts a new subscription.

Subscription updated

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.