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
PromptCreate

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.

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).

FAQs

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.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.

Amazon SQS
GitHub
Slack Bot
Agentic Task

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.