ExpenseBot

How do I build an automation that turns Gmail receipt attachments into ExpenseBot expenses?

This is a builder recipe: a Gmail message with a receipt attached arrives, the automation platform hands the raw file to ExpenseBot, and you get back the exact processing outcome rather than a guess.

This is a builder recipe: a Gmail message with a receipt attached arrives, the automation platform hands the raw file to ExpenseBot, and you get back the exact processing outcome rather than a guess.

The workflow shape

  1. Trigger — your platform's Gmail trigger, watching a label, a search query, or new attachments. Scope it narrowly (a receipts label beats "all mail").
  2. Get the raw file — pass the actual attachment object or a downloadable file URL. A preview or share page is not a file and will not process. Keep the filename with its extension and the true MIME type.
  3. Upload Receipt — ExpenseBot's signed receipt pipeline accepts images and PDFs. The step returns a submission ID.
  4. Delay — receipt extraction is not instant. Give it a short wait before asking for the result.
  5. Get Receipt Processing Result — pass back the exact submission ID from step 3. The result is a terminal state, not a progress bar: added, duplicate, skipped, errored, or unknown.
  6. Route on the result — a path or filter per outcome. See success notification and Action Needed routing for the two branches.

Why the delay-then-poll shape

Uploading and reading are separate steps on purpose. The upload returns immediately so your scenario does not sit blocking on extraction; the result step tells you what actually happened to that specific file. Writes are retry-safe — replaying the same action creates exactly one spreadsheet row, verified in live QA — so a re-run after a platform timeout does not duplicate the expense.

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

This recipe reads attachments that your automation platform is authorized to see. It is not the same thing as ExpenseBot's own Gmail receipt scan, which is separately authorized, user-triggered, and reports a terminal status of its own. Changes preview and ask before anything is saved; do not design a scenario that assumes unattended, unconfirmed writes.

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