This workflow corresponds to n8n.io template #7590 — we link there as the canonical source.
This workflow follows the Agent → Chat Trigger 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "a5c3ebce-f05b-4985-96ef-b98b8db66a22",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-1216,
2176
],
"parameters": {
"options": {}
},
"typeVersion": 1.3
},
{
"id": "c01659d9-5000-41a9-888e-69f341671baa",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-816,
2544
],
"parameters": {
"jsonSchemaExample": "{\n\t\"language\": \"English\"\n}"
},
"typeVersion": 1.3
},
{
"id": "a18b9aa9-16d8-4a35-94f5-0858f3a494ca",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1120,
2608
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5-nano",
"cachedResultName": "gpt-5-nano"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "038c0447-c2c3-44cd-8c32-191420a284d7",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
-480,
2144
],
"parameters": {
"options": {},
"fieldToSplitOut": "languages"
},
"typeVersion": 1
},
{
"id": "574618a3-c10b-4acc-9599-a2c332151170",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-224,
2480
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5-nano",
"cachedResultName": "gpt-5-nano"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "a9c9d55b-708d-4404-bde5-646690b1be8e",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-32,
2480
],
"parameters": {
"sessionKey": "={{ $('When chat message received').item.json.sessionId }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "e0b9ac67-8637-49f3-bdd6-e456823e91e6",
"name": "Ecommerce Language Prompts",
"type": "n8n-nodes-base.set",
"position": [
-752,
2160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "languages",
"name": "languages",
"type": "array",
"value": [
{
"language": "english",
"system_prompt": "You are a friendly and professional ecommerce customer service assistant. Help customers with product inquiries, order tracking, returns, and general shopping questions. Always be polite, helpful, and aim to provide accurate information about products and services. If you cannot find specific information, guide the customer to the appropriate resources or suggest contacting human support. Keep responses concise but informative, and always prioritize customer satisfaction."
},
{
"language": "spanish",
"system_prompt": "Eres un asistente de servicio al cliente de comercio electr\u00f3nico amigable y profesional. Ayuda a los clientes con consultas de productos, seguimiento de pedidos, devoluciones y preguntas generales de compras. Siempre s\u00e9 cort\u00e9s, \u00fatil y busca proporcionar informaci\u00f3n precisa sobre productos y servicios. Si no puedes encontrar informaci\u00f3n espec\u00edfica, gu\u00eda al cliente a los recursos apropiados o sugiere contactar al soporte humano. Mant\u00e9n las respuestas concisas pero informativas, y siempre prioriza la satisfacci\u00f3n del cliente."
},
{
"language": "french",
"system_prompt": "Vous \u00eates un assistant de service client e-commerce amical et professionnel. Aidez les clients avec les demandes de produits, le suivi des commandes, les retours et les questions g\u00e9n\u00e9rales d'achat. Soyez toujours poli, serviable et visez \u00e0 fournir des informations pr\u00e9cises sur les produits et services. Si vous ne trouvez pas d'informations sp\u00e9cifiques, guidez le client vers les ressources appropri\u00e9es ou sugg\u00e9rez de contacter le support humain. Gardez les r\u00e9ponses concises mais informatives, et priorisez toujours la satisfaction du client."
}
]
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b9266b06-fd77-420d-a320-570d58b3ab47",
"name": "Keep Only Selected Language",
"type": "n8n-nodes-base.merge",
"position": [
-480,
2432
],
"parameters": {
"mode": "combine",
"options": {
"fuzzyCompare": false
},
"advanced": true,
"mergeByFields": {
"values": [
{
"field1": "language",
"field2": "output.language"
}
]
}
},
"typeVersion": 3.2
},
{
"id": "2943304d-2f38-4cde-b351-98eced80460a",
"name": "Detect Language",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1040,
2288
],
"parameters": {
"options": {
"systemMessage": "Identify what language this is written in. output the language. \n\noutput like this. all lower case\n\n{\n\t\"language\": \"English\"\n}"
},
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "a3d76522-3b39-4674-9312-2090643d1235",
"name": "Chat Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-256,
2208
],
"parameters": {
"text": "={{ $('When chat message received').item.json.chatInput }}",
"options": {
"systemMessage": "={{ $json.system_prompt }}"
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "900cadeb-ed9e-410b-bd03-6aefa132f100",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1728,
1968
],
"parameters": {
"width": 400,
"height": 784,
"content": "## \u2699\ufe0f Setup Instructions\n\n### 1\ufe0f\u20e3 Set Up OpenAI Connection\n#### Get API Key\n1. Go to [OpenAI Platform](https://platform.openai.com/api-keys) \n2. Go to [OpenAI Billing](https://platform.openai.com/settings/organization/billing/overview) \n3. Add funds to your billing account \n4. Copy your API key into the **OpenAI credentials** in n8n \n\n### 2\ufe0f\u20e3 Configure Your Languages & Prompts\n- Open the **Set Node** named `Ecommerce Language Prompts`. \n- Update or expand the list of languages and their **system prompts**. \n- Example already includes: \n - English \n - Spanish \n - French \n\n## \ud83d\udcec Contact Information\nNeed help customizing this workflow or building similar automations? \n\n\ud83d\udce7 Email: [robert@ynteractive.com](mailto:robert@ynteractive.com) \n\ud83d\udd17 LinkedIn: [Robert Breen](https://www.linkedin.com/in/robert-breen-29429625/) \n\ud83c\udf10 Website: [ynteractive.com](https://ynteractive.com) \n\n"
},
"typeVersion": 1
},
{
"id": "ed260a85-7b05-4c07-af6f-81621aaa5699",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1280,
1968
],
"parameters": {
"color": 7,
"width": 1392,
"height": 784,
"content": "# \ud83c\udf0d Multilingual eCommerce Customer Service Chatbot (n8n Workflow)\n\nThis workflow creates a **multilingual eCommerce chatbot** that automatically detects the customer\u2019s language and provides tailored responses. It is designed for online shops to improve customer support in English, Spanish, and French.\n\nThe chatbot is powered by **OpenAI\u2019s GPT-5 Nano** and runs entirely inside **n8n**, with built-in memory to keep conversations contextual and helpful.\n"
},
"typeVersion": 1
},
{
"id": "f83c5946-8ed3-410e-aad6-f81f6144afa3",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1232,
2416
],
"parameters": {
"color": 3,
"width": 288,
"height": 304,
"content": "### 1. Set Up OpenAI Connection\n\n#### Get API Key:\n1. Go to [OpenAI Platform](https://platform.openai.com/api-keys)\n1. Go to [OpenAI Billing](https://platform.openai.com/settings/organization/billing/overview)\n2. Add funds to your billing account & copy your api key into the openAI credentials\n"
},
"typeVersion": 1
}
],
"connections": {
"Split Out": {
"main": [
[
{
"node": "Keep Only Selected Language",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "Chat Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Detect Language": {
"main": [
[
{
"node": "Keep Only Selected Language",
"type": "main",
"index": 1
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Detect Language",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Chat Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Detect Language",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Ecommerce Language Prompts": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "Detect Language",
"type": "main",
"index": 0
},
{
"node": "Ecommerce Language Prompts",
"type": "main",
"index": 0
}
]
]
},
"Keep Only Selected Language": {
"main": [
[
{
"node": "Chat Agent",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow creates a multilingual eCommerce chatbot that automatically detects the customer’s language and provides tailored responses. It is designed for online shops to improve customer support in English, Spanish, and French.
Source: https://n8n.io/workflows/7590/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
HDW Lead Geländewagen. Uses chatTrigger, lmChatOpenAi, memoryBufferWindow, outputParserStructured. Chat trigger; 92 nodes.
by Varritech Technologies
Who is this workflow for? This workflow is designed for SEO analysts, content creators, marketing agencies, and developers who need to index a website and then interact with its content as if it were
This workflow enables users to interact with a PostgreSQL database using natural language. It translates text inputs into SQL queries, retrieves the corresponding data, and generates visualizations us
This Chatbot automates the process of discovering job openings and generating tailored job application emails.