Dunning brief when an Authorize.Net subscription payment fails

When a recurring Authorize.Net charge fails, an agent looks up the customer, files a HubSpot task, and posts a suggested next step in Slack.

Agentic Task
Authorize.NetHubSpotSlackFinanceSalesNotifications & Alerts
PromptCreate

When Authorize.Net sends a net.authorize.customer.subscription.failed webhook, I want an agent to draft a dunning follow-up brief so my team can recover the revenue. The webhook payload includes the subscription id and the failed transaction id (transId), and the workflow uses that transId as the anchor for everything else.

First, call Authorize.Net Get Transaction Details on the failed transId from the webhook to pull the customer's billing email, card last four, and declined amount. Also capture the transaction date and the response reason text so the recap explains why the charge was declined.

Then look the customer up in HubSpot with Get Contact using the billing email as the lookup key (idProperty=email). Read their lifecycle stage, account owner, and past deal value or total revenue so the agent can judge tenure and value. If no contact is found, note that in the recap and skip the association step.

Create a HubSpot task with Create Task titled something like "Recover failed payment $X, card ending Y" (substituting the declined amount and last four), associated with that contact, and assigned to the contact's account owner. Set the due date to the next business day and give it high priority when the customer is high-value.

Finally, use Slack Send a Message to post to the #dunning channel. Include a short recap: customer name and email, declined amount, card last four, decline reason, lifecycle stage, and past deal value. End with one suggested next step chosen from retry the card, send a payment update email, or make a personal call. Pick the recommendation from the customer's tenure and value: long-tenured or high-value customers lean toward a personal call, mid-tier toward a payment update email, and newer or low-value toward a card retry.

Hard rule: the agent must never retry the charge itself, and must never write anything back to Authorize.Net. It only reads the transaction, drafts the brief, and hands off the decision to a human via the HubSpot task and the Slack message.

What does this prompt do?

  • Reacts the moment a recurring subscription charge fails, so no revenue slips by while the team is heads down
  • Pulls the customer's billing email, card last four, and declined amount together with their HubSpot lifecycle stage and past deal value
  • Creates a HubSpot task for the account owner named after the customer and the amount, so the recovery never gets lost in a channel
  • Posts a short recap in your dunning channel with a suggested next move: retry the card, send a payment update email, or make a personal call

What do I need to use this?

  • An Authorize.Net merchant account with webhooks turned on
  • A HubSpot login with permission to read contacts and create tasks
  • A Slack workspace with a channel where dunning alerts should land

How can I customize it?

  • Change which Slack channel receives the recap or point it at a specific dunning team
  • Tune the rules that decide whether a customer gets a retry, a payment update email, or a personal call
  • Rename the HubSpot task template so it matches how your team titles collections work

FAQs

Does the agent retry the failed charge for me?
No. This workflow only drafts the response and posts a recommendation. The retry decision, and the actual charge, always stays with your team.
What happens if the customer isn't in HubSpot?
The Slack recap still goes out with everything Authorize.Net returned. The note simply flags that there is no HubSpot record to link the task to, so someone can add one.
Does this work for one-off card failures, or only subscriptions?
This prompt is wired to the recurring subscription failure event. A separate workflow can cover one-off failed transactions.
How does the agent choose which next step to suggest?
It weighs the customer's tenure and past deal value from HubSpot against the size of the declined amount. Long-tenured high-value customers lean toward a personal call, newer or low-value ones toward a card retry or an email nudge.
Can I route the alert to Microsoft Teams instead of Slack?
The default is Slack, but the recap step can be swapped for a Teams message without changing the rest of the workflow.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
A searchable RFP answer library your bid team drafts from

Every proposal you have ever submitted in one searchable archive, with the closest past answers lined up against each question in a new RFP.

General Input Storage
General Input Database
Mistral AI
+2
App

Stop losing revenue to silent subscription failures.

Turn every failed recurring charge into a task, a Slack ping, and a clear next step your team can act on in minutes.