This workflow corresponds to n8n.io template #1466 — we link there as the canonical source.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": 90,
"name": "Extract expenses from emails and add to Google Sheet",
"nodes": [
{
"name": "Check subject",
"type": "n8n-nodes-base.if",
"position": [
800,
300
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$json[\"subject\"].toLowerCase()}}",
"value2": "=/{{$json[\"subjectPatterns\"].toLowerCase()}}/",
"operation": "regex"
}
]
},
"combineOperation": "any"
},
"typeVersion": 1
},
{
"name": "Setup Variables",
"type": "n8n-nodes-base.set",
"position": [
620,
300
],
"parameters": {
"values": {
"string": [
{
"name": "subjectPatterns",
"value": "(expenses|reciept)"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"name": "Check for new emails",
"type": "n8n-nodes-base.emailReadImap",
"position": [
440,
300
],
"parameters": {
"format": "resolved",
"mailbox": "Inbox",
"options": {
"allowUnauthorizedCerts": true
}
},
"credentials": {
"imap": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"name": "Read Receipts",
"type": "n8n-nodes-base.mindee",
"position": [
1020,
280
],
"parameters": {
"binaryPropertyName": "attachment_0"
},
"credentials": {
"mindeeReceiptApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"name": "Set column data",
"type": "n8n-nodes-base.set",
"position": [
1200,
280
],
"parameters": {
"values": {
"string": [
{
"name": "Date",
"value": "={{$json[\"date\"]}}"
},
{
"name": "Description",
"value": "={{$node[\"Check for new emails\"].json[\"subject\"].split(\"-\")[1]}}"
},
{
"name": "Category",
"value": "={{$json[\"category\"]}}"
},
{
"name": "Currency",
"value": "={{$json[\"currency\"]}}"
},
{
"name": "Amount",
"value": "={{$json[\"total\"]}}"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"name": "Add to Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1380,
280
],
"parameters": {
"range": "A:E",
"options": {},
"sheetId": "1xAtx1ORZYKu4urgqpOe3DawFjiWeOZO0VCVvOlQYnaE",
"operation": "append",
"authentication": "oAuth2"
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
}
],
"active": false,
"settings": {},
"connections": {
"Check subject": {
"main": [
[
{
"node": "Read Receipts",
"type": "main",
"index": 0
}
]
]
},
"Read Receipts": {
"main": [
[
{
"node": "Set column data",
"type": "main",
"index": 0
}
]
]
},
"Set column data": {
"main": [
[
{
"node": "Add to Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"Setup Variables": {
"main": [
[
{
"node": "Check subject",
"type": "main",
"index": 0
}
]
]
},
"Check for new emails": {
"main": [
[
{
"node": "Setup Variables",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleSheetsOAuth2ApiimapmindeeReceiptApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow will check a mailbox for new emails and if the Subject contains Expenses or Reciept it will send the attachment to Mindee for processing then it will update a Google sheet with the values.
Source: https://n8n.io/workflows/1466/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Extract expenses from emails and add to Google Sheet. Uses emailReadImap, mindee, googleSheets. Manual trigger; 6 nodes.
This n8n automation automatically stops your email sequences when prospects reply, preventing embarrassing follow-ups and maintaining professional outreach.
New invoice email notification. Uses emailReadImap, mindee, slack, emailSend. Manual trigger; 6 nodes.
This workflow checks for new emails in a mailbox and if the email body contains the word "invoice" it will send the attachment to Mindee. It then posts a message to Slack to let the team know a paymen
Alrouf AI Integration (Production). Uses googleSheets, chainLlm, lmChatGoogleGemini, outputParserStructured. Manual trigger; 21 nodes.