This workflow corresponds to n8n.io template #6288 — we link there as the canonical source.
This workflow follows the Agent → Documentdefaultdataloader 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 →
{
"id": "pmEt7zAsJcWZ2lje",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "AI-Powered Customer Support: Email, Knowledge Base & Human Escalation Automation",
"tags": [],
"nodes": [
{
"id": "fb735100-d9b6-487d-b279-33dd655e490a",
"name": "OpenAI Classification Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-960,
944
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {
"maxTokens": 2000,
"temperature": 0.3
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "11388127-5e8b-4308-8234-8ef285e968ea",
"name": "Technical Support Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-368,
512
],
"parameters": {
"text": "={{ $('Gmail Trigger').item.json.text }}",
"options": {
"systemMessage": "You are a technical support specialist. Be technical but friendly. Always include relevant documentation links when possible. Focus on step-by-step troubleshooting and provide clear, actionable solutions. If you can't solve the issue, escalate appropriately."
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "386b4b91-61c0-45e4-91df-0098e4e8f653",
"name": "Billing Support Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-368,
608
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "You are a billing support specialist. Be empathetic with billing issues and always verify customer identity before discussing account details. Handle payment issues, subscription changes, and refund requests professionally. Escalate complex billing disputes to human agents."
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "1558b431-1314-4d14-808a-9101e5a68c5a",
"name": "Urgent Escalation Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-368,
720
],
"parameters": {
"text": "={{ $('Gmail Trigger').item.json.text }}",
"options": {
"systemMessage": "You handle urgent escalations. Prioritize speed and accuracy for critical issues. Immediately notify human agents for service outages, security concerns, or angry customers. Provide immediate workarounds when possible and set proper expectations for resolution times."
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "44dac164-a34a-4658-b624-3104ec8589f1",
"name": "General Support Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-368,
816
],
"parameters": {
"text": "={{ $json.text }} ",
"options": {
"systemMessage": "You are a general support agent. Handle common inquiries with helpful, friendly responses. Direct customers to appropriate resources and escalate complex issues to specialist agents. Maintain a positive, professional tone and ensure customer satisfaction."
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "576c4a87-a86b-4889-b931-882b2127f328",
"name": "Send Gmail Response",
"type": "n8n-nodes-base.gmail",
"position": [
96,
848
],
"parameters": {
"message": "={{ $json.output }}",
"options": {},
"resource": "thread",
"threadId": "={{ $('Gmail Trigger').item.json.threadId }}",
"messageId": "={{ $('Gmail Trigger').item.json.id }}",
"operation": "reply"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "ebf0bca8-da8b-4db5-8fbb-14ad380b9c86",
"name": "Log to Support Dashboard",
"type": "n8n-nodes-base.googleSheets",
"position": [
96,
656
],
"parameters": {
"columns": {
"value": {
"category": "={{ $json.classification.category || '' }}",
"ticket_id": "={{ $('Set Ticket Metadata2').item.json.ticket_id }}",
"timestamp": "={{ $now.toISO() }}",
"ai_response": "={{ $json.output.slice(0, 250) }}",
"Service type": "={{ $('Text Classifier').item.json.classification.category }}",
"issue_summary": "={{ $('Set Ticket Metadata2').item.json.issue_summary }}",
"email address ": "={{ $('Gmail Trigger').item.json.from.value[0].address }}"
},
"schema": [
{
"id": "customer_name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "customer_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email address ",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "email address ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Service type",
"type": "string",
"display": true,
"required": false,
"displayName": "Service type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "appointment date",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "appointment date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "estimated duration",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "estimated duration",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "estimated price",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "estimated price",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "stylist name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "stylist name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "hair length",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "hair length",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "phone number ",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "phone number ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ticket_id",
"type": "string",
"display": true,
"displayName": "ticket_id",
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"displayName": "category",
"canBeUsedToMatch": true
},
{
"id": "issue_summary",
"type": "string",
"display": true,
"displayName": "issue_summary",
"canBeUsedToMatch": true
},
{
"id": "ai_response",
"type": "string",
"display": true,
"displayName": "ai_response",
"canBeUsedToMatch": true
},
{
"id": "timestamp",
"type": "string",
"display": true,
"displayName": "timestamp",
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"email address "
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KFjFpYS9akNv_I-JcQKMQVBT-rXYfK2sC4dP6QYpcp4/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1KFjFpYS9akNv_I-JcQKMQVBT-rXYfK2sC4dP6QYpcp4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1KFjFpYS9akNv_I-JcQKMQVBT-rXYfK2sC4dP6QYpcp4/edit?usp=drivesdk",
"cachedResultName": "SUPPORT LOG "
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.4
},
{
"id": "5f172d3e-afb1-40e5-a92c-74e99181cf24",
"name": "Slack Human Escalation",
"type": "n8n-nodes-base.slack",
"position": [
96,
1088
],
"parameters": {
"text": "\ud83d\udea8 *Urgent Support Escalation*\n\n*Customer:* {{ $json.customer_email }}\n*Issue:* {{ $json.classification.category }}\n*Priority:* {{ $json.classification.priority }}\n*Summary:* {{ $json.issue_summary }}\n*Ticket ID:* {{ $json.ticket_id }}\n\n*Initial AI Response:* {{ $json.ai_response_sent ? 'Sent' : 'Failed to send' }}\n\n*Next Steps:* Human agent required\n*Thread:* Reply to this message to add to ticket #{{ $json.ticket_id }}",
"user": {
"__rl": true,
"mode": "list",
"value": "U08UNT9F5E2",
"cachedResultName": "daevo_workforce"
},
"select": "user",
"otherOptions": {
"mrkdwn": true
},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "3e04908c-590a-4af8-998a-33a782f1dd1b",
"name": "Text Classifier",
"type": "@n8n/n8n-nodes-langchain.textClassifier",
"position": [
-1056,
656
],
"parameters": {
"options": {},
"inputText": "={{ $json.text }}",
"categories": {
"categories": [
{
"category": " Technical Support",
"description": "Emails that report issues or ask for help with how something works. These may include error messages, broken features, login problems, or how-to questions related to your product or service. Examples: \t\u2022\t\u201cI can\u2019t log into my account.\u201d \t\u2022\t\u201cThe app keeps crashing.\u201d \t\u2022\t\u201cHow do I reset my password?\u201d"
},
{
"category": "Billing Support",
"description": "Emails related to payments, subscriptions, invoices, refunds, and pricing concerns. Any email asking about money or account charges should be routed here. Examples: \t\u2022\t\u201cI was charged twice.\u201d \t\u2022\t\u201cCan I get a refund?\u201d \t\u2022\t\u201cWhen will my subscription renew?\u201d"
},
{
"category": "Urgent Escalation",
"description": "Emails that require immediate attention due to serious impact on the user or business. This includes threats to cancel service, legal issues, or downtime affecting many users. Examples: \t\u2022\t\u201cOur service is completely down!\u201d \t\u2022\t\u201cI need to speak to a manager immediately.\u201d \t\u2022\t\u201cThis is a breach of contract.\u201d"
},
{
"category": "General Support",
"description": "All other non-urgent inquiries that don\u2019t fit into the categories above. These could include feedback, feature requests, or general questions not related to billing or tech issues. Examples: \t\u2022\t\u201cDo you offer student discounts?\u201d \t\u2022\t\u201cWhere can I find your documentation?\u201d \t\u2022\t\u201cI love the tool! Do you plan to add XYZ feature?\u201d"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "10e51dbf-dbb2-4040-8dc1-5b1ac609ee93",
"name": "Gmail Trigger",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
-1280,
656
],
"parameters": {
"simple": false,
"filters": {},
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "7e96f31b-ae39-433d-9812-631a54abbab2",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-384,
336
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "cec8e724-65e1-463c-ba96-c260c6c7f77d",
"name": "Pinecone Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-304,
224
],
"parameters": {
"mode": "retrieve-as-tool",
"options": {},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "ragfile",
"cachedResultName": "ragfile"
},
"toolDescription": "use this vector store to get answers from the company knowledge base"
},
"credentials": {
"pineconeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "31950fbc-b56d-4dc5-8e9c-257ee3ce42be",
"name": "Embeddings OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-208,
432
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "5bd4a70e-dcce-4d57-bae5-641296921916",
"name": "Google Drive Trigger",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-864,
1472
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1uf6zZN51rgAuQgid4-Oi314f6mJIQdiB",
"cachedResultUrl": "https://drive.google.com/drive/folders/1uf6zZN51rgAuQgid4-Oi314f6mJIQdiB",
"cachedResultName": "Daex"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "4763b5d6-3575-4613-a151-e12181ac7e19",
"name": "Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
-640,
1472
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "45d351f9-4b82-44f7-a361-d9011ec22183",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
-656,
1904
],
"parameters": {
"options": {},
"dataType": "binary"
},
"typeVersion": 1
},
{
"id": "245e89d4-e60b-48aa-9238-d90169244bbe",
"name": "Recursive Character Text Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
-864,
1904
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "0585c365-66ab-4f6e-be11-cd24da8d82ab",
"name": "Pinecone Vector Store1",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-336,
1424
],
"parameters": {
"mode": "insert",
"options": {},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "ragfile",
"cachedResultName": "ragfile"
}
},
"credentials": {
"pineconeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.1
},
{
"id": "006cb1c9-5729-44c2-b946-4a3689da5eb2",
"name": "Embeddings OpenAI1",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-864,
1696
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "3b7fbe6f-efa3-47ef-ab3b-b1fa780214e4",
"name": "Set Ticket Metadata",
"type": "n8n-nodes-base.set",
"position": [
-656,
208
],
"parameters": {
"values": {
"string": [
{
"name": "ticket_id",
"value": "={{ \n (() => {\n const email = $json.customer_email || $json['email address '] || '';\n const now = Date.now().toString();\n \n let suffix = '';\n if (email.length > 0) {\n const last4 = email.slice(-4);\n for(let i=0; i<last4.length; i++){\n suffix += last4.charCodeAt(i);\n }\n suffix = suffix.slice(0,6);\n } else {\n suffix = Math.floor(Math.random() * 900000 + 100000).toString();\n }\n\n return now + '-' + suffix;\n })()\n}}\n"
},
{
"name": "issue_summary",
"value": "={{ $json.text.slice(0, 250) }}"
},
{
"name": "customer_email",
"value": "={{ $json['email address '] || $('Gmail Trigger').item.json.from.value[0].address }}"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "52761f6b-2f2a-482a-a0bd-bd5fc61db6e9",
"name": "Set Ticket Metadata1",
"type": "n8n-nodes-base.set",
"position": [
-656,
608
],
"parameters": {
"values": {
"string": [
{
"name": "ticket_id",
"value": "={{ \n (() => {\n const email = $json.customer_email || $json['email address '] || '';\n const now = Date.now().toString();\n \n let suffix = '';\n if (email.length > 0) {\n const last4 = email.slice(-4);\n for(let i=0; i<last4.length; i++){\n suffix += last4.charCodeAt(i);\n }\n suffix = suffix.slice(0,6);\n } else {\n suffix = Math.floor(Math.random() * 900000 + 100000).toString();\n }\n\n return now + '-' + suffix;\n })()\n}}\n"
},
{
"name": "issue_summary",
"value": "={{ $json.text.slice(0, 250) }}"
},
{
"name": "customer_email",
"value": "={{ $json['email address '] || $('Gmail Trigger').item.json.from.value[0].address }}"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "99063eb3-55ab-43fa-aa9d-653e990abaee",
"name": "Set Ticket Metadata2",
"type": "n8n-nodes-base.set",
"position": [
-656,
1184
],
"parameters": {
"values": {
"string": [
{
"name": "ticket_id",
"value": "={{ \n (() => {\n const email = $json.customer_email || $json['email address '] || '';\n const now = Date.now().toString();\n \n let suffix = '';\n if (email.length > 0) {\n const last4 = email.slice(-4);\n for(let i=0; i<last4.length; i++){\n suffix += last4.charCodeAt(i);\n }\n suffix = suffix.slice(0,6);\n } else {\n suffix = Math.floor(Math.random() * 900000 + 100000).toString();\n }\n\n return now + '-' + suffix;\n })()\n}}\n"
},
{
"name": "issue_summary",
"value": "={{ $json.text.slice(0, 250) }}"
},
{
"name": "customer_email",
"value": "={{ $json['email address '] || $('Gmail Trigger').item.json.from.value[0].address }}"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "7a34e575-654e-4c29-97f2-a2552d322ee5",
"name": "Set Ticket Metadata3",
"type": "n8n-nodes-base.set",
"position": [
-656,
944
],
"parameters": {
"values": {
"string": [
{
"name": "ticket_id",
"value": "={{ \n (() => {\n const email = $json.customer_email || $json['email address '] || '';\n const now = Date.now().toString();\n \n let suffix = '';\n if (email.length > 0) {\n const last4 = email.slice(-4);\n for(let i=0; i<last4.length; i++){\n suffix += last4.charCodeAt(i);\n }\n suffix = suffix.slice(0,6);\n } else {\n suffix = Math.floor(Math.random() * 900000 + 100000).toString();\n }\n\n return now + '-' + suffix;\n })()\n}}\n"
},
{
"name": "issue_summary",
"value": "={{ $json.text.slice(0, 250) }}"
},
{
"name": "customer_email",
"value": "={{ $json['email address '] || $('Gmail Trigger').item.json.from.value[0].address }}"
}
]
},
"options": {}
},
"typeVersion": 2
},
{
"id": "695f8848-a813-44b3-88e2-27f351e52c2b",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2048,
496
],
"parameters": {
"color": 7,
"width": 720,
"height": 672,
"content": "### \ud83d\ude80 AI-Powered Customer Support Workflow\n\nThis workflow automates customer inquiry handling, offering intelligent classification, AI-driven responses, robust logging, and urgent human escalation.\n\n---\n\n**Author : David Olusola**\n\n#### \u2728 **Key Features:**\n\n* **Gmail Integration:** Triggers on new emails for seamless intake.\n* **Intelligent Text Classification:** Categorizes inquiries into:\n * Technical Support\n * Billing Support\n * Urgent Escalation\n * General Support\n* **Specialized AI Agents (Google Gemini + OpenAI Embeddings):** Tailored responses for each category, leveraging a custom knowledge base (`ragfile`).\n* **RAG (Retrieval-Augmented Generation):** AI agents retrieve relevant info from your knowledge base (Pinecone Vector Store) for accurate, contextual responses.\n* **Automated Gmail Responses:** Sends AI-generated replies directly to customers.\n* **Comprehensive Logging:** Records all interactions in a Google Sheet for analysis.\n* **Urgent Human Escalation:** Notifies human agents via Slack for critical issues.\n* **Dynamic Knowledge Base Updates:** Automatically updates Pinecone from Google Drive uploads.\n\n---\n\n\n\n"
},
"typeVersion": 1
},
{
"id": "1d20c34c-2ee4-407f-afd5-e3617ed7ea8d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
64
],
"parameters": {
"color": 7,
"width": 1024,
"height": 832,
"content": "#### \ud83d\udee0\ufe0f **How to Customize & Set Up:**\n\n1. **Credentials:**\n * **Gmail:** Ensure your Gmail account is connected for both triggering and sending responses.\n * **OpenAI:** For `OpenAI Classification Model` and `Embeddings OpenAI` (main & knowledge base update).\n * **Google Gemini (Google Palm API):** For your specialized AI Agents.\n * **Pinecone:** For `Pinecone Vector Store` (main & knowledge base update).\n * **Google Sheets:** For `Log to Support Dashboard`.\n * **Slack:** For `Slack Human Escalation`.\n * **Google Drive:** For `Google Drive Trigger` and `Google Drive` (for knowledge base updates).\n\n2. **Text Classifier**\n * Review and refine the `categories` and `description` to perfectly match your agency's support structure and common inquiry types.\n\n3. **Specialized AI Agents:**\n * **System Messages:** Adjust the `systemMessage` for each agent (Technical, Billing, Urgent, General Support Agent) to align with your desired tone, specific instructions, and key information to include.\n * **Knowledge Base (`Pinecone Vector Store`):** Ensure your `ragfile` Pinecone index is correctly configured and populated with your agency's policies, FAQs, and documentation. The `Google Drive` -> `Pinecone Vector Store1` branch handles automated updates.\n\n4. **Log to Support Dashboard:**\n * **Google Sheet ID:** Update the `Document ID` to link to *your* specific Google Sheet.\n * **Sheet Name:** Verify `Sheet1` or update to your desired sheet name.\n * **Column Mappings:** Confirm mappings are correct. The `Service type` is now correctly mapped to the classified category. If you need the *full* AI response (not truncated), remove `.slice(0, 250)` from the `ai_response` mapping.\n\n5. **Slack Human Escalation **\n * **Slack User/Channel:** Update `User` or `Channel` to ensure urgent notifications go to the correct team/individual.\n * **Message Content:** Customize the message markdown to include all necessary details for your human agents.\n\n---"
},
"typeVersion": 1
},
{
"id": "f98310ed-0b43-4082-978c-ef97678cd978",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1968,
1168
],
"parameters": {
"width": 464,
"height": 736,
"content": "#### \ud83d\udcca **Google Sheet Setup for \"Log to Support Dashboard\"**\n\nCreate a new Google Sheet (or use an existing one) and ensure the first row (headers) contains the following columns, exactly as listed (case-sensitive, including spaces):\n\n* `customer_name`\n* `email address `\n* `Service type`\n* `ticket_id`\n* `category`\n* `issue_summary`\n* `ai_response`\n* `timestamp`\n\n---\n\n#### \u26a0\ufe0f **Important Notes:**\n\n* **Test Thoroughly:** Before full deployment, run extensive tests with various types of emails to ensure correct classification, response generation, and logging.\n* **Monitor AI Performance:** Regularly review AI responses and classifications in your Google Sheet to identify areas for improvement.\n* **Security:** Be mindful of sensitive customer data when configuring logging and AI responses.\n* **API Limits:** Be aware of usage limits and costs for your LLM and Vector Store providers.\n\n---\n\n#### \ud83d\udca1 **Need n8n consulting or coaching?**\n\ud83d\udc49 [Email us at David@daexai.com](mailto:David@daexai.com)"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "0d57afb8-3317-48d5-b39e-84ea6aa3cf76",
"connections": {
"Google Drive": {
"main": [
[
{
"node": "Pinecone Vector Store1",
"type": "main",
"index": 0
}
]
]
},
"Gmail Trigger": {
"main": [
[
{
"node": "Text Classifier",
"type": "main",
"index": 0
}
]
]
},
"Text Classifier": {
"main": [
[
{
"node": "Set Ticket Metadata",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Ticket Metadata1",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Ticket Metadata3",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Ticket Metadata2",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Embeddings OpenAI1": {
"ai_embedding": [
[
{
"node": "Pinecone Vector Store1",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Pinecone Vector Store1",
"type": "ai_document",
"index": 0
}
]
]
},
"Set Ticket Metadata": {
"main": [
[
{
"node": "Technical Support Agent",
"type": "main",
"index": 0
}
]
]
},
"Google Drive Trigger": {
"main": [
[
{
"node": "Google Drive",
"type": "main",
"index": 0
}
]
]
},
"Set Ticket Metadata1": {
"main": [
[
{
"node": "Billing Support Agent",
"type": "main",
"index": 0
}
]
]
},
"Set Ticket Metadata2": {
"main": [
[
{
"node": "General Support Agent",
"type": "main",
"index": 0
}
]
]
},
"Set Ticket Metadata3": {
"main": [
[
{
"node": "Urgent Escalation Agent",
"type": "main",
"index": 0
}
]
]
},
"Billing Support Agent": {
"main": [
[
{
"node": "Send Gmail Response",
"type": "main",
"index": 0
},
{
"node": "Log to Support Dashboard",
"type": "main",
"index": 0
}
]
]
},
"General Support Agent": {
"main": [
[
{
"node": "Send Gmail Response",
"type": "main",
"index": 0
},
{
"node": "Log to Support Dashboard",
"type": "main",
"index": 0
}
]
]
},
"Pinecone Vector Store": {
"ai_tool": [
[
{
"node": "Technical Support Agent",
"type": "ai_tool",
"index": 0
},
{
"node": "Billing Support Agent",
"type": "ai_tool",
"index": 0
},
{
"node": "Urgent Escalation Agent",
"type": "ai_tool",
"index": 0
},
{
"node": "General Support Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Technical Support Agent": {
"main": [
[
{
"node": "Send Gmail Response",
"type": "main",
"index": 0
},
{
"node": "Log to Support Dashboard",
"type": "main",
"index": 0
}
]
]
},
"Urgent Escalation Agent": {
"main": [
[
{
"node": "Send Gmail Response",
"type": "main",
"index": 0
},
{
"node": "Log to Support Dashboard",
"type": "main",
"index": 0
},
{
"node": "Slack Human Escalation",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Technical Support Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Billing Support Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Urgent Escalation Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "General Support Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Classification Model": {
"ai_languageModel": [
[
{
"node": "Text Classifier",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Recursive Character Text Splitter": {
"ai_textSplitter": [
[
{
"node": "Default Data Loader",
"type": "ai_textSplitter",
"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.
gmailOAuth2googleDriveOAuth2ApigooglePalmApigoogleSheetsOAuth2ApiopenAiApipineconeApislackOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Unlock unparalleled efficiency and elevate customer satisfaction with our AI-Powered Customer Support: Email, Knowledge Base & Human Escalation Automation template. This sophisticated n8n workflow is engineered to streamline your support operations, ensuring every customer…
Source: https://n8n.io/workflows/6288/ — 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.
Api Schema Extractor. Uses manualTrigger, httpRequest, splitOut, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 88 nodes.
Wait Splitout. Uses manualTrigger, httpRequest, splitOut, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 88 nodes.
This workflow automates the process of discovering and extracting APIs from various services, followed by generating custom schemas. It works in three distinct stages: research, extraction, and schema
Your AI workforce is ready. Are you?
This intelligent chatbot leverages cutting-edge financial APIs and AI-driven analysis to deliver comprehensive stock research reports. Get instant access to professional-grade investment analysis that