Skip to content

bearify

bearify
Home
Use Cases

Failed Payment Follow-Up

stripe logo

stripe

hubspot logo

hubspot

mailchimp logo

mailchimp

slack logo

slack

Automatically detect failed Stripe payments, update HubSpot and Mailchimp, and notify the account owner in Slack to ensure no revenue is lost.

TL;DR

This runbook tracks failed Stripe payments and ensures follow-up by updating your CRM, tagging the user in Mailchimp, and alerting the account owner in Slack.

Who is this for?

Finance and revenue operations teams who want to reduce churn risk and recover failed payments quickly.

What problem does this solve?

Without proactive follow-up, failed payments often go unnoticed — causing revenue loss and customer churn. This automation enables fast response and visibility.

Solves:

  • Missed payment failures
  • Manual CRM and campaign updates
  • Lack of visibility into at-risk customers

What this workflow accomplishes

  • Listens for failed payment intents in Stripe
  • Finds and updates the associated contact in HubSpot
  • Tags the customer in Mailchimp as payment_failed
  • Notifies the account owner or finance team in Slack

Integrations

This runbook uses the following integrations:

  • Stripe logoStripe Agent: Detects failed payments
  • HubSpot logoHubSpot Agent: Updates contact properties (e.g. payment status)
  • Mailchimp logoMailchimp Agent: Tags the user for re-engagement
  • Slack logoSlack Agent: Notifies the account owner or finance

Setup

  • Stripe:

    • Webhook for payment_intent.payment_failed
    • Stripe logoStripe Agent installed
  • HubSpot:

    • crm.objects.contacts.read/write scope
    • Contact lookup by email
    • HubSpot logoHubSpot Agent installed
  • Mailchimp:

    • Contact list and API key with tagging enabled
    • Mailchimp logoMailchimp Agent installed
  • Slack:

    • chat:write and users:read scopes
    • Slack logoSlack Agent installed

Runbook Template

📚 runbook.mdx
Runbook

Objective: Follow up on failed payments by updating CRM and campaigns, and notifying the account team.

Steps:

(1) Use the Stripe logoStripe Agent webhook trigger for payment_intent.payment_failed.

  • Extract: email, amount, customer_id, payment_intent, failure_message

(2) Use the HubSpot logoHubSpot Agent with hubspot-search-objects.

  • objectType: contacts
  • Filter by email
  • Retrieve ownerId, firstname, lastname

(3) Use the HubSpot logoHubSpot Agent with hubspot-batch-update-objects.

  • objectType: contacts
  • inputs:
    • id: contact ID
    • properties: { payment_status: 'failed' }

(4) Use the Mailchimp logoMailchimp Agent with lists_update_list_member.

  • listId: YOUR_LIST_ID
  • email_address: email
  • tags: ["payment_failed"]

(5) Use the Slack logoSlack Agent with slack_post_message to #finance or the contact's account owner:

❌ Payment Failure Alert

Customer: {{firstname}} {{lastname}}

Email: {{email}}

Amount: ${{amount / 100}}

Reason: {{failure_message}}

  • HubSpot status updated
  • Mailchimp tag applied
  • Please follow up ASAP

Alexis Warner

Marketing

Jul 21, 2025

5 min read

Categories

    finance

    sales

    churn

    automation

    stripe

    hubspot

    mailchimp

    slack

About this post

Alexis Warner

Marketing

Last updated: Jul 21, 2025

5 min read

Agents Used

Stripe logoStripe AgentHubSpot logoHubSpot AgentMailchimp logoMailchimp AgentSlack logoSlack Agent

Categories

    finance

    sales

    churn

    automation

    stripe

    hubspot

    mailchimp

    slack

Follow us

Product

IntegrationsUse Cases

2025 © Bearify All Rights Reserved

Terms of ServicePrivacy Policy