{ "id": "8jdT4wXjV5NljqKa", "meta": { "instanceId": "workflow-ebd586b1", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:49.720664", "updatedAt": "2025-09-29T07:07:49.720679", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "Enhance Chat Responses with Real-Time Search Data via Bright Data & Gemini AI", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "7294b048-5804-4620-a53e-52df293c3df1", "name": "When chat message received", "type": "n8n-nodes-base.noOp", "position": [ -460, 160 ], "webhookId": "3ad383ee-ded9-4a46-9165-9af0bad6c450", "parameters": { "options": {} }, "typeVersion": 1.1, "notes": "This chatTrigger node performs automated tasks as part of the workflow." }, { "id": "8ff09a26-ffa4-451d-9452-35b8f2936cab", "name": "AI Agent", "type": "n8n-nodes-base.noOp", "position": [ -140, 60 ], "parameters": { "options": { "systemMessage": "You are a helpful assistant.\n\nUse MCP Search Engine assistant tools for Bright Data for Google, Bing or Yandex Search. \n\nImportant: Return the response to Chat and also perform the webhook notification of responses.\n\nUse the relevant tool in the order of execution. " } }, "typeVersion": 1.8, "notes": "This agent node performs automated tasks as part of the workflow." }, { "id": "92352366-7fe5-407d-aa34-96ac19b13284", "name": "Google Gemini Chat Model", "type": "n8n-nodes-base.noOp", "position": [ -240, 280 ], "parameters": { "options": {}, "modelName": "models/gemini-2.0-flash-exp" }, "credentials": { "googlePalmApi": { "id": "YeO7dHZnuGBVQKVZ", "name": "Google Gemini(PaLM) Api account" } }, "typeVersion": 1, "notes": "This lmChatGoogleGemini node performs automated tasks as part of the workflow." }, { "id": "b6d947d1-9752-4aff-834c-de99ff1ad903", "name": "Simple Memory", "type": "n8n-nodes-base.noOp", "position": [ -60, 280 ], "parameters": {}, "typeVersion": 1.3, "notes": "This memoryBufferWindow node performs automated tasks as part of the workflow." }, { "id": "73273d82-2a2f-41a2-ad1c-369f7a05ebe1", "name": "When clicking ‘Test workflow’", "type": "n8n-nodes-base.manualTrigger", "position": [ -480, -200 ], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow." }, { "id": "39464933-03e0-46a2-ba3b-ab96aa14461e", "name": "MCP Client list all tools for Bright Data", "type": "n8n-nodes-mcp.mcpClient", "position": [ -260, -200 ], "parameters": {}, "credentials": { "mcpClientApi": { "id": "JtatFSfA2kkwctYa", "name": "MCP Client (STDIO) account" } }, "typeVersion": 1, "notes": "This mcpClient node performs automated tasks as part of the workflow." }, { "id": "9d0d498f-10da-4a66-9e59-1773089d5d7c", "name": "MCP Client Bright Data Search Tool", "type": "n8n-nodes-mcp.mcpClient", "position": [ 160, -200 ], "parameters": { "toolName": "={{ $('MCP Client list all tools for Bright Data').item.json.tools[0].name }}", "operation": "executeTool", "toolParameters": "={\n \"query\": \"{{ $json.search_query }}\",\n \"engine\": \"google\"\n} " }, "credentials": { "mcpClientApi": { "id": "JtatFSfA2kkwctYa", "name": "MCP Client (STDIO) account" } }, "typeVersion": 1, "notes": "This mcpClient node performs automated tasks as part of the workflow." }, { "id": "346fd1f7-be97-47b6-b767-74382dc90979", "name": "Set search query", "type": "n8n-nodes-base.set", "position": [ -60, -200 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "214e61a0-3587-453f-baf5-eac013990857", "name": "search_query", "type": "string", "value": "Bright Data" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "1dc4dabe-d651-4b43-b561-4528be14e578", "name": "Google Search Engine for Bright Data", "type": "n8n-nodes-mcp.mcpClientTool", "notes": "Scrape search results from Google, Bing or Yandex. Returns SERP results in markdown (URL, title, description)", "position": [ 240, 540 ], "parameters": { "toolName": "search_engine", "operation": "executeTool", "toolParameters": "={\n \"query\": \"{{ $json.chatInput }}\",\n \"engine\": \"google\"\n}" }, "credentials": { "mcpClientApi": { "id": "JtatFSfA2kkwctYa", "name": "MCP Client (STDIO) account" } }, "notesInFlow": true, "typeVersion": 1 }, { "id": "029f5e0e-070f-47a7-8c77-2b59ca01ada4", "name": "Bing Search Engine for Bright Data", "type": "n8n-nodes-mcp.mcpClientTool", "notes": "Scrape search results from Google, Bing or Yandex. Returns SERP results in markdown (URL, title, description)", "position": [ 40, 540 ], "parameters": { "toolName": "search_engine", "operation": "executeTool", "toolParameters": "={\n \"query\": \"{{ $json.chatInput }}\",\n \"engine\": \"bing\"\n} " }, "credentials": { "mcpClientApi": { "id": "JtatFSfA2kkwctYa", "name": "MCP Client (STDIO) account" } }, "notesInFlow": true, "typeVersion": 1 }, { "id": "580d37de-deb9-49cf-b9b8-4d14edca28f2", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -40, 460 ], "parameters": { "color": 4, "width": 640, "height": 240, "content": "## Bright Data Search Engines" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "bb77ba7c-c70e-4912-96f6-4f63b966c7a9", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ -100, -260 ], "parameters": { "color": 3, "width": 460, "height": 260, "content": "## Bright Data Google Search" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "ecdd9f42-f56c-4bdb-b778-cd3b7545bb37", "name": "MCP Client List all tools", "type": "n8n-nodes-mcp.mcpClientTool", "position": [ 260, 280 ], "parameters": {}, "credentials": { "mcpClientApi": { "id": "JtatFSfA2kkwctYa", "name": "MCP Client (STDIO) account" } }, "typeVersion": 1, "notes": "This mcpClientTool node performs automated tasks as part of the workflow." }, { "id": "a1adfa84-6e1a-4b5c-9148-feddb1e6ab72", "name": "HTTP Request for Webhook Notification", "type": "n8n-nodes-base.noOp", "position": [ 500, 240 ], "parameters": { "url": "{{ $env.WEBHOOK_URL }}", "method": "POST", "sendBody": true, "parametersBody": { "values": [ { "name": "chat_response" } ] }, "toolDescription": "Webhook notification for search responses" }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "ae88bb19-170f-443f-b777-561cf2e3be25", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ -100, -400 ], "parameters": { "width": 440, "height": 120, "content": "## Disclaimer\nThis template is only available on n8n self-hosted as it's making use of the community node for MCP Client." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "80ac697d-2c4a-4f97-82aa-edcabbf7ef6f", "name": "Yandex Search Engine for Bright Data", "type": "n8n-nodes-mcp.mcpClientTool", "notes": "Scrape search results from Google, Bing or Yandex. Returns SERP results in markdown (URL, title, description)", "position": [ 460, 540 ], "parameters": { "toolName": "search_engine", "operation": "executeTool", "toolParameters": "={\n \"query\": \"{{ $json.chatInput }}\",\n \"engine\": \"yandex\"\n}" }, "credentials": { "mcpClientApi": { "id": "JtatFSfA2kkwctYa", "name": "MCP Client (STDIO) account" } }, "notesInFlow": true, "typeVersion": 1 }, { "id": "dfb2117d-782f-44d9-baca-1ee4b0fef863", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ -940, -40 ], "parameters": { "color": 5, "width": 400, "height": 220, "content": "## Note\nUse Bright Data MCP Search Engine assistant tools to perform Google, Bing or Yandex Search.\n\nThe AI Agent will make use of suitable search engine-based tools, returns the response to Chat and also performs the Webhook notification call for sending the AI responses via the MCP Client tools.\n\nSource - {{ $env.WEBHOOK_URL }}" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "694b3381-8ebe-4afb-be93-019715c0c2cf", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [ -440, 460 ], "parameters": { "width": 300, "height": 180, "content": "## LLM Usage\nGoogle Gemini is employed by the AI agent to understand and interpret user queries. Based on this interpretation, the agent initiates a call to the appropriate MCP client to perform the required web search task." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "2382b23d-fd06-4f10-bcbd-f09a944a1c8d", "connections": { "a1adfa84-6e1a-4b5c-9148-feddb1e6ab72": { "main": [ [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72", "type": "main", "index": 0 } ], [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72-9c6cd3d5", "type": "main", "index": 0 } ], [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72-7b22ae46", "type": "main", "index": 0 } ], [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72-16cc34ef", "type": "main", "index": 0 } ], [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72-dcabd60e", "type": "main", "index": 0 } ], [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72-2435cf62", "type": "main", "index": 0 } ], [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72-bbb11b2d", "type": "main", "index": 0 } ], [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72-1e58b040", "type": "main", "index": 0 } ], [ { "node": "error-handler-a1adfa84-6e1a-4b5c-9148-feddb1e6ab72-169c336e", "type": "main", "index": 0 } ] ] }, "92352366-7fe5-407d-aa34-96ac19b13284": { "main": [ [ { "node": "error-handler-92352366-7fe5-407d-aa34-96ac19b13284-06642ac3", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: Enhance Chat Responses with Real-Time Search Data via Bright Data & Gemini AI. This workflow integrates 11 different services: stickyNote, toolHttpRequest, lmChatGoogleGemini, agent, mcpClientTool. It contains 21 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: Enhance Chat Responses with Real-Time Search Data via Bright Data & Gemini AI. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }