Recover failed Stripe payments with WhatsApp via Heyy

When a Stripe payment fails, add the customer to Heyy with the right recovery label so WhatsApp does the dunning, and ping revenue ops in Slack.

Agentic Task
StripeHeyySlackFinanceOperationsNotifications & AlertsData Sync
PromptCreate

Build an agent workflow that turns failed Stripe payments into a labeled WhatsApp recovery flow in Heyy and a structured alert in Slack #revenue-ops. The label-routing judgement is the reason this is an agent, not a code workflow.

Trigger: incoming webhook from Stripe on the invoice.payment_failed event. The agent should also handle charge.failed payloads sent to the same webhook if I forward them.

When the webhook fires, the agent should:

1. Use Stripe Retrieve Customer with the customer id from the event payload to get the customer's name, email, and phone.

2. Use Stripe Retrieve Invoice with the invoice id from the event payload to get the invoice amount due and the attempt count. Skip this step gracefully if the event is a charge.failed without an invoice attached.

3. Decide a recovery label using this judgement: if invoice amount_due is at or above a high-value threshold (default 50000 cents, i.e. $500, expose as a config knob), use payment-failed-high-value. Otherwise, if attempt_count is 1, use payment-failed-soft. If attempt_count is 2 or more, use payment-failed-urgent. The label names should be configurable so I can match the labels I've already set up in Heyy.

4. Use Heyy Create Contact with the customer's phone number (required) and email, attaching the chosen label so my existing Heyy WhatsApp automations pick them up. If the customer has no phone on file in Stripe, skip the Heyy step and note that in the Slack alert.

5. Use Slack Send a Message to post to #revenue-ops with a structured summary: customer name and email, invoice amount in dollars, attempt count, the Heyy label that was applied (or a note that no Heyy contact was created because phone was missing), and a link back to the customer in the Stripe dashboard. Format it as a single readable message so the team can scan and decide whether to escalate.

Configuration knobs to expose: the high-value threshold in cents, the three label names (soft, urgent, high-value), and the Slack channel name.

Error handling: if Stripe Retrieve Customer or Retrieve Invoice fails, still post a degraded Slack alert with whatever information is available from the raw webhook payload so revenue ops is never blind to a failure.

What does this prompt do?

  • Listens for failed payments in Stripe and reacts the moment a charge or invoice fails.
  • Pulls the customer's name, email, and phone from Stripe so the recovery message has the right contact details.
  • Picks a recovery label based on attempt count and invoice size, so first-time misses get a gentle nudge and repeat or high-value failures get the urgent treatment.
  • Adds the customer to Heyy with that label, which kicks off the matching WhatsApp recovery sequence you've already built.
  • Posts a clean summary to your revenue ops Slack channel with the amount, attempt count, customer email, and the label that was applied.

What do I need to use this?

  • A Stripe account with permission to receive failed payment events.
  • A Heyy workspace with WhatsApp set up and recovery labels configured (for example soft, urgent, and high-value).
  • A Slack workspace and the channel where revenue ops should be alerted.

How can I customize it?

  • Change the high-value threshold so larger invoices route to your urgent label instead of the soft one.
  • Rename the labels to match the ones you already use inside Heyy to drive automations.
  • Point the Slack alert at a different channel, or tag specific teammates when the failure is high-value.

FAQs

Why use WhatsApp instead of email for payment recovery?
WhatsApp open rates run around 95 percent, compared to 5 to 12 percent for email dunning. For failed payments, getting the customer to actually see the message is the whole game, and WhatsApp gets read.
Does this send the WhatsApp message itself?
No. This workflow adds the customer to Heyy with the right label. Your existing Heyy automation watches for that label and runs the recovery sequence, so you stay in control of the message content and timing.
What decides which label gets applied?
The agent looks at the attempt count and the invoice amount. First attempt gets a soft label, second or later attempts get an urgent label, and any invoice over your threshold gets a high-value label regardless of attempt count.
Can I send the Slack alert to a private channel?
Yes. You can point the alert at any channel the connected Slack user can post in, public or private.
What happens if the customer is already in Heyy?
The agent will still apply the recovery label so your automation can pick them up. You won't end up with duplicate WhatsApp blasts, because the label drives the sequence, not the contact creation.

Related templates

Rank your Intercom queue by what each customer pays you

See every open conversation next to that customer's plan, monthly value and unpaid invoices, so the expensive account never sits waiting all morning.

Intercom
Stripe
App
Partner tier review board for quarterly promotion calls

Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.

Introw
HubSpot
Slack
App
Reconcile partner commissions between HubSpot and Introw

Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.

Introw
HubSpot
Slack
App
Catch the trials quietly dying before the card gets charged

Open one desk each morning to see every account still in a trial, ranked by how much money is at stake against how little they have actually used.

Intercom
Stripe
General Input Database
App
One control room for every Instantly sending mailbox

See warmup status, daily send volume, and bounce risk for every sending account in one grid, with the riskiest mailboxes floating to the top.

Instantly
Slack
App
Partner payout approval queue with Xero bill handoff

Review Introw partner payouts line by line, approve them from one board, raise the matching bill in Xero, and post every approval to Slack.

Introw
Xero
Slack
App

Stop losing revenue to silent failed payments.

Connect Stripe, Heyy, and Slack once, and every failed payment turns into a labeled WhatsApp recovery and a heads-up for revenue ops.