Stripe, Klaviyo and Slack: Failed-Payment Recovery Template
When a Stripe payment fails, this Spojit template adds the customer to a Klaviyo dunning flow and alerts your billing team in Slack with the amount and reason.
What It Builds
A Webhook trigger receives Stripe's failed-payment event, a Connector node on the stripe connector looks up the customer, a Connector node on the klaviyo connector adds that profile to your dunning list, and a final Connector node on the slack connector posts an alert to your billing channel. The result is faster recovery on involuntary churn: the customer gets re-engaged automatically and a human sees the failure in real time.
The Prompt
Paste this into Miraxa, the intelligent layer across your automation, and it builds the workflow, connecting the tools for you:
Build a workflow that triggers on a Stripe webhook for a failed payment. Look up the customer in Stripe by their ID, then add that customer's profile to my Klaviyo "Dunning" list so they enter our payment-recovery flow. Finally send a message to the #billing channel in Slack with the customer's name and email, the amount that failed, the currency, and the failure reason.
Connectors Used
- Webhook trigger (Stripe) - receives the failed-payment event from Stripe; verify it with a signing connection using the Stripe scheme.
- stripe - retrieves the customer record (name and email) behind the failed charge.
- klaviyo - adds the customer's profile to your dunning list so they enter the recovery flow.
- slack - posts the alert to your billing channel with the amount and reason.
Customize It
Swap #billing for your own channel, rename the Dunning Klaviyo list, and adjust which fields appear in the Slack message (you can add the invoice number or the next retry date). If you only want to alert on amounts over a threshold, ask Miraxa to add a Condition node that checks {{ charge.amount }} before the Klaviyo and Slack steps.
Tips
- Use Direct mode on each Connector node here: the calls are predictable single-tool actions (fetch customer, add to list, send message), so you avoid AI credit usage.
- Confirm the Klaviyo list exists first and copy its exact name, so the add-to-list step targets the right dunning audience.
- Stripe sends amounts in the smallest currency unit (for example cents), so format the value with a Transform node if you want a clean figure in Slack.