Automation library · Money admin

Track email expenses from Gmail with OpenAI and Google Sheets

Started by an arriving email, and works across Gmail, Google Sheets and Slack. It hands the judgement calls to OpenAI. 13 steps, 4 branches: a working afternoon to understand properly.

MediumCalls a model: OpenAI

13 stepsMedium: a working afternoon
4Branches: places the flow splits
0Loops or waits
3Services it connects to

The flow

Starts it 1Model 1Logic 8Service 3

The steps in the order they run, from what starts it.

  1. 1Email Listener (Gmail Trigger)Gmail triggerStarts it
  2. 2Filter Invoice/Receipt EmailsIfLogic
  3. 3Extract Email DataSetLogic
  4. 4Merge Email + AI DataMergeLogic
  5. 5Validate Email ContentIfLogic
  6. 6Format Expense DataSetLogic
  7. 7AI Expense ExtractorOpen AiModel
  8. 8Lookup Expense (Google Sheets)Google SheetsService
  9. 9Parse AI OutputSetLogic
  10. 10Filter Duplicate RecordsIfLogic
  11. 11Save to Expense SheetGoogle SheetsService
  12. 12Check High ExpenseIfLogic
  13. 13Slack Alert (High Expense)SlackService

How it's built

Starts on
An arriving email
Steps
13, with 4 branches
Size
Medium: a working afternoon
Connects to
Gmail, Google Sheets, Slack
Model
OpenAI

Questions

What does it need to run?

An n8n account, plus your own Gmail, Google Sheets and Slack accounts, and a key for OpenAI. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an arriving email.

Does it use AI?

Yes. It calls OpenAI. Model calls are billed by the provider, not by n8n.

How long does it take to set up?

Plan an afternoon. 13 steps is enough that you should read each one before running it.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

Before you run it

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 13 steps before you point it at anything that matters.