WhatsApp-Assistent mit Gedächtnis, Google Workspace und Multi-AI-Forschungsimaging

Experte

Dies ist ein AI Chatbot, Multimodal AI-Bereich Automatisierungsworkflow mit 71 Nodes. Hauptsächlich werden If, Set, Code, Switch, Webhook und andere Nodes verwendet. Erstelle einen WhatsApp-Assistenten mit Gedächtnis, Google Workspace und Multi-AI-Forschungsbildern

Voraussetzungen
  • HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
  • Google-Konto + Gmail API-Anmeldedaten
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Gemini API Key
  • MongoDB-Verbindungsstring
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "67849de66331aaa2dca6a4f3cbf793b274f923d94e4d9cdaae2e5d9aebaff626"
  },
  "nodes": [
    {
      "id": "db5520a2-c423-406b-9150-0cf4a0f99ed2",
      "name": "WhatsApp Trigger",
      "type": "n8n-nodes-base.whatsAppTrigger",
      "position": [
        -832,
        -48
      ],
      "webhookId": "b50ac6f1-009b-4d7c-99b7-0417637fcc8b",
      "parameters": {
        "options": {
          "messageStatusUpdates": []
        },
        "updates": [
          "messages"
        ]
      },
      "credentials": {
        "whatsAppTriggerApi": {
          "id": "au7NGsrEGiVNnIgw",
          "name": "WhatsApp OAuth account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "050596e5-1c80-4dd1-984f-199394653f6c",
      "name": "KI-Agent 1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        736,
        -192
      ],
      "parameters": {
        "text": "=You are  a helpful and friendly AI assistant. The user seems emotionally neutral, so reply in a calm, polite, slightly playful way. \n\nIMPORTANT FORMATTING RULES (Strict): Do NOT use more than one question mark total in your entire reply. Use '..' instead of '?' inside sentences or casual questions. Only the final sentence may end with a question, and only if it is a real question.\n\n{{ $now }}\n\nuser message: {{ $json.input }}\n\n",
        "options": {
          "systemMessage": "=🛠️ Instructions for Agent Behavior\n\nContext Retrieval\n\nFirst, search the vector store for relevant past user conversations or data.\n\nIf no useful context is found, query the Supabase Vector tool.\n\nRetry the vector store once if the first attempt fails.\n\nIf still no context is found, continue naturally without it.\n\nImage Requests\n\nIf the user asks to create, generate, or send an image, logo, or any other picture, use the HTTP node to send the user’s message for image creation.\n\nCalendar & Task Handling\n\nIf the user asks about tasks, reminders, plans, or appointments, use the Calendar and Task agents to create them.\n\nIf the user asks about today’s tasks, events, or plans, fetch information from both Calendar and Task agents, then inform the user.\n\nResearch & Wikipedia Logic\n\nFor factual, research-oriented, or up-to-date questions, use the Research tool.\n\nFor entertainment, history, or politics queries, use the Wikipedia tool.\n\nIf both tools apply, query both and merge the results before responding.\n\n---End of Instructions---"
        },
        "promptType": "define",
        "needsFallback": true
      },
      "retryOnFail": true,
      "typeVersion": 2.1
    },
    {
      "id": "d849f985-fe50-442a-a574-a2c77bfa16ec",
      "name": "Chatverlauf an MongoDB senden",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1408,
        -192
      ],
      "parameters": {
        "url": "https://n8n.iniyavan.space/webhook/a0299e2f-a81b-48e0-a912-d9749ecf1820",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "User's Message",
              "value": "={{ $('WhatsApp Trigger').item.json.messages[0].text.body }}"
            },
            {
              "name": "Assistant's Response",
              "value": "={{ $('AI Agent1').item.json.output }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "fa866ec1-ec7d-4f10-b376-7dbf960c3230",
      "name": "Wetterkarte",
      "type": "n8n-nodes-base.openWeatherMapTool",
      "position": [
        960,
        16
      ],
      "parameters": {
        "cityName": "bengaluru",
        "operation": "5DayForecast"
      },
      "credentials": {
        "openWeatherMapApi": {
          "id": "UnoRSeuGqJMnW6N1",
          "name": "OpenWeatherMap account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "740c0b36-e4c8-47b2-898c-c6422dea0f68",
      "name": "Medien herunterladen",
      "type": "n8n-nodes-base.whatsApp",
      "onError": "continueRegularOutput",
      "position": [
        -384,
        -144
      ],
      "webhookId": "b6901c9a-49e2-42e5-a863-634a07244fbd",
      "parameters": {
        "resource": "media",
        "operation": "mediaUrlGet",
        "mediaGetId": "={{ $json.messages[0].image.id }}"
      },
      "credentials": {
        "whatsAppApi": {
          "id": "KZFh0MY5tY65LVm9",
          "name": "WhatsApp account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "10ff9ba4-f689-490c-bffc-e85fb1b5b110",
      "name": "Bild analysieren",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "onError": "continueRegularOutput",
      "position": [
        64,
        -144
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.0-flash",
          "cachedResultName": "models/gemini-2.0-flash"
        },
        "options": {},
        "resource": "image",
        "inputType": "binary",
        "operation": "analyze"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "3Hcwnd3kUzFUj7kB",
          "name": "telegram"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b47e8952-813e-4133-91cc-0b06f7e172ed",
      "name": "HTTP Anfrage 5",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        -160,
        -144
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "whatsAppApi"
      },
      "credentials": {
        "whatsAppApi": {
          "id": "KZFh0MY5tY65LVm9",
          "name": "WhatsApp account 2"
        },
        "httpBearerAuth": {
          "id": "MdDaW65bAdzx5Z3w",
          "name": "Bearer Auth account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "88d4f859-563c-4544-86c1-e1cb9aa0de6a",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -608,
        -48
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "image",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "f843ef78-7ddf-43b3-8d6c-7969529566a1",
                    "operator": {
                      "type": "object",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.messages[0].image }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "chat",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "844825ff-91be-472c-82ba-e7c22d3c988a",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "leftValue": "={{    $json.messages[0].text?.body || ''  }} ",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "df58f83c-abc9-43fc-8935-552a058ec9ea",
      "name": "Denken",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        1248,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d3ca2d52-0656-46bd-8e62-149ed91de187",
      "name": "Code 1",
      "type": "n8n-nodes-base.code",
      "position": [
        256,
        -64
      ],
      "parameters": {
        "jsCode": "const image = $json.content?.parts?.[0]?.text\n  ? '(Result: ' + $json.content.parts[0].text + ') — This is the result from the image analysis node of the user message. Reply accordingly. If it’s technical, elaborate the message and reply with the input.'\n  : '';\n\nconst whatsappNode = $('WhatsApp Trigger').first().json;\nconst text = whatsappNode?.messages?.[0]?.text?.body || '';\n\nconst input = image || text;\n\nif (!input) {\n  throw new Error(\"No input available from image or text.\");\n}\n\nreturn [\n  {\n    json: {\n      input,\n      source: image ? \"image\" : (text ? \"text\" : \"none\"),\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "6e48d0a9-804b-4ec1-b9fc-11b30677319e",
      "name": "Gmail Tool",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        144,
        336
      ],
      "parameters": {
        "text": "use the Gmail tools to get the recent emails for every request.",
        "options": {
          "systemMessage": ""
        },
        "needsFallback": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "7f58a1fa-7c17-499a-a84b-108e71cf9128",
      "name": "Tippe...",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -416,
        48
      ],
      "parameters": {
        "url": "=https://graph.facebook.com/v22.0/{{ $json.metadata.phone_number_id }}/messages ",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"messaging_product\": \"whatsapp\",\n  \"status\": \"read\",\n  \"message_id\": \"{{ $json.messages[0].id }}\",\n  \"typing_indicator\": {\n    \"type\": \"text\"\n  }\n}\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "headerParameters": {
          "parameters": [
            {}
          ]
        },
        "nodeCredentialType": "whatsAppApi"
      },
      "credentials": {
        "whatsAppApi": {
          "id": "KZFh0MY5tY65LVm9",
          "name": "WhatsApp account 2"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b1af98a9-b2e9-4548-9e4e-538bc09bd7b7",
      "name": "Einfacher Speicher",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        512,
        336
      ],
      "parameters": {
        "sessionKey": "whatsapp",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2",
      "name": "Kalender-Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        -528,
        368
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {
          "systemMessage": "=# Overview\nYou are a calendar assistant. Your responsibilities include creating, getting, and deleting events in the user's calendar.\n\n**Calendar Management Tools**  \n   - Use \"Create Event with Attendee\" when an event includes a participant.  \n   - Use \"Create Event\" for solo events.   \n   - Use \"Get Events\" to fetch calendar schedules when requested.\n   - Use \"Delete Event\" to delete an event. You must use \"Get Events\" first to get the ID of the event to delete.\n   - Use \"Update Event\" to update an event. You must use \"Get Events\" first to get the ID of the event to update.\n\nIf the user asks about tasks, reminders, plans, or appointments, use the Calendar and Task agents to create them.\n\nIf the user asks about today’s tasks events or plans, fetch and inform them using both Calendar and Task Agents.\n\n## Final Notes\nHere is the current date/time: {{ $now }}\nIf a duration for an event isn't specified, assume it will be one hour."
        },
        "toolDescription": "A calendar agent for all calendar actions"
      },
      "typeVersion": 2.2
    },
    {
      "id": "f02dc89a-9538-4f3d-9b6c-4ec80f71ba55",
      "name": "Mehrere Ereignisse abrufen",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        -640,
        576
      ],
      "parameters": {
        "options": {},
        "timeMax": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "c1eb0f65db8cf813047300a0bf07bbe56274a6fb1c114431846870368a4514f7@group.calendar.google.com",
          "cachedResultName": "Reminders"
        },
        "operation": "getAll"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "RoaCgWh1hE4yYNao",
          "name": "JC Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "da372f07-f4df-4f60-bb7f-7eb97d30fe95",
      "name": "Ereignis erstellen",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        -512,
        576
      ],
      "parameters": {
        "end": "={{ $fromAI('End', ``, 'string') }}",
        "start": "={{ $fromAI('Start', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "c1eb0f65db8cf813047300a0bf07bbe56274a6fb1c114431846870368a4514f7@group.calendar.google.com",
          "cachedResultName": "Reminders"
        },
        "additionalFields": {
          "summary": "={{ $fromAI('Summary', ``, 'string') }}"
        }
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "RoaCgWh1hE4yYNao",
          "name": "JC Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "8f94949d-1381-4729-ae31-a060644cd69a",
      "name": "Ereignis aktualisieren",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        -384,
        576
      ],
      "parameters": {
        "eventId": "={{ $fromAI('Event_ID', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "c1eb0f65db8cf813047300a0bf07bbe56274a6fb1c114431846870368a4514f7@group.calendar.google.com",
          "cachedResultName": "Reminders"
        },
        "operation": "update",
        "updateFields": {}
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "RoaCgWh1hE4yYNao",
          "name": "JC Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "fb8c7351-c381-46d5-8a74-f3e4a1f0e2c9",
      "name": "Ereignis löschen",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        -256,
        576
      ],
      "parameters": {
        "eventId": "={{ $fromAI('Event_ID', ``, 'string') }}",
        "options": {},
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "c1eb0f65db8cf813047300a0bf07bbe56274a6fb1c114431846870368a4514f7@group.calendar.google.com",
          "cachedResultName": "Reminders"
        },
        "operation": "delete"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "RoaCgWh1hE4yYNao",
          "name": "JC Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "22ddc16f-9aa4-4967-84fc-f27239cc6e4e",
      "name": "Ereignis abrufen",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        -128,
        576
      ],
      "parameters": {
        "eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
        "options": {},
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "c1eb0f65db8cf813047300a0bf07bbe56274a6fb1c114431846870368a4514f7@group.calendar.google.com",
          "cachedResultName": "Reminders"
        },
        "operation": "get"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "RoaCgWh1hE4yYNao",
          "name": "JC Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "5380aa75-09f4-44bc-a37e-142f4816e685",
      "name": "MongoDB Atlas Vector Store 2",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas",
      "position": [
        640,
        224
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 5,
        "options": {},
        "metadata_field": " info, text, summary",
        "mongoCollection": {
          "__rl": true,
          "mode": "list",
          "value": "document",
          "cachedResultName": "document"
        },
        "toolDescription": "use this tool as memory node for the Ai agent ",
        "vectorIndexName": "default"
      },
      "credentials": {
        "mongoDb": {
          "id": "68YcCVKfDKnwNcDo",
          "name": "MongoDB account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "b33fcdb6-99ba-44f2-b6ab-070e53bf720c",
      "name": "gemini-2.5-flash",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        16,
        528
      ],
      "parameters": {
        "options": {},
        "modelName": "=models/gemini-2.5-flash"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "3Hcwnd3kUzFUj7kB",
          "name": "telegram"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "32461746-2727-4c06-95ee-6aa60e613c32",
      "name": "gpt-5-nano",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        144,
        544
      ],
      "parameters": {
        "model": "=openai/gpt-5-nano",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "IigODthJcG8e4fv8",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "23cf2e5a-e1cf-45cf-be5b-bd8d4027b86d",
      "name": "Mehrere Nachrichten abrufen",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        416,
        544
      ],
      "webhookId": "1aefb18e-311f-4c23-8951-8b294822c4f0",
      "parameters": {
        "filters": {},
        "operation": "getAll"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "llNadZCEaveDOEIp",
          "name": "Gmail account "
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "1f8a17f4-e027-4fb6-bfc3-1c63bf912097",
      "name": "Nachricht abrufen",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        256,
        544
      ],
      "webhookId": "9cc34209-7dac-4dd3-9085-84b8d07634be",
      "parameters": {
        "messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
        "operation": "get"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "c2Ww8phHiVkuIYmL",
          "name": "HDFC bank "
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "c4c0cad1-33af-4f13-9e6b-e5e6f2559990",
      "name": "Aufgaben-Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        -592,
        720
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {
          "systemMessage": "=You are a task management assistant. Your responsibilities include creating, retrieving, updating, and deleting tasks in the user's Google Tasks list.\n\nGoogle Tasks Management Tools\n\nUse \"Create Task\" to add a new task to the user's task list.\nUse \"Get Tasks\" to retrieve tasks from a specific list or all lists.\nUse \"Update Task\" to modify an existing task. You must use \"Get Tasks\" first to obtain the task ID.\nUse \"Delete Task\" to remove a task. You must use \"Get Tasks\" first to obtain the task ID.\nUse \"Create Task List\" to organize tasks into a new list.\nUse \"Get Task Lists\" to retrieve available task lists.\nUse \"Delete Task List\" to remove an entire task list. You must use \"Get Task Lists\" first to obtain the list ID.\n\nFinal Notes\nHere is the current date/time: {{ $now }}\nIf a due date or time is not specified for a task, assume it is due by end of day.\nTasks should be created with clear titles and optional descriptions for context.\nUse priority flags if specified (e.g., high, medium, low)."
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "26f8949b-1876-42dd-a4b2-e79e5e6723ee",
      "name": "Aufgabe in Google Tasks erstellen",
      "type": "n8n-nodes-base.googleTasksTool",
      "position": [
        -528,
        880
      ],
      "parameters": {
        "task": "MDE5MTI4ODM0MjI0MDM1MTAyNDQ6MDow",
        "title": "={{ $fromAI('Title', ``, 'string') }}",
        "additionalFields": {}
      },
      "credentials": {
        "googleTasksOAuth2Api": {
          "id": "hJ9f755XneSNJLtO",
          "name": "Google Tasks account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0e3279da-25b6-4245-9102-a41b72e692bb",
      "name": "Aufgabe in Google Tasks löschen",
      "type": "n8n-nodes-base.googleTasksTool",
      "position": [
        -336,
        896
      ],
      "parameters": {
        "task": "MDE5MTI4ODM0MjI0MDM1MTAyNDQ6MDow",
        "taskId": "={{ $fromAI('Task_ID', ``, 'string') }}",
        "operation": "delete"
      },
      "credentials": {
        "googleTasksOAuth2Api": {
          "id": "hJ9f755XneSNJLtO",
          "name": "Google Tasks account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1749a2e0-f4fa-4309-86c8-f0a8b8b0424e",
      "name": "Mehrere Aufgaben in Google Tasks abrufen",
      "type": "n8n-nodes-base.googleTasksTool",
      "position": [
        -144,
        880
      ],
      "parameters": {
        "task": "MDE5MTI4ODM0MjI0MDM1MTAyNDQ6MDow",
        "operation": "getAll",
        "additionalFields": {
          "dueMax": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Due_Max', ``, 'string') }}",
          "dueMin": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Due_Min', ``, 'string') }}"
        }
      },
      "credentials": {
        "googleTasksOAuth2Api": {
          "id": "hJ9f755XneSNJLtO",
          "name": "Google Tasks account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "82bed5ea-6807-42db-a0ac-3fa25fc163e5",
      "name": "Bilderstellung",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        1120,
        32
      ],
      "parameters": {
        "url": "https://n8n.iniyavan.space/webhook/92db4287-145c-4ae7-9931-ab57b4ecbe67",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "user message:",
              "value": "={{ $('WhatsApp Trigger').item.json.messages[0].text.body }}"
            }
          ]
        }
      },
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "2da1edbd-f7a7-484a-86a7-6499bacfd439",
      "name": "Brave Search",
      "type": "@brave/n8n-nodes-brave-search.braveSearchTool",
      "position": [
        1520,
        896
      ],
      "parameters": {
        "count": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Count', ``, 'number') }}",
        "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Query', ``, 'string') }}"
      },
      "credentials": {
        "braveSearchApi": {
          "id": "Ci2Q73sI6Qc28ybm",
          "name": "Brave Search account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "68a9d8d1-7e31-4d97-a2db-6adf8950adb3",
      "name": "Brave Search 1",
      "type": "@brave/n8n-nodes-brave-search.braveSearchTool",
      "position": [
        1648,
        896
      ],
      "parameters": {
        "count": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Count', ``, 'number') }}",
        "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Query', ``, 'string') }}",
        "operation": "news"
      },
      "credentials": {
        "braveSearchApi": {
          "id": "Ci2Q73sI6Qc28ybm",
          "name": "Brave Search account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "455f2427-d9db-4936-849e-5afc3b05cc85",
      "name": "gpt-4.1-nanoChat Model 1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        960,
        880
      ],
      "parameters": {
        "model": "openai/gpt-5-nano",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "IigODthJcG8e4fv8",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5e3b3446-88b2-4eb5-a853-e61169ac9bcd",
      "name": "Forschungs-Agent",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        1168,
        704
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {
          "systemMessage": "={\n  \"overview\": \"You are a web research assistant. Your responsibilities include conducting quick web searches, performing deeper research, and retrieving current weather information.\",\n  \"rules\": {\n    \"query_gap\": \"Ensure there is at least a 1 second delay between any queries sent to Brave Web and Brave News.\"\n  },\n  \"capabilities\": {\n    \"web_search_and_research\": {\n      \"wikipedia\": \"Use for quick factual lookups, background context, or verifying specific details.\",\n      \"perplexcia\": \"Use for deeper research requiring multiple perspectives, synthesis across sources, or long-form reasoning.\",\n      \"tavily\": \"Use for structured, concise, API-driven search results that directly answer the query.\",\n      \"brave\": {\n        \"description\": \"Use Brave Search for independent, real-time web searches and discovery of current content.\",\n        \"strengths\": [\n          \"Unbiased results from its own index (not Google/Bing).\",\n          \"Ideal for breaking news, time-sensitive events, and recent developments.\",\n          \"Useful for competitive analysis, market research, and trend monitoring.\",\n          \"Supports web, news, images, and video categories.\"\n        ],\n        \"tools\": {\n          \"brave_web\": \"Use for broad and real-time web searches.\",\n          \"brave_news\": \"Use specifically for fresh news, breaking updates, and trending topics.\"\n        }\n      }\n    },\n    \"weather_information\": {\n      \"open_weather_map\": \"Retrieve current weather data including temperature, conditions, and forecasts for a given location.\"\n    }\n  },\n  \"execution_order\": {\n    \"factual_or_background\": [\n      \"wikipedia\",\n      \"tavily\",\n      \"perplexcia\"\n    ],\n    \"recent_or_time_sensitive\": [\n      \"brave_news\",\n      \"brave_web\",\n      \"tavily\"\n    ],\n    \"deep_research\": [\n      \"perplexcia\",\n      \"tavily\",\n      \"brave_web\"\n    ],\n    \"weather_queries\": [\n      \"open_weather_map\"\n    ],\n    \"notes\": [\n      \"Always prefer Wikipedia first for simple factual queries.\",\n      \"For breaking news, start with Brave News, then Brave Web if more coverage is needed.\",\n      \"For broader search, Brave Web is prioritized before Tavily.\",\n      \"Use Perplexcia last unless deep reasoning or synthesis is required.\",\n      \"Always enforce a 1 second gap when using Brave Web and Brave News together.\"\n    ]\n  }\n}\n"
        },
        "needsFallback": true
      },
      "executeOnce": true,
      "typeVersion": 2.2
    },
    {
      "id": "65f6dbf8-207e-4460-9d42-04412f4afd57",
      "name": "perplexity",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        1104,
        896
      ],
      "parameters": {
        "url": "http://selfhosted perplexicia link/api/search",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{ $fromAI('parameters0_Value', ``, 'string') }}"
            },
            {
              "name": "focusMode",
              "value": "webSearch"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "executeOnce": false,
      "typeVersion": 4.2
    },
    {
      "id": "dc2bd811-0c98-488f-9e41-95b882367030",
      "name": "Wikipedia",
      "type": "@n8n/n8n-nodes-langchain.toolWikipedia",
      "position": [
        1232,
        896
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c14c9d29-7c6d-4459-bd6f-d251b66328cf",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -976,
        -496
      ],
      "parameters": {
        "color": 4,
        "width": 2768,
        "height": 1552,
        "content": "## Main Workflow: The core engine that listens for WhatsApp messages and delegates tasks to the appropriate AI agent or tool.\n**This workflow transforms your WhatsApp into a powerful, multi-talented AI assistant. \nIt's designed to handle a wide range of tasks by understanding user messages, analyzing images, and connecting to various external tools and services.\nThe assistant can hold natural conversations, remember past interactions using a MongoDB vector store (RAG), and decide which tool is best suited for a user's request. \nWhether you need to check your schedule, research a topic, get the latest news, create an image, or even analyze a picture you send, this workflow orchestrates it all seamlessly through a single WhatsApp chat interface.** "
      },
      "typeVersion": 1
    },
    {
      "id": "653a955e-4b6f-485d-b366-d3ab3c32210d",
      "name": "Standard-Datenlader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        928,
        1472
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "483c6a74-46cb-4597-8b60-e42acb71106e",
      "name": "Speicherinformationen extrahieren",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -16,
        1248
      ],
      "parameters": {
        "text": "=Analyze the following conversation turn. Your goal is to extract any new, important, and non-obvious information that should be remembered for future conversations. This includes personal facts, preferences, goals, or key context.\n\n--- CONVERSATION TURN ---\nUser's Message:{{ $json.body['User\\'s Message'] }}\n\nAssistant's Response:{{ $json.body['Assistant\\'s Response'] }}\n\n--- END OF TURN ---\n\nIf there is significant information worth remembering, provide a concise, third-person summary of that information (e.g., \"The user's favorite color is blue.\").\n\nIf there is nothing new or important to remember, you MUST return the single word: nothing",
        "batching": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "14bf21ee-f158-4e1f-a703-b24483f7a798",
      "name": "Prüfen, ob erinnerungswürdig",
      "type": "n8n-nodes-base.if",
      "position": [
        336,
        1248
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.text.toLowerCase() }}",
              "value2": "nothing",
              "operation": "notEqual"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "26687cab-4c9c-49a7-822a-c129e99a78cd",
      "name": "Felder bearbeiten 1",
      "type": "n8n-nodes-base.set",
      "position": [
        560,
        1248
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5e434ab2-be7f-492a-bee1-8dfe8caf674a",
              "name": "timestamp",
              "type": "string",
              "value": "={{ $now }}"
            },
            {
              "id": "26cb2b49-ade5-4d9b-bbfd-598afd4847ad",
              "name": "userID",
              "type": "string",
              "value": "=582202219"
            },
            {
              "id": "4d570a8c-33f5-4f99-ab1b-77adadcce89a",
              "name": "info",
              "type": "string",
              "value": "={{ $json.text }}"
            },
            {
              "id": "a24cb0ae-b069-4962-80e9-02eec77b90f6",
              "name": "user_message",
              "type": "string",
              "value": "={{ $('Webhook2').item.json.body[\"User's Message\"] }}"
            },
            {
              "id": "3901d073-46e5-4490-878a-5d48fcc857e7",
              "name": "assistant_response",
              "type": "string",
              "value": "={{ $('Webhook2').item.json.body[\"Assistant's Response\"] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "17921c4e-2f85-45cb-a9a2-87cf3102c8ce",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        64,
        1472
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "3Hcwnd3kUzFUj7kB",
          "name": "telegram"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e338e874-e82c-4e96-a44e-dc5e75bafce3",
      "name": "Webhook 2",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -240,
        1248
      ],
      "webhookId": "a0299e2f-a81b-48e0-a912-d9749ecf1820",
      "parameters": {
        "path": "a0299e2f-a81b-48e0-a912-d9749ecf1820",
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "80ce8220-3ba0-44d5-82e1-cdc0c2f995f3",
      "name": "Haftnotiz 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        1152
      ],
      "parameters": {
        "color": 4,
        "width": 2128,
        "height": 592,
        "content": "## Memory Webhook: A dedicated workflow that processes conversation history, extracts key information, and stores it in a vector database for long-term memory."
      },
      "typeVersion": 1
    },
    {
      "id": "a025ca0b-87c3-41e0-b6c1-1605c486c0bc",
      "name": "Webhook 3",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -592,
        1920
      ],
      "webhookId": "92db4287-145c-4ae7-9931-ab57b4ecbe67",
      "parameters": {
        "path": "92db4287-145c-4ae7-9931-ab57b4ecbe67",
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "0e9c89e7-9ee9-464b-a6ac-fc757bdd2ebd",
      "name": "Felder bearbeiten 5",
      "type": "n8n-nodes-base.set",
      "position": [
        448,
        1936
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8ee5a866-7fe1-45be-8e1a-60a13ee3fbf8",
              "name": "base64",
              "type": "string",
              "value": "={{ $json.data[0].b64_json }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "650587b4-e984-457c-9419-016529e05034",
      "name": "In Datei konvertieren",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        672,
        1936
      ],
      "parameters": {
        "options": {},
        "operation": "toBinary",
        "sourceProperty": "base64"
      },
      "typeVersion": 1.1
    },
    {
      "id": "25a7325a-3d78-477d-aed6-1922a9758964",
      "name": "HTTP Anfrage",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        1936
      ],
      "parameters": {
        "url": "https://api.together.xyz/v1/images/generations",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"black-forest-labs/FLUX.1-schnell\",\n  \"prompt\": \"{{ $json.cleanedPrompt }}\",\n  \"width\": 1024,\n  \"height\": 768,\n  \"steps\": 4,\n  \"n\": 1,\n  \"response_format\": \"b64_json\",\n  \"stop\": []\n} ",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "OY49PqkI6WcgGgEE",
          "name": "Header Auth account 2"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1db6b6a3-0715-4545-b9ce-ef49e484323d",
      "name": "Prompt-Text bereinigen 1",
      "type": "n8n-nodes-base.code",
      "position": [
        0,
        1936
      ],
      "parameters": {
        "jsCode": "let input = $input.first().json.output || '';\n\nconsole.log('Original input:', input);\n\n// Remove ALL quotes (both single and double)\nlet cleanedInput = input.replace(/['\"]+/g, '');\n\n// Clean whitespace (replace multiple spaces with single space)\ncleanedInput = cleanedInput.replace(/\\s+/g, ' ').trim();\n\nconsole.log('Final cleaned input:', cleanedInput);\n\n// Return cleaned prompt\nreturn { cleanedPrompt: cleanedInput };"
      },
      "typeVersion": 2
    },
    {
      "id": "70fea3dd-1d12-4549-9fcb-b221fa90e9dd",
      "name": "Chat zusammenfassen",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1120,
        1936
      ],
      "parameters": {
        "text": "=Summarize the following exchange in 1 human-readable sentence.\nNote the conversation may in tamil,engilsh or Both (Thunglish). User is male and it always one-to-one convo.\nUSER:{{ $('Webhook3').item.json.body['user message:'] }}\nASSISTANT: {{ $('AI Agent').item.json.output }}\n\nWrite a warm, human-style summary.\nIf the message is trivial or small talk, just return: nothing.\n\n",
        "batching": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "866d2679-1701-44d3-a287-587ee7e55594",
      "name": "Haftnotiz 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        1840
      ],
      "parameters": {
        "color": 4,
        "width": 2128,
        "height": 656,
        "content": "## Image Generation Webhook: A specialized workflow triggered when a user asks to create an image, which processes the request, generates the image using an external API, and sends it back to the user."
      },
      "typeVersion": 1
    },
    {
      "id": "be62742c-4f35-4c22-b325-6f922375700f",
      "name": "Google Gemini Chat Model 5",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        320,
        2320
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash-lite"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "jGUHLjNGbLYvrqty",
          "name": "Google Gemini(PaLM) Api account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e5f68156-d7e4-424c-ac52-2f0c7e3406eb",
      "name": "Nachricht senden 3",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        896,
        1936
      ],
      "webhookId": "4c5b3e09-2439-4411-9126-84710396b63e",
      "parameters": {
        "mediaPath": "useMedian8n",
        "operation": "send",
        "messageType": "image",
        "phoneNumberId": "=",
        "additionalFields": {},
        "recipientPhoneNumber": "="
      },
      "credentials": {
        "whatsAppApi": {
          "id": "hQh3jjxZKpejhBHZ",
          "name": "WhatsApp account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "201f19c6-b148-45dc-926e-c562ff63c485",
      "name": "MongoDB Atlas Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas",
      "position": [
        784,
        1248
      ],
      "parameters": {
        "mode": "insert",
        "options": {},
        "metadata_field": "=info",
        "mongoCollection": {
          "__rl": true,
          "mode": "list",
          "value": "document",
          "cachedResultName": "document"
        },
        "vectorIndexName": "default"
      },
      "credentials": {
        "mongoDb": {
          "id": "68YcCVKfDKnwNcDo",
          "name": "MongoDB account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "063b74a7-89f8-479b-88c4-0a4d6fc1e3ca",
      "name": "MongoDB Atlas Vector Store 1",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreMongoDBAtlas",
      "position": [
        -32,
        2176
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 5,
        "options": {},
        "metadata_field": " info, text, summary",
        "mongoCollection": {
          "__rl": true,
          "mode": "list",
          "value": "document",
          "cachedResultName": "document"
        },
        "toolDescription": "use this tool as memory node for the Ai agent ",
        "vectorIndexName": "default"
      },
      "credentials": {
        "mongoDb": {
          "id": "68YcCVKfDKnwNcDo",
          "name": "MongoDB account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "9429d89e-2dfa-4ba1-9364-54f256612749",
      "name": "gpt-4.1-nano",
      "type": "@n8n/n8n-nodes-langchain.lmChatVercelAiGateway",
      "position": [
        -480,
        2144
      ],
      "parameters": {
        "model": "openai/gpt-4o-mini",
        "options": {}
      },
      "credentials": {
        "vercelAiGatewayApi": {
          "id": "Hz12LiIsMaKH88LB",
          "name": "n8n testing August 22"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "af220466-31a3-40c8-9ffc-d26e6d3546c5",
      "name": "KI-Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -336,
        1936
      ],
      "parameters": {
        "text": "=You are AI assistant specializing in image creation.\n\nIMPORTANT:\nAlways use the MongoDB Atlas Vector Store tool to retrieve the most relevant memory based on the \nuser’s message.\nFirst, search the vector store for the latest summarized conversation or any related past memory.\nIf the memory node returns no data, use the tool node again to attempt retrieval.\nIf no relevant memory is found after retrying, proceed without additional context.\n\nUSER'S LATEST MESSAGE:{{ $json.body['user message:'] }}\nBased on the above conversation context, generate a detailed image generation prompt that best fulfills the user's request.  The prompt should be suitable for a state-of-the-art image generation model (e.g., DALL-E 3, Midjourney).\n\nThe generated prompt should include:\n\n*   A clear description of the subject matter.\n*   The desired style and artistic medium (e.g., photorealistic, painting, cartoon, sketch).\n*   Specific details regarding lighting, color palette, composition, and perspective.\n*   Any relevant artistic influences or references.\n\n\nOutput the image generation prompt only, without any introductory or conversational text. For example:  A photorealistic image of a majestic lion roaring on a mountaintop at sunset, with warm golden lighting and vibrant colors.",
        "options": {
          "systemMessage": "If user asked about his details use the tool to get his deatils"
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "b8e315f0-df6d-45f7-bf62-9024ac54e064",
      "name": "Haftnotiz 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        -304
      ],
      "parameters": {
        "color": 7,
        "width": 1328,
        "height": 480,
        "content": "## WhatsApp Trigger & Download media\n**This is the entry point. The workflow starts when a message (text or image) is received via WhatsApp. \nThe Switch node then routes the message based on its content type. The Typing.... node sends a typing indicator to the user for a better experience.\n\nThis section processes the incoming message. If it's an image (Download media -> HTTP Request5 -> Analyze image), it's downloaded and analyzed by Gemini. If it's text, it's passed directly. The Code1 node standardizes the text and image analysis output into a single input for the main AI agent.**"
      },
      "typeVersion": 1
    },
    {
      "id": "27d99798-e05e-49e3-b607-a4ff58acb3c7",
      "name": "Haftnotiz 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        -320
      ],
      "parameters": {
        "color": 5,
        "width": 1168,
        "height": 512,
        "content": "## Core AI Agent\n**This is the brain of the operation. The AI Agent1 node receives the user's input, maintains short-term Simple Memory, and uses a powerful language model to decide which tool to use. It orchestrates all the other agents and tools.**"
      },
      "typeVersion": 1
    },
    {
      "id": "07289c78-16ec-4920-b658-37c61baa77a0",
      "name": "Haftnotiz 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        192
      ],
      "parameters": {
        "width": 1664,
        "height": 848,
        "content": "## Productivity Tools Agen\n\n**This group of nodes connects the assistant to your personal productivity suite. \nIt includes sub-agents and tools for managing `Google Calendar`, `Google Tasks`, and `Gmail`, \nallowing you to schedule events, manage to-dos, and read emails.**"
      },
      "typeVersion": 1
    },
    {
      "id": "7a667675-89b6-48c3-a561-1d4c1d1f8e08",
      "name": "Haftnotiz 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        192
      ],
      "parameters": {
        "color": 6,
        "width": 432,
        "height": 304,
        "content": "## Memory"
      },
      "typeVersion": 1
    },
    {
      "id": "dae372fa-d531-42aa-a380-17b48e5ee9f0",
      "name": "codestral-embed-2505",
      "type": "@n8n/n8n-nodes-langchain.embeddingsMistralCloud",
      "position": [
        656,
        368
      ],
      "parameters": {
        "model": "=codestral-embed-2505",
        "options": {}
      },
      "credentials": {
        "mistralCloudApi": {
          "id": "WePlg7cDsdPGleuj",
          "name": "Mistral Cloud account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8bebd01d-5b2f-4403-8d46-384eb2aad1a2",
      "name": "codestral-embed-",
      "type": "@n8n/n8n-nodes-langchain.embeddingsMistralCloud",
      "position": [
        800,
        1472
      ],
      "parameters": {
        "model": "=codestral-embed-2505",
        "options": {}
      },
      "credentials": {
        "mistralCloudApi": {
          "id": "WePlg7cDsdPGleuj",
          "name": "Mistral Cloud account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a3481a80-f0bd-423e-a7b6-51d4bfe0e03e",
      "name": "codestral-embed-2506",
      "type": "@n8n/n8n-nodes-langchain.embeddingsMistralCloud",
      "position": [
        96,
        2352
      ],
      "parameters": {
        "model": "=codestral-embed-2505",
        "options": {}
      },
      "credentials": {
        "mistralCloudApi": {
          "id": "WePlg7cDsdPGleuj",
          "name": "Mistral Cloud account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b6377197-bec2-417a-939e-1aa6c50df842",
      "name": "Haftnotiz 7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        512
      ],
      "parameters": {
        "width": 976,
        "height": 512,
        "content": "## Research Tool Agent\n**This agent handles all research-related queries. It has access to multiple search tools (`Brave Search`, `Wikipedia`, `Tavily`, and a custom Perplexity search) to find the most accurate and up-to-date information from the web.**"
      },
      "typeVersion": 1
    },
    {
      "id": "a8d68692-2753-4d79-a6b7-9dd11214c7e2",
      "name": "openai LLM",
      "type": "@n8n/n8n-nodes-langchain.lmChatVercelAiGateway",
      "position": [
        448,
        32
      ],
      "parameters": {
        "model": "=openai/gpt-oss-120b",
        "options": {}
      },
      "credentials": {
        "vercelAiGatewayApi": {
          "id": "Hz12LiIsMaKH88LB",
          "name": "n8n testing August 22"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "03ff077e-7c99-4aea-b731-ecaca82c9fbd",
      "name": "openai LLM 1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGroq",
      "position": [
        608,
        32
      ],
      "parameters": {
        "model": "=openai/gpt-oss-120b",
        "options": {}
      },
      "credentials": {
        "groqApi": {
          "id": "gJcGdGZFDhE4WiEg",
          "name": "Groq account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8f6697d6-6f46-4adf-956a-1319e1f1cd5e",
      "name": "openai/gpt-oss-120b",
      "type": "@n8n/n8n-nodes-langchain.lmChatVercelAiGateway",
      "position": [
        816,
        912
      ],
      "parameters": {
        "model": "=openai/gpt-oss-120b",
        "options": {}
      },
      "credentials": {
        "vercelAiGatewayApi": {
          "id": "Hz12LiIsMaKH88LB",
          "name": "n8n testing August 22"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "30118025-a9c1-44d4-9e21-34bbc724d0eb",
      "name": "Tavily Web-Suche",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        1376,
        896
      ],
      "parameters": {
        "url": "https://api.tavily.com/search",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters0_Value', ``, 'string') }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "Bearer \"your API Key\""
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "7d4a6069-1ec3-44cd-8993-35d61bedf1a3",
      "name": "openai/gpt-5-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatVercelAiGateway",
      "position": [
        -720,
        864
      ],
      "parameters": {
        "model": "=openai/gpt-5-mini",
        "options": {}
      },
      "credentials": {
        "vercelAiGatewayApi": {
          "id": "Hz12LiIsMaKH88LB",
          "name": "n8n testing August 22"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2a6d1bbd-1b48-451a-a5f8-b647c545c924",
      "name": "openai/gpt-5-mini 1",
      "type": "@n8n/n8n-nodes-langchain.lmChatVercelAiGateway",
      "position": [
        -768,
        576
      ],
      "parameters": {
        "model": "=openai/gpt-5-mini",
        "options": {}
      },
      "credentials": {
        "vercelAiGatewayApi": {
          "id": "Hz12LiIsMaKH88LB",
          "name": "n8n testing August 22"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5e853092-1a3c-4588-a854-1595f8023f64",
      "name": "Nachricht senden",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        1184,
        -192
      ],
      "webhookId": "4c5b3e09-2439-4411-9126-84710396b63e",
      "parameters": {
        "mediaPath": "useMedian8n",
        "operation": "send",
        "messageType": "image",
        "phoneNumberId": "=",
        "additionalFields": {},
        "recipientPhoneNumber": "="
      },
      "credentials": {
        "whatsAppApi": {
          "id": "hQh3jjxZKpejhBHZ",
          "name": "WhatsApp account"
        }
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "d3ca2d52-0656-46bd-8e62-149ed91de187": {
      "main": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "df58f83c-abc9-43fc-8935-552a058ec9ea": {
      "ai_tool": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "88d4f859-563c-4544-86c1-e1cb9aa0de6a": {
      "main": [
        [
          {
            "node": "740c0b36-e4c8-47b2-898c-c6422dea0f68",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "7f58a1fa-7c17-499a-a84b-108e71cf9128",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "af220466-31a3-40c8-9ffc-d26e6d3546c5": {
      "main": [
        [
          {
            "node": "1db6b6a3-0715-4545-b9ce-ef49e484323d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e338e874-e82c-4e96-a44e-dc5e75bafce3": {
      "main": [
        [
          {
            "node": "483c6a74-46cb-4597-8b60-e42acb71106e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a025ca0b-87c3-41e0-b6c1-1605c486c0bc": {
      "main": [
        [
          {
            "node": "af220466-31a3-40c8-9ffc-d26e6d3546c5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "050596e5-1c80-4dd1-984f-199394653f6c": {
      "main": [
        [
          {
            "node": "5e853092-1a3c-4588-a854-1595f8023f64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dc2bd811-0c98-488f-9e41-95b882367030": {
      "ai_tool": [
        [
          {
            "node": "5e3b3446-88b2-4eb5-a853-e61169ac9bcd",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6e48d0a9-804b-4ec1-b9fc-11b30677319e": {
      "ai_tool": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "c4c0cad1-33af-4f13-9e6b-e5e6f2559990": {
      "ai_tool": [
        [
          {
            "node": "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "7f58a1fa-7c17-499a-a84b-108e71cf9128": {
      "main": [
        [
          {
            "node": "d3ca2d52-0656-46bd-8e62-149ed91de187",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fa866ec1-ec7d-4f10-b376-7dbf960c3230": {
      "ai_tool": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "32461746-2727-4c06-95ee-6aa60e613c32": {
      "ai_languageModel": [
        [
          {
            "node": "6e48d0a9-804b-4ec1-b9fc-11b30677319e",
            "type": "ai_languageModel",
            "index": 1
          }
        ]
      ]
    },
    "a8d68692-2753-4d79-a6b7-9dd11214c7e2": {
      "ai_languageModel": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "03ff077e-7c99-4aea-b731-ecaca82c9fbd": {
      "ai_languageModel": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_languageModel",
            "index": 1
          }
        ]
      ]
    },
    "65f6dbf8-207e-4460-9d42-04412f4afd57": {
      "ai_tool": [
        [
          {
            "node": "5e3b3446-88b2-4eb5-a853-e61169ac9bcd",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "2da1edbd-f7a7-484a-86a7-6499bacfd439": {
      "ai_tool": [
        [
          {
            "node": "5e3b3446-88b2-4eb5-a853-e61169ac9bcd",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "26687cab-4c9c-49a7-822a-c129e99a78cd": {
      "main": [
        [
          {
            "node": "201f19c6-b148-45dc-926e-c562ff63c485",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0e9c89e7-9ee9-464b-a6ac-fc757bdd2ebd": {
      "main": [
        [
          {
            "node": "650587b4-e984-457c-9419-016529e05034",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "22ddc16f-9aa4-4967-84fc-f27239cc6e4e": {
      "ai_tool": [
        [
          {
            "node": "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "25a7325a-3d78-477d-aed6-1922a9758964": {
      "main": [
        [
          {
            "node": "0e9c89e7-9ee9-464b-a6ac-fc757bdd2ebd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5e853092-1a3c-4588-a854-1595f8023f64": {
      "main": [
        [
          {
            "node": "d849f985-fe50-442a-a574-a2c77bfa16ec",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9429d89e-2dfa-4ba1-9364-54f256612749": {
      "ai_languageModel": [
        [
          {
            "node": "af220466-31a3-40c8-9ffc-d26e6d3546c5",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "10ff9ba4-f689-490c-bffc-e85fb1b5b110": {
      "main": [
        [
          {
            "node": "d3ca2d52-0656-46bd-8e62-149ed91de187",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "68a9d8d1-7e31-4d97-a2db-6adf8950adb3": {
      "ai_tool": [
        [
          {
            "node": "5e3b3446-88b2-4eb5-a853-e61169ac9bcd",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "1f8a17f4-e027-4fb6-bfc3-1c63bf912097": {
      "ai_tool": [
        [
          {
            "node": "6e48d0a9-804b-4ec1-b9fc-11b30677319e",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "b47e8952-813e-4133-91cc-0b06f7e172ed": {
      "main": [
        [
          {
            "node": "10ff9ba4-f689-490c-bffc-e85fb1b5b110",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e5f68156-d7e4-424c-ac52-2f0c7e3406eb": {
      "main": [
        [
          {
            "node": "70fea3dd-1d12-4549-9fcb-b221fa90e9dd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b1af98a9-b2e9-4548-9e4e-538bc09bd7b7": {
      "ai_memory": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2": {
      "ai_tool": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "740c0b36-e4c8-47b2-898c-c6422dea0f68": {
      "main": [
        [
          {
            "node": "b47e8952-813e-4133-91cc-0b06f7e172ed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5e3b3446-88b2-4eb5-a853-e61169ac9bcd": {
      "ai_tool": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "70fea3dd-1d12-4549-9fcb-b221fa90e9dd": {
      "main": [
        [
          {
            "node": "201f19c6-b148-45dc-926e-c562ff63c485",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "82bed5ea-6807-42db-a0ac-3fa25fc163e5": {
      "ai_tool": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "650587b4-e984-457c-9419-016529e05034": {
      "main": [
        [
          {
            "node": "e5f68156-d7e4-424c-ac52-2f0c7e3406eb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "da372f07-f4df-4f60-bb7f-7eb97d30fe95": {
      "ai_tool": [
        [
          {
            "node": "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "fb8c7351-c381-46d5-8a74-f3e4a1f0e2c9": {
      "ai_tool": [
        [
          {
            "node": "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "f02dc89a-9538-4f3d-9b6c-4ec80f71ba55": {
      "ai_tool": [
        [
          {
            "node": "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "8f94949d-1381-4729-ae31-a060644cd69a": {
      "ai_tool": [
        [
          {
            "node": "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "db5520a2-c423-406b-9150-0cf4a0f99ed2": {
      "main": [
        [
          {
            "node": "88d4f859-563c-4544-86c1-e1cb9aa0de6a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8bebd01d-5b2f-4403-8d46-384eb2aad1a2": {
      "ai_embedding": [
        [
          {
            "node": "201f19c6-b148-45dc-926e-c562ff63c485",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "b33fcdb6-99ba-44f2-b6ab-070e53bf720c": {
      "ai_languageModel": [
        [
          {
            "node": "6e48d0a9-804b-4ec1-b9fc-11b30677319e",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "23cf2e5a-e1cf-45cf-be5b-bd8d4027b86d": {
      "ai_tool": [
        [
          {
            "node": "6e48d0a9-804b-4ec1-b9fc-11b30677319e",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "30118025-a9c1-44d4-9e21-34bbc724d0eb": {
      "ai_tool": [
        [
          {
            "node": "5e3b3446-88b2-4eb5-a853-e61169ac9bcd",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "7d4a6069-1ec3-44cd-8993-35d61bedf1a3": {
      "ai_languageModel": [
        [
          {
            "node": "c4c0cad1-33af-4f13-9e6b-e5e6f2559990",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1db6b6a3-0715-4545-b9ce-ef49e484323d": {
      "main": [
        [
          {
            "node": "25a7325a-3d78-477d-aed6-1922a9758964",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2a6d1bbd-1b48-451a-a5f8-b647c545c924": {
      "ai_languageModel": [
        [
          {
            "node": "0a47aecd-cfa8-44c9-9b28-e1edbc5cc8c2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "653a955e-4b6f-485d-b366-d3ab3c32210d": {
      "ai_document": [
        [
          {
            "node": "201f19c6-b148-45dc-926e-c562ff63c485",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "483c6a74-46cb-4597-8b60-e42acb71106e": {
      "main": [
        [
          {
            "node": "14bf21ee-f158-4e1f-a703-b24483f7a798",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8f6697d6-6f46-4adf-956a-1319e1f1cd5e": {
      "ai_languageModel": [
        [
          {
            "node": "5e3b3446-88b2-4eb5-a853-e61169ac9bcd",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "dae372fa-d531-42aa-a380-17b48e5ee9f0": {
      "ai_embedding": [
        [
          {
            "node": "5380aa75-09f4-44bc-a37e-142f4816e685",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "a3481a80-f0bd-423e-a7b6-51d4bfe0e03e": {
      "ai_embedding": [
        [
          {
            "node": "063b74a7-89f8-479b-88c4-0a4d6fc1e3ca",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "455f2427-d9db-4936-849e-5afc3b05cc85": {
      "ai_languageModel": [
        [
          {
            "node": "5e3b3446-88b2-4eb5-a853-e61169ac9bcd",
            "type": "ai_languageModel",
            "index": 1
          }
        ]
      ]
    },
    "17921c4e-2f85-45cb-a9a2-87cf3102c8ce": {
      "ai_languageModel": [
        [
          {
            "node": "483c6a74-46cb-4597-8b60-e42acb71106e",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "be62742c-4f35-4c22-b325-6f922375700f": {
      "ai_languageModel": [
        [
          {
            "node": "70fea3dd-1d12-4549-9fcb-b221fa90e9dd",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "14bf21ee-f158-4e1f-a703-b24483f7a798": {
      "main": [
        [
          {
            "node": "26687cab-4c9c-49a7-822a-c129e99a78cd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "063b74a7-89f8-479b-88c4-0a4d6fc1e3ca": {
      "ai_tool": [
        [
          {
            "node": "af220466-31a3-40c8-9ffc-d26e6d3546c5",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "5380aa75-09f4-44bc-a37e-142f4816e685": {
      "ai_tool": [
        [
          {
            "node": "050596e5-1c80-4dd1-984f-199394653f6c",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "26f8949b-1876-42dd-a4b2-e79e5e6723ee": {
      "ai_tool": [
        [
          {
            "node": "c4c0cad1-33af-4f13-9e6b-e5e6f2559990",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "0e3279da-25b6-4245-9102-a41b72e692bb": {
      "ai_tool": [
        [
          {
            "node": "c4c0cad1-33af-4f13-9e6b-e5e6f2559990",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "1749a2e0-f4fa-4309-86c8-f0a8b8b0424e": {
      "ai_tool": [
        [
          {
            "node": "c4c0cad1-33af-4f13-9e6b-e5e6f2559990",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - KI-Chatbot, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes71
Kategorie2
Node-Typen30
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor
Iniyavan JC

Iniyavan JC

@netwithjc

🚀 Automation expert & AI enthusiast. I build custom n8n workflows, AI agents, API integrations, and smart automations using LLMs, databases, cloud tools & more. Skilled in Docker, MongoDB, Google Sheets, ACRCloud, and building fast, context-aware agents. Let's turn your idea into a powerful workflow!

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34