AutomationFlows โ€บ AI & RAG โ€บ Whatsapp AI Agent That Understand Text, Image , Audio

Whatsapp AI Agent That Understand Text, Image , Audio

ByTharwat Mohamed @tharwatelsayedโœ“ on n8n.io

Overview ๐Ÿ“Œ

Event triggerโ˜…โ˜…โ˜…โ˜…โ˜† complexityAI-powered18 nodesWhatsApp TriggerGoogle GeminiAgentGoogle Gemini ChatMemory Buffer WindowGoogle Sheets ToolWhatsAppHTTP Request
AI & RAG Trigger: Event Nodes: 18 Complexity: โ˜…โ˜…โ˜…โ˜…โ˜† AI nodes: yes Added:

This workflow corresponds to n8n.io template #8251 โ€” we link there as the canonical source.

This workflow follows the Agent โ†’ Googledocstool recipe pattern โ€” see all workflows that pair these two integrations.

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 โ†’

Download .json
{
  "id": "{{CREDENTIAL_ID}}",
  "name": "voice and audio chatbot",
  "tags": [],
  "nodes": [
    {
      "id": "9428edaa-24a2-4137-b078-9359c6db6dbf",
      "name": "WhatsApp Trigger",
      "type": "n8n-nodes-base.whatsAppTrigger",
      "position": [
        -496,
        304
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "10cd7dd7-a14a-4b92-a5c7-91bb2c76bd79",
      "name": "Transcribe a recording",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        400,
        96
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "782dc37a-9f7c-4638-abf1-7131ad795fb3",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        912,
        240
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "c911b184-08c1-4418-aba3-daea79cdc006",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        848,
        464
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "dcdef524-8dea-4fa5-bfe2-2e116808f5ac",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        976,
        464
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "6d212773-4ca4-4a29-8bfd-317019bb2b2a",
      "name": "Append or update row in sheet in Google Sheets",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        1104,
        464
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "d005c2b9-1978-4fdf-9f9e-f7cc2cf68f36",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        624,
        240
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a7ef40f2-136d-4973-a743-2337d8ca5827",
      "name": "Send message",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        1536,
        240
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b6276da2-9a32-4166-af8a-44025f6d1b0e",
      "name": "Send message1",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        -48,
        576
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ac011f6f-f983-49f7-886b-125e25e6f769",
      "name": "Analyze image",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        400,
        384
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "56c2e243-dcda-494e-b148-2c60c93a60bd",
      "name": "audio receiver1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -48,
        96
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "33036a79-dde3-4615-b1e2-37cb2d27c1c1",
      "name": "audio receiver 2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        176,
        96
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "c0993db9-5c5c-46c6-8790-832e9cc7b08e",
      "name": "image receiver 1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -48,
        384
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "39256523-5f18-40f4-99bc-83b28442c0e7",
      "name": "image receiver2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        176,
        384
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "452e3b0e-42d4-47bb-96a9-8a0873317d3c",
      "name": "Get a document in Google Docs",
      "type": "n8n-nodes-base.googleDocsTool",
      "position": [
        1248,
        464
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "cb8fcc38-a2cb-48e8-94dc-a217ee1dc2ef",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1344,
        -32
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9f296d30-c60e-4ee2-9584-a00fe9447024",
      "name": "clean response",
      "type": "n8n-nodes-base.code",
      "position": [
        1312,
        240
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "aee1a710-4304-486c-8866-76b001a5bebf",
      "name": "Switch(route incoming messages based on type)",
      "type": "n8n-nodes-base.switch",
      "position": [
        -272,
        272
      ],
      "parameters": {},
      "typeVersion": 3.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "f18a82e3-3e16-450d-a330-0b21c2c6af05",
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "clean response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze image": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "clean response": {
      "main": [
        [
          {
            "node": "Send message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "audio receiver1": {
      "main": [
        [
          {
            "node": "audio receiver 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "image receiver2": {
      "main": [
        [
          {
            "node": "Analyze image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WhatsApp Trigger": {
      "main": [
        [
          {
            "node": "Switch(route incoming messages based on type)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "audio receiver 2": {
      "main": [
        [
          {
            "node": "Transcribe a recording",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "image receiver 1": {
      "main": [
        [
          {
            "node": "image receiver2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transcribe a recording": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get a document in Google Docs": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Switch(route incoming messages based on type)": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "audio receiver1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "image receiver 1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet in Google Sheets": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Overview ๐Ÿ“Œ

Source: https://n8n.io/workflows/8251/ โ€” original creator credit. Request a take-down โ†’

More AI & RAG workflows โ†’ ยท Browse all categories โ†’

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This template is designed for anyone who wants to use WhatsApp as a personal AI assistant hub. If you often juggle tasks, emails, calendars, and expenses across multiple tools, this workflow consolida

OpenAI Chat, Memory Buffer Window, Mcp Client Tool +12
AI & RAG

This workflow implements an AI-powered WhatsApp booking assistant for a hair salon. The system allows customers to book, reschedule, or cancel appointments automatically via text or voice messages on

Google Calendar Tool, Google Sheets Tool, Error Trigger +15
AI & RAG

WhatsApp AI Assistant for Clinic Appointment Booking Automate your entire appointment lifecycle with an intelligent AI assistant that lives on WhatsApp. This workflow empowers any clinic or independen

Google Gemini Chat, WhatsApp Trigger, Memory Buffer Window +9
AI & RAG

Wait Splitout. Uses whatsAppTrigger, whatsApp, httpRequest, memoryBufferWindow. Event-driven trigger; 35 nodes.

WhatsApp Trigger, WhatsApp, HTTP Request +5
AI & RAG

Wait Splitout. Uses whatsAppTrigger, whatsApp, httpRequest, memoryBufferWindow. Event-driven trigger; 35 nodes.

WhatsApp Trigger, WhatsApp, HTTP Request +5