Turn failed Stripe payments into Pipedrive follow-up activities

When a Stripe invoice payment fails, find the customer's Pipedrive deal, create a dated follow-up for the owner, and post the situation in Slack to recover revenue fast.

Agentic Task
StripePipedriveSlack BotSalesFinanceNotifications & AlertsData Sync

Build an agent workflow that activates whenever Stripe sends an invoice.payment_failed webhook. The goal is to react inside Pipedrive so the deal owner can recover the customer fast.

When the webhook fires, the agent should:

1. Pull the failing customer's email, the invoice amount, and the failure reason from the Stripe webhook payload.

2. Use Pipedrive's Search Persons to find the matching contact by that email.

3. Use Pipedrive's List Deals filtered by that person to find the relevant deal. Prefer the most recently won deal, and otherwise fall back to the most recently updated open deal.

4. Use Stripe's List Invoices and List Charges for that customer to decide whether this is the customer's first failed payment or part of a repeated pattern (for example, more than one failure in the last 30 days).

5. Use Pipedrive's Create Activity on the deal with the subject 'Follow up on failed payment', a due date one business day out, and a description that includes the invoice amount, the failure reason from Stripe, and a clear note about whether this is a first failure or a repeated failure.

6. Use Slack Bot's Send a Message to post a summary in a billing or customer success channel. The summary should name the customer, the failed amount, the failure reason, the history flag (first vs repeated), a link to the Pipedrive deal, and a mention of the deal owner so they can intervene.

If the agent can't find a matching person or open deal in Pipedrive, it should still post the Slack alert with the failure details and clearly call out that no matching Pipedrive contact or deal was found, so the team can handle it manually.

Additional information

What does this prompt do?
  • Listens for failed Stripe invoice payments and looks up the matching customer in your Pipedrive contacts.
  • Finds the right deal for that contact and creates a follow-up activity on it, dated one business day out.
  • Checks Stripe history to decide whether this is a first-time failure or a repeated pattern, then notes that on the activity.
  • Posts a Slack summary to a billing or customer success channel, tagging the deal owner so they can step in before the customer churns.
What do I need to use this?
  • A Stripe account where you can send webhooks for failed invoice payments.
  • A Pipedrive workspace where you manage your deals, contacts, and activities.
  • A Slack workspace with a channel for billing or customer success alerts.
How can I customize it?
  • Change the follow-up due date. One business day is the default, but you can shorten it for high-value accounts or stretch it for low-priority ones.
  • Pick which Slack channel gets the alert, or route different segments to different channels.
  • Tune the rule for what counts as a repeated failure (for example, two failures in 30 days versus three in 90 days).

Frequently asked questions

Will this catch every kind of failed payment in Stripe?
Out of the box it reacts to the invoice payment failed event, which covers subscription and invoice billing. You can also have it listen for one-off charge failures if you bill that way.
What happens if the customer isn't in Pipedrive yet?
The workflow still posts a Slack alert with all the failure details and flags that no matching contact was found, so your team can create the contact and follow up manually.
How does the workflow know whether this is a first or repeated failure?
It looks back at the customer's recent Stripe invoices and charges, counts prior failures, and adds that context to the Pipedrive activity description and the Slack message.
Can the Slack alert go to a private channel?
Yes. Invite the bot into the private channel during setup and pick it as the destination.
Who gets tagged on the Slack message?
By default the agent uses the deal owner from Pipedrive. You can change it to always tag a billing lead, or have it copy both.

Stop losing revenue to silent payment failures.

Connect Stripe, Pipedrive, and Slack once, and Geni catches every failed invoice and routes it to the right owner with the right context.