Log daily Mercury balances and alert when cash runs low
Every weekday morning, every account balance is logged to a spreadsheet, and you only hear about it in Slack when one drops below the limit you set.
Every weekday at 8am, log my cash position across all of my Mercury accounts and warn me only when an account is running low. Use a cron trigger running Monday through Friday. Do not use a poll trigger: Mercury does not offer one, so a schedule plus a balance read inside the workflow is the correct pattern. Build this as a deterministic node workflow rather than an agent, because every step is known in advance and there is nothing to reason about.
Start with the Mercury List Accounts operation to read every account on the organization. Balances live directly on each account object as availableBalance and currentBalance, so there is no separate balance endpoint to call. Mercury returns monetary amounts as whole dollars in decimal form, where 12.50 means twelve dollars and fifty cents, so do not divide by one hundred and do not treat these values as cents.
Append one row per account to a Google Sheets history tab using the Append Values operation. Each row should capture the run date, the account name, the available balance, and the current balance. Append rows for every account on every run, whether or not any threshold was breached, because the whole point of the tab is a complete daily balance history I can chart later.
Expose a low balance threshold as a configuration input on the workflow, entered as a plain dollar figure, and apply it to every account. Compare each account's availableBalance against that threshold, not currentBalance. availableBalance is the spendable number and the two diverge whenever there is pending activity, so the low balance check has to use the available figure. An account breaches when its availableBalance is below the threshold.
If one or more accounts breach the threshold, send a single Slack message with the Send a Message operation to my chosen channel. List only the accounts that actually breached, and for each one give the account name, its current available balance, and how far below the threshold it is, so the shortfall is explicit and I know how much needs to move. Do not include healthy accounts in the message.
If every account is at or above the threshold, skip the Slack step entirely and end the run once the spreadsheet rows are appended. Do not send an all clear or a nothing to report message on those days. The alert is only useful if it stays silent when there is nothing wrong.
A Mercury Read Only token is sufficient for this workflow, since it only reads accounts and never moves money. That also avoids the IP allowlist requirement Mercury applies to Read and Write tokens, which makes setup considerably simpler.
What does this prompt do?
- Checks every one of your business bank accounts each weekday morning and records exactly where the cash is sitting.
- Adds one row per account to a spreadsheet with the date, account name, available balance, and current balance, so you build a daily history you can chart over time.
- Sends a Slack message only when an account falls under the limit you set, naming the account, what is actually available, and how far short it is.
- Stays completely silent on days when every account is healthy, so a message from it always means something needs your attention.
What do I need to use this?
- A Mercury business banking account. View only access is enough, since this workflow only reads balances and never moves money, and it keeps setup much simpler.
- A Google Sheets spreadsheet with a tab set aside for the daily balance history.
- A Slack workspace, and the channel where low balance warnings should land.
- The dollar figure you want to treat as too low, which you choose when you set the workflow up.
How can I customize it?
- Set the low balance figure. This is the main dial: pick the dollar amount below which an account should raise a flag, and adjust it as payroll or vendor payments grow.
- Change when it runs. Weekday mornings at 8am suits most teams, but you can run it daily including weekends, or more than once a day if cash is tight.
- Point the alert at a different channel, or send it as a private message if account balances are not for the whole team to see.
FAQs
Which balance does it use to decide an account is low?
Will it message me every single day?
Does this move any money out of my account?
Can it watch more than one account?
Can it alert me the instant a balance drops instead of the next morning?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.
Never get blindsided by a low account balance again.
Set it up once and you get a daily record of every balance, plus a Slack warning the moment an account drops under your limit.