Recover failed subscription payments automatically with Stripe, Postmark, and AI.
This workflow listens for Stripe invoice.payment_failed
webhooks, checks that the event is related to an auto-charged subscription, and then automatically sends a personalized email (generated with AI) to the customer. The email is polite, branded, but also urgent — encouraging the customer to pay quickly and avoid service cancellation.
📣 Webhook
Listens for Stripe webhook events. Make sure to connect it in your Stripe dashboard (see setup below).
🧹 Filter (Guard)
Ensures the event is indeed an invoice event and filters out unrelated webhooks.
💡 Code Node
Extracts useful fields (firstName, lastName, customer email, amount, currency, invoice number, hosted invoice URL, subscription description, account name).
✅ If Node
Verifies that:
invoice.payment_failed
subscription_cycle
charge_automatically
👉 This ensures only recurring subscription invoices with auto-payment are processed.
🤖 AI Agent + OpenAI
Generates a ready-to-send email JSON (to, subject, HTML body) using the extracted Stripe data.
✍️ You can customize the prompt here to match your brand’s tone of voice and style.
🧩 Code Parser
Parses the AI model’s JSON output into fields (to_email
, email_subject
, email_body
).
📧 HTTP Request (Postmark)
Sends the email using Postmark’s API.
You’ll need your own Postmark Server Token, From address, and Message Stream.
invoice.payment_failed
.👉 Example docs: Stripe: Listen to events with webhooks.
"outbound"
(or any custom stream you set up).Docs: Postmark API overview.
invoice_amount > 0
).Whenever a customer’s subscription payment fails, this workflow:
Result: Fewer cancellations, higher recovered revenue, and a smoother customer experience. 💸💌