The moment it happens
Get an email the moment a transfer fails
You learn about a failed Brex payment straight away, with the amount and who it was going to.
- Runs
- The moment it happens
- Apps
- Brex
- AI
- Not needed
- Access
- transfers read
Send this to your assistant
Create a ClickRuntime automation: when a Brex transfer fails, email me the amount, the counterparty and the failure reason if Brex gives one.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A company that pays contractors, vendors and payroll providers through Brex transfers depends on those payments landing on time. A transfer can fail because of a wrong account number, a bank rejection or a compliance hold, and the payee, who expected money on Friday, finds out before you do. The first sign is an angry email from a supplier, long after the failure was recorded in the Brex dashboard.
When Brex reports a transfer failure, the event reaches ClickRuntime straight away. The workflow fetches the full transfer record from Brex, so the alert carries the amount, the recipient and the details of the failure, and sends it to the person or channel you choose. It runs when the event arrives, so you can contact the payee before they have to chase you.
Finance managers and founders who handle payments themselves, with no treasury team watching, will benefit most.
What you get out of it
Vendors are told before they have to ask
Reaching out first with a new payment date keeps a supplier relationship intact. A vendor who hears from you the same day is far more forgiving than one who has to chase an invoice that appeared paid.
Late-payment penalties are avoided
Many contracts charge fees or interest when payment arrives past the due date. Knowing about a failed transfer on the day it happens leaves time to fix the details and resend before a penalty applies.
Payroll problems are caught immediately
A failed transfer to a contractor or payroll provider is the sort of mistake employees notice at once. An instant alert gives finance the chance to fix it before anyone misses rent because of a typo in an account number.
Complete details speed up the repair
Because the full transfer is fetched, the alert has the amount, recipient and reason without anyone opening Brex first. Fixing the cause starts with the information already in hand. Finance then spends its time on the repair rather than on locating the details.
A clear record of payment exceptions
Each alert is a dated entry showing which payments failed and why. During a review or an audit, you can show exactly how problems were found and corrected rather than relying on recollection. That history also shows how quickly each problem was resolved.
How it works
What happens, step by step
When a Brex transfer fails, Brex tells ClickRuntime straight away.
ClickRuntime looks up the transfer to get the amount, who it was going to and the reason it failed.
You get an email with those details so you can fix the payment.
Before it runs live
- Connect Brex
- 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 Brex steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, notify
@on_event
def handle(event):
body = event.json or {}
if body.get("event_type") != "TRANSFER_FAILED":
return {"skipped": body.get("event_type")}
t = http.get(f"https://platform.brexapis.com/v1/transfers/{body['transfer_id']}",
headers={"Authorization": f"Bearer {credentials.secret('BREX_TOKEN')}"}).json()
amount = t["amount"]["amount"] / 100
notify.email_me(f"Brex transfer failed: ${amount:,.2f}",
f"Amount: ${amount:,.2f} {t['amount']['currency']}\nTo: {t.get('description') or t['counterparty'].get('type')}\n"
f"Reason: {t.get('cancellation_reason') or 'not given'}")
return {"transfer": t["id"]}FAQ
Common questions
What can make a Brex transfer fail?
Does the alert arrive in real time?
Can it notify more than one person?
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 yesterday's card spend in Slack each morning
Your finance channel starts the day with every Brex card charge from yesterday and a total, with anything over $500 marked.
See how it worksGet a weekly log of completed transfers
Every Monday you get last week's settled Brex transfers in one list, money in and money out.
See how it worksPost new orders and sign-ups to Slack
When something happens in your shop, app or form, the details land in the right channel straight away.
See how it worksKeep exploring
Set up “Get an email the moment a transfer fails” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.