Chase missing Brex receipts with one friendly Slack DM
Every weekday, each person gets one private nudge listing only their own undocumented card spend, plus an aging report for finance.
Every weekday at 4pm, chase employees for missing documentation on our Brex corporate card spend. Use a cron trigger on weekdays only.
Make these configurable at the top of the workflow: the minimum expense amount to chase (default $75), how far back to look (default 60 days), the escalation age (default 14 days), the Google Sheets spreadsheet ID and tab name for the compliance tracker, and the Slack channel for the finance rollup.
Step 1. Use the Brex "List expenses" operation to pull card expenses from the lookback window, paginating with the returned next_cursor until there are no more pages. Treat an expense as undocumented when it has no receipt attached, or its memo is empty or whitespace only. Ignore anything below the minimum amount. Brex returns money as integer minor units plus a currency code, so 7500 USD means $75.00. Convert before comparing to the threshold and before displaying amounts. The Brex connection must be an admin or bookkeeper, because regular users only see their own expenses. If the results look like they cover only one person, say so in the finance rollup rather than assuming the company is clean.
Step 2. Use the Brex "List users" operation to resolve each flagged expense to a cardholder name and work email. Group the flagged expenses by employee so each person is handled exactly once per run.
Step 3. Before messaging anyone, use the Google Sheets "Get Values" operation to read the existing tracker rows. Match on the Brex expense ID to find the date each item was first seen, and use that to compute how many days it has been outstanding. Items that are new to the tracker start at day zero today.
Step 4. Direct message each employee. For each person, use the Slack "Look Up User by Email" operation with their Brex work email, then "Open a Conversation" to get the DM channel ID, then "Send a Message" to that channel. The message should be short and friendly, not accusatory: a one line greeting, then a bullet per outstanding expense showing the merchant, the amount, the transaction date, and exactly what is missing (receipt, memo, or both). Flag anything already past the escalation age so the person knows it is urgent. Critically, each DM must contain only that person's own expenses. Never include another employee's name, merchant, or amount in someone else's message. If the email lookup finds no Slack account, skip the DM and record the person as unreachable for the rollup.
Step 5. Use the Google Sheets "Append Values" operation to append one row per outstanding item to the compliance tracker, every run, so finance keeps an aging record across days. Include: date logged, employee name, employee email, merchant, amount, expense date, what is missing, Brex expense ID, days outstanding, and whether a DM was delivered. Appending on every run is intentional, since it is what makes the day over day aging visible.
Step 6. Use the Slack "Send a Message" operation to post a single rollup to the finance channel. Include the total number of outstanding items and their combined dollar value, how many employees were nudged, and a clearly separated escalation section naming anything outstanding for more than the escalation age, grouped by employee and sorted oldest first. Also list anyone who could not be reached on Slack. The rollup may name employees because it goes to finance, but it should stay factual and brief. If nothing is outstanding, post a short all clear instead of skipping the message, so finance knows the check actually ran.
Additional information
What does this prompt do?
- Checks recent Brex card spend every weekday afternoon for charges with no receipt attached or a blank memo, skipping anything under your minimum amount.
- Sends each person a single private Slack message listing only their own missing items, with the merchant, amount, and date for each one.
- Logs every outstanding charge to a Google Sheets tracker so finance keeps a running record of how long each item has been sitting.
- Posts one rollup to your finance channel that highlights anything still undocumented after 14 days.
What do I need to use this?
- A Brex account connected with admin or bookkeeper access, so the workflow can see company-wide card spend instead of just one person's.
- A Slack workspace where the assistant can send direct messages and post to your finance channel.
- A Google Sheets spreadsheet to act as the compliance tracker.
- Work emails that broadly match between Brex and Slack, so each reminder reaches the right person.
How can I customize it?
- Change the timing or the minimum amount, set to $75 by default, so you only chase spend that is worth chasing.
- Adjust the escalation window, set to 14 days by default, and choose which Slack channel receives the finance rollup.
- Reword the reminder message to match your team's tone, or add your own policy note and a link to your receipt upload instructions.
FAQs
How is this different from the receipt reminders Brex already sends?
Can employees see each other's spending?
What counts as missing documentation?
Do I need admin access to Brex for this to work?
What happens if someone's Brex email does not match their Slack account?
Related templates
Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.
Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.
Every hour, find the tickets closest to breaching, leave a nudge on each one, and post a ranked at-risk list to your support channel.
Every weekday afternoon, each student who is behind gets a warm, personal message in their Canvas inbox listing exactly what they owe.
Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.
Every weekday morning we compare your password vault against your HR records and suspend access for anyone who has already left.
Stop chasing receipts one message at a time.
One friendly nudge per person each afternoon, and an aging report finance can actually act on.