
WhatsApp Financial Agent: Handles Text, Images & Audio
Description
Categories
🤖 AI & Machine Learning
Nodes Used
n8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.coden8n-nodes-base.coden8n-nodes-base.coden8n-nodes-base.coden8n-nodes-base.switchn8n-nodes-base.postgresn8n-nodes-base.postgresn8n-nodes-base.postgres
PriceGratuit
Views0
Last Updated11/28/2025
workflow.json
{
"id": "lD64El4ZjpXClZfJ",
"meta": {
"instanceId": "51d1d0f94f0eb0d5e1f0abca36cf726ede396d46d8ae921dfe4272fca1637d49",
"templateCredsSetupCompleted": true
},
"name": "WhatsApp Financial Agent: Handles Text, Images & Audio",
"tags": [],
"nodes": [
{
"id": "57dc8c80-7eac-4c5c-a2b5-dd8b6257b23b",
"name": "Date and time",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
-580,
500
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "2fb03ef5-bf65-4193-b6c4-8e347ade4065",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-460,
500
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "0e8e6e89-8ecd-4fd4-acf9-51072555bdfb",
"name": "Calculator",
"type": "@n8n/n8n-nodes-langchain.toolCalculator",
"position": [
-20,
60
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1395263a-c11c-41b2-b4bb-7235ca4839b2",
"name": "Convert to File",
"type": "n8n-nodes-base.convertToFile",
"position": [
-460,
-160
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "93f6a3da-17bf-4896-b9b0-0baa53532fc9",
"name": "Normal Conversation ",
"type": "n8n-nodes-base.whatsApp",
"position": [
-1080,
2340
],
"webhookId": "f71b40d3-80fc-49d5-85f9-bdac44343b7a",
"parameters": {},
"typeVersion": 1
},
{
"id": "465e1083-d2b8-4099-a3cb-8b9c35e259ef",
"name": "Message Intent Classifier",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-2260,
1040
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "c5bd26e9-d37d-46cb-812b-37e39c93def5",
"name": "Route by Intent",
"type": "n8n-nodes-base.switch",
"position": [
-1884,
998
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "9f2dc65d-ff12-48bc-847e-296aaf7b6d07",
"name": "Parse & Validate Transaction",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-660,
280
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "acde8129-25e9-48da-bf74-198089a9e647",
"name": "Build Custom Report Query",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1620,
-160
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "0444d98a-2988-401e-857a-33b40edb24bf",
"name": "Transform Custom Query for Postgres",
"type": "n8n-nodes-base.code",
"position": [
-1240,
-160
],
"parameters": {},
"typeVersion": 2
},
{
"id": "fc40f501-8b48-49bc-b624-4e7775990333",
"name": "Format Custom Query Results",
"type": "n8n-nodes-base.code",
"position": [
-800,
-160
],
"parameters": {},
"executeOnce": false,
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "02a8ae3b-a2af-4274-baeb-3a0662600293",
"name": "Execute Custom Report Query",
"type": "n8n-nodes-base.postgres",
"position": [
-1020,
-160
],
"parameters": {},
"typeVersion": 2.6,
"alwaysOutputData": true
},
{
"id": "24a115f7-22d0-4e0a-8c45-653da2fa064e",
"name": "Build Custom Financial Summary",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-100,
-160
],
"parameters": {},
"executeOnce": true,
"typeVersion": 1.9
},
{
"id": "5643dd90-687f-4a2f-a50e-ac4a3089c2a4",
"name": "Send Custom Report",
"type": "n8n-nodes-base.whatsApp",
"position": [
300,
-160
],
"webhookId": "f71b40d3-80fc-49d5-85f9-bdac44343b7a",
"parameters": {},
"typeVersion": 1
},
{
"id": "25829e7c-2726-4bf1-8adc-e562d094d929",
"name": "simple conversation ",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1460,
2340
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "ced786a9-840f-4c18-9993-c51754483604",
"name": "Date and time1",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
-1460,
60
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "8548dfa1-2c19-4e41-b4bb-cc1daebe810b",
"name": "Date and time2",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
100,
60
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "e9fd4787-d5f4-4ee0-9aca-b571c82d23ce",
"name": "Date and time4",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
-2112,
1260
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "12c1d2d7-5a7b-48dc-a8b3-e75b3d484670",
"name": "Date and time5",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"disabled": true,
"position": [
-1320,
2560
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "7b9cf4fb-352e-458d-b5ad-792558ae08ea",
"name": "Transform image to base64",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-1068,
1040
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b9b949e6-7912-4cf8-8f72-87825162b2b6",
"name": "Date and time6",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
-508,
1160
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "fd7a47b0-48da-4044-a548-3508d19ea5a3",
"name": "Send Financial Response1",
"type": "n8n-nodes-base.whatsApp",
"position": [
1840,
1020
],
"webhookId": "f71b40d3-80fc-49d5-85f9-bdac44343b7a",
"parameters": {},
"executeOnce": true,
"typeVersion": 1
},
{
"id": "7b53faf2-92d8-480c-91fd-89805f825cd6",
"name": "Format Transaction JSON1",
"type": "n8n-nodes-base.code",
"position": [
800,
1020
],
"parameters": {},
"typeVersion": 2
},
{
"id": "3d6d765c-4a90-49ff-9ac6-e631419d61ee",
"name": "Validate Transaction Fields1",
"type": "n8n-nodes-base.code",
"position": [
1020,
1020
],
"parameters": {},
"typeVersion": 2
},
{
"id": "c1afdf5f-4860-4697-a110-1af63843c5cb",
"name": "Insert Transaction into DB1",
"type": "n8n-nodes-base.postgres",
"position": [
1240,
1020
],
"parameters": {},
"typeVersion": 2.6
},
{
"id": "43758734-53db-4ecd-8ddd-cb6ed2850a68",
"name": "Build Confirmation Message1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1460,
1020
],
"parameters": {},
"executeOnce": true,
"typeVersion": 1.9
},
{
"id": "d818d14c-39f2-48c6-b7cd-fb523ac4b2b5",
"name": "Date and time7",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
1600,
1240
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "6fcbea28-acc4-420e-a72c-e2a1d42258db",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-388,
1160
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "4164a862-874c-4b93-9aa8-52a223ce95bb",
"name": "Date and time8",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
-360,
1960
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "fafedbd3-eb09-40ac-8ca7-ac1b30a9746c",
"name": "Structured Output Parser3",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-240,
1960
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "7e839522-d4ff-4f21-b94e-0875bbc15e40",
"name": "Incoming WhatsApp Trigger",
"type": "n8n-nodes-base.whatsAppTrigger",
"position": [
-3360,
1040
],
"webhookId": "c9f59683-0d8a-474e-add3-d07c8fa53c94",
"parameters": {},
"typeVersion": 1
},
{
"id": "f6a6b324-53a8-40f9-a35b-6b73c6b3fde2",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-140,
60
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "a60357ae-9439-44ac-a09a-2082a92455c9",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1480,
1240
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "bb041356-6d13-47ae-9270-1b0f9f64a762",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-628,
1160
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "cac16e35-a3c3-4468-af44-8509472ac366",
"name": "OpenAI Chat Model3",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-480,
1960
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "1d898519-7c23-4de7-abd4-8baad0f7e1b6",
"name": "OpenAI Chat Model4",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1440,
2560
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "cd5fc5d3-5cbc-4448-aa4e-c76ae51b9f96",
"name": "OpenAI Chat Model5",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-2232,
1260
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "f6287282-5e70-4ce7-bde5-db56e7d606f5",
"name": "OpenAI Chat Model6",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1580,
60
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "9e001c7c-965f-446a-99d1-a420bb9fd514",
"name": "OpenAI Chat Model7",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-700,
500
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "4a67c108-4606-4478-a77a-b4fbb1918671",
"name": "Check Message Type",
"type": "n8n-nodes-base.if",
"position": [
-3140,
1040
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "459b1564-0d8f-4e72-825b-c73efc151fc1",
"name": "Fetch User Profile from Postgres",
"type": "n8n-nodes-base.postgres",
"position": [
-2920,
1040
],
"parameters": {},
"typeVersion": 2.6,
"alwaysOutputData": true
},
{
"id": "f3f08eac-1296-4ce6-98be-5c3664ad2e0f",
"name": "Create New User",
"type": "n8n-nodes-base.postgres",
"position": [
-2480,
965
],
"parameters": {},
"typeVersion": 2.6
},
{
"id": "8784aa11-8f13-4312-9a4e-1039a796ac03",
"name": "Check user Exists or not",
"type": "n8n-nodes-base.if",
"position": [
-2700,
1040
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "dbabce46-b07c-47c5-b385-83027cde694d",
"name": "Create Image Download link ",
"type": "n8n-nodes-base.whatsApp",
"position": [
-1586,
1040
],
"webhookId": "0572f94a-ca8a-4f15-86cd-3b88c2e0fb6e",
"parameters": {},
"typeVersion": 1
},
{
"id": "06f6129a-d307-40d3-bcf2-20b23fb9ae03",
"name": "Download Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1288,
1040
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "c1df6e4e-8ebc-41f1-a67d-11e1614a7032",
"name": "Run OCR on Image (Gemini API)",
"type": "n8n-nodes-base.httpRequest",
"position": [
-848,
1040
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "2bc9b43a-c69f-49c3-8ba1-35453ffe400d",
"name": "Parse & Validate Transaction (Receipts & Bills)",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-596,
940
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "1ea09f8b-9c99-4f95-83fe-f714fc8a6930",
"name": "Create Audio Download link ",
"type": "n8n-nodes-base.whatsApp",
"position": [
-1140,
1740
],
"webhookId": "0572f94a-ca8a-4f15-86cd-3b88c2e0fb6e",
"parameters": {},
"typeVersion": 1
},
{
"id": "2dcb60bc-e934-4f0b-b74f-186d9572fb72",
"name": "Download Audio",
"type": "n8n-nodes-base.httpRequest",
"position": [
-920,
1740
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "0a7a8f23-7c62-47e1-bf7c-6f5934576a0a",
"name": "Split Transaction Lines",
"type": "n8n-nodes-base.splitOut",
"position": [
480,
1020
],
"parameters": {},
"typeVersion": 1
},
{
"id": "72cff440-c080-437e-8625-54d884c6e787",
"name": "Parse & Validate Transaction(Audio Transcribe)",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-440,
1740
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "fc6392df-851f-45b3-ba85-7b455ee87100",
"name": "Transcribe Audio by deepgram ",
"type": "n8n-nodes-base.httpRequest",
"position": [
-700,
1740
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "fb27211b-f000-4e55-8d07-f33e5b83fc68",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4200,
-160
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b1170a4a-8224-4b8d-b99b-926b4f1d3396",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2160,
-240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "d4c3c962-c3dc-4af2-a96b-283f2ce162e6",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2240,
2300
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9f08ab18-caab-4b20-98cf-9c999a55cbf3",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
820,
-140
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "23bccf93-d08e-479d-a0b3-d290c4f5fb90",
"connections": {
"Calculator": {
"ai_tool": [
[
{
"node": "Build Custom Financial Summary",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date and time": {
"ai_tool": [
[
{
"node": "Parse & Validate Transaction",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date and time1": {
"ai_tool": [
[
{
"node": "Build Custom Report Query",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date and time2": {
"ai_tool": [
[
{
"node": "Build Custom Financial Summary",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date and time4": {
"ai_tool": [
[
{
"node": "Message Intent Classifier",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date and time5": {
"ai_tool": [
[
{
"node": "simple conversation ",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date and time6": {
"ai_tool": [
[
{
"node": "Parse & Validate Transaction (Receipts & Bills)",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date and time7": {
"ai_tool": [
[
{
"node": "Build Confirmation Message1",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date and time8": {
"ai_tool": [
[
{
"node": "Parse & Validate Transaction(Audio Transcribe)",
"type": "ai_tool",
"index": 0
}
]
]
},
"Download Audio": {
"main": [
[
{
"node": "Transcribe Audio by deepgram ",
"type": "main",
"index": 0
}
]
]
},
"Download Image": {
"main": [
[
{
"node": "Transform image to base64",
"type": "main",
"index": 0
}
]
]
},
"Convert to File": {
"main": [
[
{
"node": "Build Custom Financial Summary",
"type": "main",
"index": 0
}
]
]
},
"Create New User": {
"main": [
[
{
"node": "Message Intent Classifier",
"type": "main",
"index": 0
}
]
]
},
"Route by Intent": {
"main": [
[
{
"node": "Build Custom Report Query",
"type": "main",
"index": 0
}
],
[
{
"node": "Parse & Validate Transaction",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Image Download link ",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Audio Download link ",
"type": "main",
"index": 0
}
],
[
{
"node": "simple conversation ",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Build Custom Financial Summary",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Check Message Type": {
"main": [
[
{
"node": "Fetch User Profile from Postgres",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Build Confirmation Message1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Parse & Validate Transaction (Receipts & Bills)",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model3": {
"ai_languageModel": [
[
{
"node": "Parse & Validate Transaction(Audio Transcribe)",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model4": {
"ai_languageModel": [
[
{
"node": "simple conversation ",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model5": {
"ai_languageModel": [
[
{
"node": "Message Intent Classifier",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model6": {
"ai_languageModel": [
[
{
"node": "Build Custom Report Query",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model7": {
"ai_languageModel": [
[
{
"node": "Parse & Validate Transaction",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"simple conversation ": {
"main": [
[
{
"node": "Normal Conversation ",
"type": "main",
"index": 0
}
]
]
},
"Split Transaction Lines": {
"main": [
[
{
"node": "Format Transaction JSON1",
"type": "main",
"index": 0
}
]
]
},
"Check user Exists or not": {
"main": [
[
{
"node": "Create New User",
"type": "main",
"index": 0
}
],
[
{
"node": "Message Intent Classifier",
"type": "main",
"index": 0
}
]
]
},
"Format Transaction JSON1": {
"main": [
[
{
"node": "Validate Transaction Fields1",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Parse & Validate Transaction",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Build Custom Report Query": {
"main": [
[
{
"node": "Transform Custom Query for Postgres",
"type": "main",
"index": 0
}
]
]
},
"Incoming WhatsApp Trigger": {
"main": [
[
{
"node": "Check Message Type",
"type": "main",
"index": 0
}
]
]
},
"Message Intent Classifier": {
"main": [
[
{
"node": "Route by Intent",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "Parse & Validate Transaction (Receipts & Bills)",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser3": {
"ai_outputParser": [
[
{
"node": "Parse & Validate Transaction(Audio Transcribe)",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Transform image to base64": {
"main": [
[
{
"node": "Run OCR on Image (Gemini API)",
"type": "main",
"index": 0
}
]
]
},
"Build Confirmation Message1": {
"main": [
[
{
"node": "Send Financial Response1",
"type": "main",
"index": 0
}
]
]
},
"Create Audio Download link ": {
"main": [
[
{
"node": "Download Audio",
"type": "main",
"index": 0
}
]
]
},
"Create Image Download link ": {
"main": [
[
{
"node": "Download Image",
"type": "main",
"index": 0
}
]
]
},
"Execute Custom Report Query": {
"main": [
[
{
"node": "Format Custom Query Results",
"type": "main",
"index": 0
}
]
]
},
"Format Custom Query Results": {
"main": [
[
{
"node": "Convert to File",
"type": "main",
"index": 0
}
]
]
},
"Insert Transaction into DB1": {
"main": [
[
{
"node": "Build Confirmation Message1",
"type": "main",
"index": 0
}
]
]
},
"Parse & Validate Transaction": {
"main": [
[
{
"node": "Split Transaction Lines",
"type": "main",
"index": 0
}
]
]
},
"Validate Transaction Fields1": {
"main": [
[
{
"node": "Insert Transaction into DB1",
"type": "main",
"index": 0
}
]
]
},
"Run OCR on Image (Gemini API)": {
"main": [
[
{
"node": "Parse & Validate Transaction (Receipts & Bills)",
"type": "main",
"index": 0
}
]
]
},
"Transcribe Audio by deepgram ": {
"main": [
[
{
"node": "Parse & Validate Transaction(Audio Transcribe)",
"type": "main",
"index": 0
}
]
]
},
"Build Custom Financial Summary": {
"main": [
[
{
"node": "Send Custom Report",
"type": "main",
"index": 0
}
]
]
},
"Fetch User Profile from Postgres": {
"main": [
[
{
"node": "Check user Exists or not",
"type": "main",
"index": 0
}
]
]
},
"Transform Custom Query for Postgres": {
"main": [
[
{
"node": "Execute Custom Report Query",
"type": "main",
"index": 0
}
]
]
},
"Parse & Validate Transaction(Audio Transcribe)": {
"main": [
[
{
"node": "Split Transaction Lines",
"type": "main",
"index": 0
}
]
]
},
"Parse & Validate Transaction (Receipts & Bills)": {
"main": [
[
{
"node": "Split Transaction Lines",
"type": "main",
"index": 0
}
]
]
}
}
}