ExpenseBot

How do I let my team post receipts in a Slack channel and have them become ExpenseBot expenses?

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.

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

  1. 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.
  2. 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.
  3. Upload Receipt — the signed receipt pipeline returns a submission ID.
  4. Delay, then Get Receipt Processing Result with that exact submission ID. The outcome is terminal: added, duplicate, skipped, errored, or unknown.
  5. 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

Share:

Try ExpenseBot Free

AI extracts every receipt into a Google Sheet you own. Gmail scan, mileage, tax reports, profit-by-client. No credit card needed.

No credit card required · Setup in 30 seconds