Agent de support client Gmail basé sur Gemini 2.5, RAG et le réordonnancement Cohere
Ceci est uncontenant 12 nœuds.Utilise principalement des nœuds comme Gmail, GmailTrigger, Agent, RerankerCohere, EmbeddingsOpenAi. Agent clientèle Gmail basé sur Gemini 2.5, RAG et le réarrangement Cohere
- •Compte Google et informations d'identification Gmail API
- •Clé API OpenAI
- •Clé API Google Gemini
- •Informations de connexion à la base de données PostgreSQL
- •Clé API Pinecone
Nœuds utilisés (12)
Catégorie
{
"meta": {
"instanceId": "3d7eb9567ae690bf8c9bba1cb43396e6e40c18e15eb5889cf9673ed1713da6db",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "113d6fd7-2850-4562-adad-d664ba8dc448",
"name": "Déclencheur Gmail",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
3104,
2080
],
"parameters": {
"simple": false,
"filters": {},
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "JpuoplF0PostDvKB",
"name": "Gmail account"
}
},
"typeVersion": 1.3
},
{
"id": "d1d4a3be-70bc-436b-a7b9-2ee00e426a55",
"name": "Gemini 2.5",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
3312,
2288
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "7v8o9EaQkl33woxm",
"name": "v9"
}
},
"typeVersion": 1
},
{
"id": "dd551d6b-adb2-473b-8982-8ac9b3be46b3",
"name": "Gmail Reply",
"type": "n8n-nodes-base.gmail",
"position": [
3664,
2080
],
"webhookId": "781b8efc-e90e-4f90-98f1-d92c2a42f088",
"parameters": {
"message": "={{ $json.output }}",
"options": {
"appendAttribution": false
},
"emailType": "text",
"messageId": "={{ $('Gmail Trigger').item.json.id }}",
"operation": "reply"
},
"credentials": {
"gmailOAuth2": {
"id": "JpuoplF0PostDvKB",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "32c51c6d-4ba8-45c4-b689-a7906d5a66b6",
"name": "Cohere Reranker",
"type": "@n8n/n8n-nodes-langchain.rerankerCohere",
"position": [
3744,
2448
],
"parameters": {},
"credentials": {
"cohereApi": {
"id": "5UlwdPGx9tyNlbT4",
"name": "CohereAI"
}
},
"typeVersion": 1
},
{
"id": "5a55a56f-07f0-4da9-b333-be81d39c49c7",
"name": "Pinecone Retriever",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
3568,
2288
],
"parameters": {
"mode": "retrieve-as-tool",
"topK": 10,
"options": {},
"useReranker": true,
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "agency-info",
"cachedResultName": "agency-info"
},
"toolDescription": "Info About <agency> services, owner and general FAQ"
},
"credentials": {
"pineconeApi": {
"id": "2ZmkLkdFEmSRzqgm",
"name": "PineconeApi"
}
},
"typeVersion": 1.3
},
{
"id": "fd1413ab-433f-43f0-9dbf-6726c62fac44",
"name": "OpenAI Incorporations",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
3568,
2448
],
"parameters": {
"model": "text-embedding-3-large",
"options": {
"dimensions": 1024
}
},
"credentials": {
"openAiApi": {
"id": "ymMvgDroJHalwvRf",
"name": "OpenAI"
}
},
"typeVersion": 1.2
},
{
"id": "b587ef62-ec9c-4727-ac16-6e5b2862fe78",
"name": "E-mail Support Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3312,
2080
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "You are an email support agent for the agency. Use the pinecone tool to access its knowledge base."
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "11ccc8a7-11fb-4bbc-8593-7d203de1614e",
"name": "Postgres Mémoire",
"type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"position": [
3408,
2384
],
"parameters": {
"tableName": "email_support_agent_",
"sessionKey": "={{ $json.id }}",
"sessionIdType": "customKey"
},
"credentials": {
"postgres": {
"id": "TDX9l1042HXNo9nB",
"name": "Neon - n8n chat"
}
},
"typeVersion": 1.3
},
{
"id": "e2482901-3f58-4adb-817d-cbd48f777f7b",
"name": "Note : Pinecone",
"type": "n8n-nodes-base.stickyNote",
"position": [
3856,
2128
],
"parameters": {
"color": 2,
"width": 350,
"height": 240,
"content": "## 🗄️ Node: Pinecone Retriever\n\n**Purpose:** RAG tool retrieves top 10 docs from 'agency-info' index.\n\n**Key Settings:**\n- Mode: retrieve-as-tool\n- Embeddings: OpenAI text-embedding-3-large (1024 dims)\n- Reranker: Cohere enabled\n\n**Note:** Pre-populate index with agency knowledge base."
},
"typeVersion": 1
},
{
"id": "95398a05-9d35-4913-83ab-62bb9113594b",
"name": "Note : Cohere",
"type": "n8n-nodes-base.stickyNote",
"position": [
3472,
2592
],
"parameters": {
"color": 3,
"width": 398,
"height": 244,
"content": "## 🔄 Node: Cohere Reranker\n\n**Purpose:** Semantically reorders Pinecone results for better relevance.\n\n**Key Settings:**\n- Connected to vector store\n- Improves RAG accuracy\n\n**Note:** Uses Cohere API; monitor token usage."
},
"typeVersion": 1
},
{
"id": "f578bcf8-4019-4c0e-abe3-78dc5b85c026",
"name": "Note : Agent",
"type": "n8n-nodes-base.stickyNote",
"position": [
3088,
1792
],
"parameters": {
"color": 5,
"width": 398,
"height": 252,
"content": "## 🤖 Node: Email Support Agent\n\n**Purpose:** AI agent processes email with tools/memory.\n\n**Key Settings:**\n- User Prompt: Email text\n- LLM: Gemini 2.5\n- Memory: Postgres per email ID\n\n**Note:** Outputs reply text for Gmail."
},
"typeVersion": 1
},
{
"id": "ab002e7f-180b-439d-a544-a9daae2d68c5",
"name": "Overview Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2256,
1712
],
"parameters": {
"color": 4,
"width": 728,
"height": 1480,
"content": "# AI Email Support Agent with RAG & Cohere Reranking\n\n## 📋 What This Template Does\nTriggers on new Gmail emails, uses a LangChain agent with Postgres memory to retrieve from Pinecone (RAG via OpenAI embeddings), reranks with Cohere for relevance, generates replies using Gemini 2.5, and auto-responds.\n\n## 🔧 Prerequisites\n- n8n instance with LangChain nodes\n- Gmail, OpenAI, Cohere, Gemini, Pinecone, Postgres accounts\n\n## 🔑 Required Credentials\n\n### Gmail OAuth2\n1. Enable Gmail API in Google Cloud\n2. Create OAuth2 credential in n8n with scopes: https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/gmail.send\n\n### OpenAI API\n1. Get API key from platform.openai.com\n2. Add as OpenAI credential\n\n### Cohere API\n1. Sign up at cohere.com\n2. Copy API key to n8n Cohere credential\n\n### Google Gemini API\n1. Generate key at https://aistudio.google.com/\n2. Add as Google PaLM credential\n\n### Pinecone API\n1. Create index \"agency-info\" (dimension 1024)\n2. Add API key to n8n Pinecone credential\n\n### Postgres\n1. Set up database (e.g., Neon/Supabase)\n2. Add connection details to n8n Postgres credential\n\n## ⚙️ Configuration Steps\n1. Import JSON into n8n\n2. Assign all credentials\n3. Populate Pinecone with agency docs (use separate upsert workflow)\n4. Set tableName in Memory if needed\n5. Activate and test with a sample email\n\n## 🎯 Use Cases\n- Automate agency support for FAQs/services\n- Handle client inquiries with context-aware replies\n- Scale email responses without human intervention\n\n## ⚠️ Troubleshooting\n- No trigger: Check Gmail scopes/polling\n- Retrieval empty: Verify Pinecone index/docs/dimensions\n- Rerank fails: Ensure Cohere key valid\n- Memory issues: Confirm Postgres connection/sessionKey"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"d1d4a3be-70bc-436b-a7b9-2ee00e426a55": {
"ai_languageModel": [
[
{
"node": "Email Support Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Gmail Trigger": {
"main": [
[
{
"node": "Email Support Agent",
"type": "main",
"index": 0
}
]
]
},
"32c51c6d-4ba8-45c4-b689-a7906d5a66b6": {
"ai_reranker": [
[
{
"node": "5a55a56f-07f0-4da9-b333-be81d39c49c7",
"type": "ai_reranker",
"index": 0
}
]
]
},
"Postgres Memory": {
"ai_memory": [
[
{
"node": "Email Support Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"OpenAI Embeddings": {
"ai_embedding": [
[
{
"node": "5a55a56f-07f0-4da9-b333-be81d39c49c7",
"type": "ai_embedding",
"index": 0
}
]
]
},
"5a55a56f-07f0-4da9-b333-be81d39c49c7": {
"ai_tool": [
[
{
"node": "Email Support Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Email Support Agent": {
"main": [
[
{
"node": "dd551d6b-adb2-473b-8982-8ac9b3be46b3",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Daniel Nkencho
@daniel-automatesAI Automation Consultant | Helping Business Owners Implement AI Systems for growth and lead gen
Partager ce workflow