This workflow corresponds to n8n.io template #7902 — 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 →
{
"id": "dCoGIILwTYxSwiHV",
"name": "Gmail Agent",
"tags": [],
"nodes": [
{
"id": "bd41a12c-009b-4812-9807-a68f75a09a81",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
752,
288
],
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "a6cfb7de-5f06-437c-a509-9b45ebcfa14c",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1008,
288
],
"parameters": {
"options": {
"systemMessage": "=You are Rakin\u2019s smart Gmail assistant.\n\nInstructions:\n\nFor any Gmail-related task from Rakin, use the appropriate Gmail tool (Send, Reply, Label, Delete, Get Many).\n\nIf only a name is given (no email), fetch the email from Google Sheets.\n\nAuto-complete any missing details (links, answers, summaries) needed for emails or replies.\n\nApply relevant labels like:\n\nyoutube-viewers\nsales-inquiry\nmeeting-request\npotential-clients\ncollaboration-requests\n\nwhen appropriate.\n\nStay efficient, accurate, and helpful at all times."
}
},
"typeVersion": 2
},
{
"id": "2387aefe-f80c-4e94-b516-1afea31163e7",
"name": "Send",
"type": "n8n-nodes-base.gmailTool",
"position": [
912,
496
],
"parameters": {
"sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {
"appendAttribution": false
},
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
"emailType": "text"
},
"typeVersion": 2.1
},
{
"id": "90f756fd-d40d-4475-a02d-ddf9592d655b",
"name": "Reply",
"type": "n8n-nodes-base.gmailTool",
"position": [
1024,
496
],
"parameters": {
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {
"appendAttribution": false
},
"emailType": "text",
"messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
"operation": "reply"
},
"typeVersion": 2.1
},
{
"id": "7eb3e8d2-cc51-403d-ae01-71078a207513",
"name": "Label",
"type": "n8n-nodes-base.gmailTool",
"position": [
1152,
496
],
"parameters": {
"labelIds": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Label_Names_or_IDs', ``, 'string') }}",
"messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
"operation": "addLabels"
},
"typeVersion": 2.1
},
{
"id": "34450898-1c3b-4755-848d-93a5c3076d83",
"name": "Delete",
"type": "n8n-nodes-base.gmailTool",
"position": [
1264,
496
],
"parameters": {
"messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
"operation": "delete"
},
"typeVersion": 2.1
},
{
"id": "862846c3-3488-4932-a93d-69287299e971",
"name": "Get Many",
"type": "n8n-nodes-base.gmailTool",
"position": [
1392,
496
],
"parameters": {
"simple": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Simplify', ``, 'boolean') }}",
"filters": {},
"options": {},
"operation": "getAll",
"returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
},
"typeVersion": 2.1
},
{
"id": "1e39bc28-629a-4902-9e92-ed3d43296ed5",
"name": "Sheet",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
1504,
496
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UTOyNDNeRJj6nRuladtP61ljeZg6xXK3O1Kn3Dq7t_A/edit?usp=drivesdk",
"cachedResultName": "Contact Details"
}
},
"typeVersion": 4.6
},
{
"id": "f7320f18-2a7b-4c55-99eb-1e68ad348b51",
"name": "Gemini",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
672,
496
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "c8857e6d-f0da-4d54-a7b4-c57009ce65d9",
"name": "Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
784,
496
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "133b9714-bf54-440f-8e1b-79e5be3463f6",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-64,
-304
],
"parameters": {
"color": 4,
"width": 660,
"height": 980,
"content": "# \ud83d\udee0\ufe0f Setup Guide\n### \ud83d\udc64 Author: [Rakin Jakaria](https://www.youtube.com/@rakinjakaria)\n### \ud83d\udd0c Steps to Connect:\n1. **Gmail OAuth2 Setup** \n - Connect your Gmail account to n8n using OAuth2 authentication.\n - Go to **Credentials** in n8n and create a new **Gmail OAuth2** credential.\n - Follow the authentication flow to authorize n8n to access your Gmail account.\n - Apply this credential to all Gmail nodes (Send, Reply, Label, Delete, Get Many).\n\n2. **Google Gemini API Key** \n - Visit [Google AI Studio](https://aistudio.google.com/) and generate your Gemini API key.\n - Create a new **Google Gemini (PaLM) API** credential in n8n.\n - Paste your API key into the **Gemini** language model node.\n\n3. **Google Sheets Integration** \n - Set up **Google Sheets OAuth2** credentials in n8n.\n - Create or connect to your existing Google Sheets document for contact management.\n - Update the **Sheet** node with your specific spreadsheet ID and sheet name.\n - Ensure your sheet has columns for names and email addresses.\n\n4. **Chat Trigger Configuration** \n - The **Chat Trigger** node creates a webhook URL for your Gmail agent.\n - Copy the webhook URL from the Chat Trigger node.\n - Use this URL to interact with your Gmail agent via chat interface.\n\n5. **AI Agent System Prompt Customization** \n - Modify the system message in the **AI Agent** node to match your specific needs.\n - Update the predefined labels (youtube-viewers, sales-inquiry, etc.) to your Gmail labels.\n - Customize the assistant's name and behavior instructions.\n\n6. **Memory Configuration** \n - The **Memory** node stores conversation context.\n - Adjust the buffer window size based on your chat length requirements.\n\n---\n\ud83d\udca1 **Pro Tips:**\n- Test each Gmail operation individually before running the full workflow.\n- Create Gmail labels beforehand for better email organization.\n- Monitor your Google API usage to avoid rate limits.\n\nNeed help? Check out Rakin's [YouTube Tutorials](https://www.youtube.com/@rakinjakaria) for detailed setup instructions."
},
"typeVersion": 1
},
{
"id": "fc096be2-2970-4170-badd-e98cab6feb5d",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
656,
-304
],
"parameters": {
"color": 4,
"width": 480,
"height": 448,
"content": "## Start here: Step-by Step Youtube Tutorial :star:\n[](https://youtu.be/Qogyc2mPa80?si=_TcQZjBdtLHy2mdz)"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "5d7c251c-1d3f-476e-9090-f101d95bdbea",
"connections": {
"Send": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Label": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Reply": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Sheet": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Delete": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Gemini": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Get Many": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Use cases are many: Automate Gmail tasks such as sending, replying, labeling, deleting, and fetching emails — all with AI assistance. Perfect for YouTubers managing viewer emails, sales teams handling inquiries, freelancers responding to client requests, or professionals keeping…
Source: https://n8n.io/workflows/7902/ — 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.
Personal Assistant MCP server. Uses chatTrigger, lmChatGoogleGemini, memoryBufferWindow, mcpTrigger. Chat trigger; 20 nodes.
Personal Assistant MCP server. Uses chatTrigger, lmChatGoogleGemini, memoryBufferWindow, mcpTrigger. Chat trigger; 20 nodes.
Wouldn't it be cool to just tell your computer or phone to "schedule a meeting with Sarah next Tuesday at 3 PM" or "find John Doe's email address" and have it actually do it? That's the dream of a per
Think Tool. Uses stickyNote, agent, googleCalendarTool, memoryBufferWindow. Chat trigger; 28 nodes.
Overview Meet Maria, a sophisticated AI Booking Agent designed for Veterinary Clinics (but easily adaptable to any service business). This workflow transforms a simple chat interface into a full-scale