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.
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
When a Braintree payout to your bank fails, Braintree tells ClickRuntime straight away.
ClickRuntime reads the amount, the date, what went wrong and what Braintree says to do next.
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
Build your own
Need it to work differently?
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
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?
How fast does the alert arrive?
Where do I configure the webhook in Braintree?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get emailed when a Braintree dispute opens
Each new chargeback triggers an email with the amount, reason and reply-by date.
See how it worksPost failed Braintree renewals to Slack
When a subscription renewal charge fails, Slack shows the subscription ID, plan and amount.
See how it worksGet yesterday's settled Braintree volume each morning
A morning email lists the transactions that settled the previous day and their total.
See how it worksKeep exploring
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.