Teams already live in Slack, so a #receipts channel is the lowest-friction
intake you can offer. This recipe watches that channel and replies with what
actually happened to each file.
The workflow shape
- Trigger — your platform's "new file in channel" trigger on one dedicated channel. A general channel will pick up screenshots and memes; a dedicated one will not.
- Fetch the file content — Slack file links are authenticated URLs, not public ones. Use your platform's Slack "download file" step so ExpenseBot receives the actual bytes, keeping the filename with extension and the true MIME type.
- Upload Receipt — the signed receipt pipeline returns a submission ID.
- Delay, then Get Receipt Processing Result with that exact submission
ID. The outcome is terminal:
added,duplicate,skipped,errored, orunknown. - Reply in thread — post a short status back on the original message so the person who dropped the receipt sees the result where they posted it. Threading the reply keeps the channel readable.
Write the reply for a human, not a log
added means the expense is in the sheet. duplicate means it was already
captured — reassuring, not a failure. Anything else means a person needs to look,
so link
Review expenses
rather than pasting a raw status string. Full branch:
Action Needed routing.
The division of labour
ExpenseBot supplies structured expense data and Gmail receipt capture to Make workflows — extraction, duplicate detection, review, and the spreadsheet record. Make handles external triggers, routing, reminders, and notifications.
The boundary
The Slack connection belongs to your automation platform, not to ExpenseBot — ExpenseBot never reads your Slack. Authentication to ExpenseBot uses a revocable AI Assistant Token held in your platform's credential vault; revoke it to end access. Changes preview and ask before anything is saved, so treat this as an intake conveyor rather than an unattended bulk writer.
Where to build it
- Choose the right connection for your AI
- Connect ExpenseBot to Zapier's MCP Client — beta, usable today
- Does ExpenseBot work with Make.com? — native app submitted and in review
- Assign what arrives: client, project, and trip expense entry
