Skip to content

The moment it happens

Hear in Slack when a Braintree payout fails

A failed disbursement is posted to Slack with Braintree's exception message and the follow-up it asks for.

Runs
The moment it happens
Apps
Braintree
AI
Not needed
Access
webhook + API key

Send this to your assistant

Create a ClickRuntime automation: if a Braintree disbursement to our bank fails, post the exception message and the follow-up action to #finance in Slack.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Braintree pays out the money you earn to your bank account through disbursements. Sometimes one fails: the bank account details are out of date, the account was closed, or the bank rejected the transfer. The money does not arrive and Braintree records the failure, but unless someone logs in to look, nothing tells you. A business waiting on a payout to cover payroll can find out only when the bank balance runs short.

When Braintree sends a disbursement exception webhook, ClickRuntime parses the notification and posts the exception_message and the follow_up_action to your channel straight away. The message says what went wrong and what Braintree recommends doing about it, so the person on call can act on it immediately.

Finance and operations teams who rely on regular payouts for cash flow will want to hear about a failure the same day.

What you get out of it

  • Cash flow surprises come earlier

    Finding out on the day a payout fails gives time to arrange short-term cover. Learning about it a week later means missed bills and awkward conversations. Even a day of notice can mean choosing to delay an expense instead of bouncing a payment.

  • The fix is in the message

    Because follow_up_action is included, the person reading knows what Braintree expects, such as updating bank details. They do not have to hunt through the control panel for the instructions.

  • Bank detail errors are corrected quickly

    Many failures come from outdated account information. Fixing it promptly means the next disbursement goes through and the held money is released sooner. Held funds stay held until someone acts, so speed matters.

  • Money held up is tracked

    Each exception is posted with its details, so a held payout cannot be forgotten. A channel history shows which failures were resolved and which are still open. Open items stay visible instead of fading into the background.

  • Peace of mind for owners

    Knowing that a failed payout would be announced makes it easier to stop checking Braintree manually. Attention goes to the business instead of to the control panel. The business keeps moving without an owner nervously refreshing a payout page every week.

How it works

What happens, step by step

  1. When a Braintree payout to your bank fails, Braintree tells ClickRuntime straight away.

  2. ClickRuntime reads the amount, the date, what went wrong and what Braintree says to do next.

  3. A message goes to your #finance Slack channel with those details, so the problem can be fixed quickly.

Before it runs live

  • Connect Braintree
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Hear in Slack when a Braintree payout failsjust nowSucceeded
Slack · #finance🚨 Braintree disbursement of 4,120.55 failed (2026-10-18) Problem: bank_rejected · Next step: update_funding_information

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Braintree steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
disbursement_exception_alert.pyexample
from clickruntime import on_event, credentials, notify
import braintree
from urllib.parse import parse_qs

def gateway():
    return braintree.BraintreeGateway(braintree.Configuration(
        braintree.Environment.Production, merchant_id=credentials.secret("BRAINTREE_MERCHANT_ID"),
        public_key=credentials.secret("BRAINTREE_PUBLIC_KEY"), private_key=credentials.secret("BRAINTREE_PRIVATE_KEY")))

def parse(event):
    form = parse_qs(event.body)
    return gateway().webhook_notification.parse(form["bt_signature"][0], form["bt_payload"][0])

@on_event
def handle(event):
    n = parse(event)
    if n.kind != braintree.WebhookNotification.Kind.DisbursementException:
        return {"posted": False}
    d = n.disbursement
    notify.slack(f"🚨 Braintree disbursement of {d.amount} failed ({d.disbursement_date})\n"
                 f"Problem: {d.exception_message}\nNext step: {d.follow_up_action}", channel="#finance")
    return {"disbursement": d.id}

FAQ

Common questions

What information does the alert contain?
It includes the exception_message, which describes why the disbursement failed, and the follow_up_action, which states what Braintree suggests you do. The post can also include the disbursement details Braintree sends with the event, depending on what the webhook includes.
How fast does the alert arrive?
It is triggered by Braintree's disbursement exception webhook, so it arrives when Braintree sends it. There is no polling delay on the ClickRuntime side. How soon after the bank rejection Braintree sends the notification is up to Braintree.
Where do I configure the webhook in Braintree?
In the Braintree control panel, under the webhooks section of the API settings, you add a destination URL and select the disbursement exception notification. Admin access is needed. ClickRuntime provides the address to use, and the signature is checked.
What permissions does it need?
webhook + API key. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Hear in Slack when a Braintree payout fails” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.