Skip to content

Failed Payment Follow-up

A failed invoice stops being a silent number on a dashboard and becomes a tracked case your team can act on. When Stripe reports a payment failure, a ModuleX agent pulls the details, re-sends the invoice, and posts the case to Slack.

Uses
  • Stripe
  • Slack

6 steps2 integrationsRuns on payment failure

A dashboard does not chase money. What failed-payment follow-up looks like when it depends on somebody remembering.

  • 01Stripe records the failure, but a number on a dashboard does not chase itself.
  • 02Finance exports failed invoices and pings people by hand when someone remembers to look.
  • 03Without a nudge the customer never notices, and a recoverable lapse becomes a cancellation.
failed-payment-follow-up · c4e77d10succeeded · 7s
  • Catch failurecard_declined · Team annual
  • Re-send invoicesent to the payer
  • Open case#ar-review
what a run leaves behind

One workflow, six steps. ModuleX drafts this graph from a single sentence, and every step stays editable.

  1. 01Watch for invoice.payment_failedStripe
  2. 02Pull the invoice, customer, and planStripe
  3. 03Draft the case summaryModuleX
  4. 04Re-send the invoice to the payerStripe
  5. 05Post the case to #ar-reviewSlack
  6. 06Reply in-thread when it is paidSlack

The workflow is an editable graph. Watching events and pulling details run freely; re-sending the invoice and the Slack post wait for your opt-in approval until you loosen them. The graph is the receipt.

Failed payments, chased. Paste this into ModuleX chat, or hit Use this workflow. It drafts the graph, connects your accounts, and schedules it.

When a Stripe invoice payment fails, look up the customer, amount, and plan, re-send the invoice, and post the case to #ar-review in Slack. When the invoice is paid, reply in the same thread to close it out.

to: composer
Copy the promptUse this workflow

Or skip the workflow entirely. Ask the assistant in chat and it runs the same job agentically: it picks the right actions, chains them, and reports back. The composer is for when you want it repeatable.

assistant · chatlive

A Stripe invoice payment just failed. Pull the invoice, customer, and plan, re-send the invoice, and post the case to #ar-review in Slack.

  • stripe · retrieve_invoice · + customer
  • stripe · send_invoice · re-sent
  • slack · post_message · #ar-review

Case opened. Team annual plan, card_declined at renewal; the invoice is back in the payer’s inbox with a payment link, and #ar-review has the case thread with the amount and the decline reason.

Reply…gpt-5.5

Where this fits. The tools it runs on, and the teams that run it.

About this use case.

  • Stripe’s invoice.payment_failed event. The agent watches for it by reading recent activity with list_events, so a failed charge starts the flow on its own.