AutomationFlowsAI & RAG › Quote emailer

Quote emailer

Quote emailer. Uses manualTrigger, agent, lmChatDeepSeek, googleSheetsTool. Event-driven trigger; 7 nodes.

Event trigger★★☆☆☆ complexityAI-powered7 nodesAgentLm Chat Deep SeekGoogle Sheets ToolHttp Request ToolGmail Tool
AI & RAG Trigger: Event Nodes: 7 Complexity: ★★☆☆☆ AI nodes: yes

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 →

Download .json
{
  "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.

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 →

More AI & RAG workflows → · Browse all categories →