This workflow follows the Agent → Gmail Tool 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 →
{
"name": "Quote emailer",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-1184,
-160
],
"id": "d067cb62-7a80-4bf0-87eb-62b96d235913",
"name": "When clicking \u2018Execute workflow\u2019"
},
{
"parameters": {
"promptType": "define",
"text": "Send a daily quote to a random receiver",
"options": {
"systemMessage": "You are a helpful assistant.\n1. use HTTP tool to fetch a random quote\n2. use Google Sheets tool to get a random [Email] from the mailing list and the previous [Emails count]\n3. increment [Emails count] then use Gmail tool to send the the quote to the given email with the subject \"Daily quote [Email Count]\" using the updated [Email Count]\n4. use google sheet tool to increment the [Emails Count] for the corresponding Email row that received the quote"
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.2,
"position": [
-928,
-160
],
"id": "fdca0eda-55ff-418f-aa57-94c0a3ad995d",
"name": "AI Agent"
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
"typeVersion": 1,
"position": [
-1072,
48
],
"id": "b434162a-b3c4-4459-b5ec-78a84b59d84d",
"name": "DeepSeek Chat Model",
"credentials": {
"deepSeekApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "11wTg-GKJ2c8ymNBeGtLyH8eCvsdyBfmorLU55OjYzXw",
"mode": "list",
"cachedResultName": "n8n-emails-test",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11wTg-GKJ2c8ymNBeGtLyH8eCvsdyBfmorLU55OjYzXw/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11wTg-GKJ2c8ymNBeGtLyH8eCvsdyBfmorLU55OjYzXw/edit#gid=0"
},
"options": {}
},
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.7,
"position": [
-512,
32
],
"id": "53ba4637-d8c5-44e8-b8d3-84eeaf9bb9dc",
"name": "Get row(s) in sheet in Google Sheets",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"url": "https://zenquotes.io/api/random",
"options": {}
},
"type": "n8n-nodes-base.httpRequestTool",
"typeVersion": 4.2,
"position": [
-672,
32
],
"id": "82be3c28-133a-4de4-9fae-2580cc323b15",
"name": "HTTP Request"
},
{
"parameters": {
"sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {}
},
"type": "n8n-nodes-base.gmailTool",
"typeVersion": 2.1,
"position": [
-336,
32
],
"id": "b8d73ab1-b12c-4140-b5ee-c8ece34b8a49",
"name": "Send a message in Gmail",
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "appendOrUpdate",
"documentId": {
"__rl": true,
"value": "11wTg-GKJ2c8ymNBeGtLyH8eCvsdyBfmorLU55OjYzXw",
"mode": "list",
"cachedResultName": "n8n-emails-test",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11wTg-GKJ2c8ymNBeGtLyH8eCvsdyBfmorLU55OjYzXw/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11wTg-GKJ2c8ymNBeGtLyH8eCvsdyBfmorLU55OjYzXw/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email__using_to_match_', ``, 'string') }}",
"Emails Count": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Emails_Count', ``, 'string') }}"
},
"matchingColumns": [
"Email"
],
"schema": [
{
"id": "Name",
"displayName": "Name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Description",
"displayName": "Description",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Emails Count",
"displayName": "Emails Count",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.7,
"position": [
-144,
32
],
"id": "7eb547ad-fb7f-41e7-b05b-efa91e9fbc1c",
"name": "Append or update row in sheet in Google Sheets",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
}
],
"connections": {
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"DeepSeek Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get row(s) in sheet in Google Sheets": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"HTTP Request": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Send a message in Gmail": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Append or update row in sheet in Google Sheets": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "cea241ec-0dd5-42c3-8b1d-de75f81da3d0",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "zGkC3sViqul4rs5b",
"tags": []
}
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.
deepSeekApigmailOAuth2googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Quote emailer. Uses manualTrigger, agent, lmChatDeepSeek, googleSheetsTool. Event-driven trigger; 7 nodes.
Source: https://github.com/aidamian/n8n-workshop/blob/main/examples/quote-email-record.json — 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.
This automation flow is designed to proactively monitor email, calendar, and Slack communications, analyze priorities across all channels, and generate a comprehensive daily briefing with actionable t
This assistant is designed for people who don't have time to write and send emails to suppliers. With just one request, it drafts and sends clear, professional messages automatically.
Transform your Telegram into a powerful AI-powered personal assistant that manages your calendar, sends daily schedules, searches the web, and accesses your contacts - all through simple text messages
💡 What It Is
Innovation Manager. Uses formTrigger, agent, lmChatOpenAi, googleSheetsTool. Event-driven trigger; 9 nodes.