Agent de support client Gmail basé sur Gemini 2.5, RAG et le réordonnancement Cohere

Intermédiaire

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

Prérequis
  • 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

Catégorie

-
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

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.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds12
Catégorie-
Types de nœuds9
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Daniel Nkencho

Daniel Nkencho

@daniel-automates

AI Automation Consultant | Helping Business Owners Implement AI Systems for growth and lead gen

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34