Read Gmail receipt PDFs with Claude and reconcile card statements in Google Sheets
Ready for 3.0What this workflow does
This AI workflow has 21 nodes and runs on Gmail events (message received) (plus 2 other triggers). Along the way it connects Gmail, Anthropic, Google Sheets and Slack.
How it runs
Trigger: On Gmail events (message received) (plus 2 other triggers).
- Config (Edit Fields (Set)): sets 8 fields: base_currency, card_date_col, card_vendor_col…
- Spreadsheet ID (Edit Fields (Set)): sets 1 field: spreadsheet_id
- Is it a new email? (If): checks a condition and branches into true / false
- Add the Receipts, Card and Matches tabs (HTTP Request): calls an HTTP API (POST)
- Split attachments (Code): runs custom JavaScript code
- Read Receipts tab (Google Sheets): read (sheet)
- Write the header rows (HTTP Request): calls an HTTP API (POST)
- Extract text from PDF (Extract from File): extracts data from a file (pdf)
- Read Card tab (Google Sheets): read (sheet)
- AI: Read receipt (Anthropic): analyze (document)
…plus 8 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (10)
- Gmail Trigger
n8n-nodes-base.gmailTrigger - Manual Trigger
n8n-nodes-base.manualTrigger - Edit Fields (Set)
n8n-nodes-base.set - If
n8n-nodes-base.if - Code
n8n-nodes-base.code - Extract from File
n8n-nodes-base.extractFromFile - Anthropic
@n8n/n8n-nodes-langchain.anthropic - Google Sheets
n8n-nodes-base.googleSheets - Slack
n8n-nodes-base.slack - HTTP Request
n8n-nodes-base.httpRequest
From the author
Quick overview This workflow monitors Gmail for PDF receipts, uses Anthropic Claude to extract structured receipt data, stores validated results in Google Sheets, then matches receipts to a pasted card statement and posts a reconciliation summary to Slack.…