{ "id": "200", "name": "BillBot", "nodes": [ { "name": "Set relevant data", "type": "n8n-nodes-base.set", "position": [ 780, 460 ], "parameters": { "values": { "string": [ { "name": "Category", "value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"category\"][\"value\"]}}" }, { "name": "Date", "value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"date\"][\"iso\"]}}" }, { "name": "Merchant", "value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"merchant\"][\"name\"]}}" }, { "name": "Time", "value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"time\"][\"iso\"]}}" }, { "name": "Amount", "value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"total\"][\"amount\"]}}" }, { "name": "Currency", "value": "={{$node[\"Parse details from receipt\"].json[\"predictions\"][0][\"locale\"][\"currency\"]}}" }, { "name": "Added by", "value": "={{$node[\"Get receipts from bot\"].json[\"message\"][\"chat\"][\"first_name\"]}} {{$node[\"Get receipts from bot\"].json[\"message\"][\"chat\"][\"last_name\"]}}" } ] }, "options": {}, "keepOnlySet": true }, "typeVersion": 1, "id": "node-c1e4ed19" }, { "name": "Send confirmation", "type": "n8n-nodes-base.telegram", "position": [ 1180, 460 ], "parameters": { "text": "=✅ Bill of {{$node[\"Set relevant data\"].json[\"Amount\"]}} {{$node[\"Set relevant data\"].json[\"Currency\"]}} from {{$node[\"Set relevant data\"].json[\"Merchant\"]}}, dated {{$node[\"Set relevant data\"].json[\"Date\"]}} at {{$node[\"Set relevant data\"].json[\"Time\"]}}. Category was {{$node[\"Set relevant data\"].json[\"Category\"]}}.", "chatId": "={{$node[\"Get receipts from bot\"].json[\"message\"][\"chat\"][\"id\"]}}", "additionalFields": {} }, "credentials": { "telegramApi": "" }, "typeVersion": 1, "id": "node-dbac86d7" }, { "name": "Get receipts from bot", "type": "n8n-nodes-base.telegramTrigger", "position": [ 380, 460 ], "webhookId": "ef81fe75-10c8-40c3-8bea-d65648556705", "parameters": { "updates": [ "*" ], "additionalFields": { "download": true } }, "credentials": { "telegramApi": "" }, "typeVersion": 1, "id": "node-76f0acb0" }, { "name": "Parse details from receipt", "type": "n8n-nodes-base.httpRequest", "position": [ 580, 460 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": { "bodyContentType": "multipart-form-data" }, "requestMethod": "POST", "authentication": "{{ $credentials.headerAuth }}", "jsonParameters": true, "sendBinaryData": true }, "credentials": { "httpHeaderAuth": "" }, "typeVersion": 1, "id": "node-b5ab29bd" }, { "name": "Add to expense record", "type": "n8n-nodes-base.googleSheets", "position": [ 980, 460 ], "parameters": { "range": "A:G", "options": {}, "sheetId": "", "operation": "append", "authentication": "{{ $credentials.oAuth2 }}" }, "credentials": { "googleSheetsOAuth2Api": "" }, "typeVersion": 1, "id": "node-b2c82f60" }, { "name": "Send SMS notification", "type": "n8n-nodes-base.twilio", "position": [ 1380, 460 ], "parameters": { "to": "", "from": "", "message": "=A receipt worth {{$node[\"Set relevant data\"].json[\"Amount\"]}} {{$node[\"Set relevant data\"].json[\"Currency\"]}} was submitted by {{$node[\"Set relevant data\"].json[\"Added by\"]}} and has been added to the following spreadsheet:\nhttps://docs.google.com/spreadsheets/d/{{$node[\"Add to expense record\"].parameter[\"sheetId\"]}}/" }, "credentials": { "twilioApi": "Twilio Programmable SMS" }, "typeVersion": 1, "id": "node-559fa1e0" }, { "id": "error-68ecdf1d", "name": "Error Handler", "type": "n8n-nodes-base.stopAndError", "typeVersion": 1, "position": [ 1000, 400 ], "parameters": { "message": "Workflow execution error", "options": {} } } ], "connections": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3 }, "meta": { "instanceId": "workflow-930620a2", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:45.801986", "updatedAt": "2025-09-29T07:07:45.802019", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "description": "Production-ready workflow: BillBot. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }