Translate foreign-language support emails
AI translates non-English support emails and posts the translation to Slack.
How it works
- Receive the support email.
- Ask an AI model to detect the language and translate it to English.
- If it wasn't English, post the translation to #support.
Diagram
Build it
Pick your tool — same automation, step by step.
Copy and paste straight into an n8n canvas (Ctrl+V), or download and use Import from File. Then connect your own credentials and replace every YOUR_… placeholder. AI steps use a Claude model node — swap it for OpenAI, Gemini or Ollama if you prefer.
Show code (182 lines)
{
"name": "Translate foreign-language support emails (Flowngn)",
"nodes": [
{
"parameters": {
"content": "## Translate foreign-language support emails\nAI translates non-English support emails and posts the translation to Slack.\n\n**Setup**\n1. Open each node and connect your own credentials.\n2. Replace every YOUR_… placeholder.\n3. Test once, then activate.\n\nFree template from Flowngn",
"height": 260,
"width": 340
},
"id": "292cf932-28a7-4f70-a672-217cff98d0c6",
"name": "Setup notes",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-420,
-60
]
},
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"simple": false,
"filters": {
"q": "to:support@yourcompany.com"
},
"options": {}
},
"id": "292cf932-28a7-4f70-a672-217cff98d0c6",
"name": "Support email",
"type": "n8n-nodes-base.gmailTrigger",
"typeVersion": 1.2,
"position": [
0,
0
]
},
{
"parameters": {
"promptType": "define",
"text": "=If this email is already in English, reply with exactly ENGLISH. Otherwise reply with the language name on the first line and an English translation below it.\n\nSubject: {{ $json.subject }}\n\n{{ $json.text }}"
},
"id": "292cf932-28a7-4f70-a672-217cff98d0c6",
"name": "Translate",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"typeVersion": 1.5,
"position": [
300,
0
]
},
{
"parameters": {
"model": {
"__rl": true,
"value": "claude-sonnet-5",
"mode": "list"
},
"options": {}
},
"id": "292cf932-28a7-4f70-a672-217cff98d0c6",
"name": "Claude model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"typeVersion": 1.3,
"position": [
300,
220
]
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "loose"
},
"conditions": [
{
"id": "c1",
"leftValue": "={{ $json.text.trim() }}",
"rightValue": "ENGLISH",
"operator": {
"type": "string",
"operation": "notEquals"
}
}
],
"combinator": "and"
},
"options": {}
},
"id": "292cf932-28a7-4f70-a672-217cff98d0c6",
"name": "Not English?",
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
600,
0
]
},
{
"parameters": {
"select": "channel",
"channelId": {
"__rl": true,
"value": "#support",
"mode": "name"
},
"text": "=🌍 {{ $('Support email').item.json.subject }} (from {{ $('Support email').item.json.from.value[0].address }})\n\n{{ $json.text }}",
"otherOptions": {}
},
"id": "292cf932-28a7-4f70-a672-217cff98d0c6",
"name": "Post translation",
"type": "n8n-nodes-base.slack",
"typeVersion": 2.2,
"position": [
900,
0
]
}
],
"connections": {
"Support email": {
"main": [
[
{
"node": "Translate",
"type": "main",
"index": 0
}
]
]
},
"Translate": {
"main": [
[
{
"node": "Not English?",
"type": "main",
"index": 0
}
]
]
},
"Not English?": {
"main": [
[
{
"node": "Post translation",
"type": "main",
"index": 0
}
]
]
},
"Claude model": {
"ai_languageModel": [
[
{
"node": "Translate",
"type": "ai_languageModel",
"index": 0
}
]
]
}
},
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"meta": {
"templateCredsSetupCompleted": false
},
"tags": []
}In Make, create a new scenario and add these modules in order:
- Gmail › Watch Emails (search: to:support@yourcompany.com)
- Anthropic Claude › Create a Prompt (or OpenAI › Create a Completion)
- Filter on the next route: “Not English?”
- If yesSlack › Create a Message
- Every module run uses Make operations — the free plan includes a monthly quota.
- Module and step names can differ slightly as Make and Zapier update their apps.
In Zapier, create a new Zap and add these steps in order:
- Gmail — New Email Matching Search (to:support@yourcompany.com)
- Anthropic (Claude) — Send Message (or ChatGPT — Conversation)
- Filter by Zapier: “Not English?”
- If yesSlack — Send Channel Message
- Zaps with more than two steps need a paid Zapier plan.
- Webhooks, Filters/Paths and Code by Zapier are premium features on some Zapier plans.
- Module and step names can differ slightly as Make and Zapier update their apps.
Tips
- Reverse it: have AI translate your reply back into the customer's language.
Related flows
AI triage for support emails
AI labels every support email (billing, bug, question) and routes it to the right place.
Catch unhappy customers from feedback forms
AI reads every feedback response and alerts you instantly when it's negative.
Google reviews → AI reply drafts + bad-review alerts
Every new Google review gets a suggested reply, and 1–3 star reviews alert your team instantly.