AutomationFlowsSlack & Telegram › DailyQuote

DailyQuote

DailyQuote. Uses scheduleTrigger, httpRequest, telegram, chainLlm. Scheduled trigger; 17 nodes.

Cron / scheduled trigger★★★★☆ complexityAI-powered17 nodesHttp RequestTelegramChain LlmLm Chat Google GeminiTelegram TriggerGoogle Sheets
Slack & Telegram Trigger: Cron / scheduled Nodes: 17 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
{
  "id": "j0LrUrmFgSDAaexJ",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "DailyQuote",
  "tags": [],
  "nodes": [
    {
      "id": "42f0e354-1c90-4b25-a241-6bb5d59cf370",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -780,
        40
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "59bdac31-7c2a-4a4c-80cd-f3b32115afba",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -420,
        40
      ],
      "parameters": {
        "url": "https://zenquotes.io/api/random",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "22ecfeb7-64b8-4c5d-96a5-627ff13980b1",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "onError": "continueRegularOutput",
      "position": [
        480,
        60
      ],
      "parameters": {
        "text": "=*{{ $('HTTP Request').item.json.a.replaceAll(\".\",\"\\\\.\") }}* :\n\n{{  $('Basic LLM Chain').item.json.text.replaceAll(\".\",\"\\\\.\") }}",
        "chatId": "={{ $json.registered_users }}",
        "additionalFields": {
          "parse_mode": "MarkdownV2"
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "6c67841d-45b5-4bbd-894d-46b440991b7c",
      "name": "Basic LLM Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -180,
        40
      ],
      "parameters": {
        "text": "=First translate the following quote to {{ $('Set Language').item.json.Translate_lang }} then stickerize it using related stickers.\n\nquote:\n{{ $json.q }}\n\nJust answer in this response format without any label:\nStickerized original quote.\n\nStickerized translated quote.",
        "promptType": "define"
      },
      "typeVersion": 1.6
    },
    {
      "id": "65812674-3794-4698-9783-7da34532faa2",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -40,
        200
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.5-flash"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ec190b20-4733-49d7-8338-143f52f56d5c",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -100,
        -220
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "750151d2-dc7d-4d77-85d2-f5cfdf87f207",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        100,
        -220
      ],
      "parameters": {
        "columns": {
          "value": {
            "date": "={{ $now }}",
            "registered_users": "={{ $json.message.from.id }}"
          },
          "schema": [
            {
              "id": "registered_users",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "registered_users",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "registered_users"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hQdu0dOFQACIes3RzTcIhYF4u8lCV4ybDjsoW3zqW_Y/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1hQdu0dOFQACIes3RzTcIhYF4u8lCV4ybDjsoW3zqW_Y",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hQdu0dOFQACIes3RzTcIhYF4u8lCV4ybDjsoW3zqW_Y/edit?usp=drivesdk",
          "cachedResultName": "SgsBot"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "b3f19d9d-16db-44dd-ae98-8a53e3719658",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        200,
        40
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hQdu0dOFQACIes3RzTcIhYF4u8lCV4ybDjsoW3zqW_Y/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1hQdu0dOFQACIes3RzTcIhYF4u8lCV4ybDjsoW3zqW_Y",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1hQdu0dOFQACIes3RzTcIhYF4u8lCV4ybDjsoW3zqW_Y/edit?usp=drivesdk",
          "cachedResultName": "SgsBot"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "418a2e7d-c599-4cea-a963-7a580d47e9f5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        -520
      ],
      "parameters": {
        "width": 540,
        "height": 480,
        "content": "## \ud83d\udcf1 DAILY QUOTE BOT WITH AI TRANSLATION\n\nThis workflow automatically sends daily inspirational quotes with AI translation to Telegram subscribers.\n\nFEATURES:\n- Fetches random quotes from ZenQuotes API\n- Translates quotes using Google Gemini AI  \n- Adds emoji \"stickers\" for visual appeal\n- Manages subscriber registration automatically (Save users Id in Google sheet)\n- Sends to all registered users daily\n\nSETUP REQUIRED:\n- Telegram Bot Token (from @BotFather)\n- Google Gemini API key\n- Google Sheets for subscriber storage\n- Configure target language in Set Fields node\n\nTwo flows: Daily sending (scheduled) + User registration (trigger-based)\n\n*Demo bot in Telegram @sgsbot*"
      },
      "typeVersion": 1
    },
    {
      "id": "d463226c-0660-4ce0-8944-7f8c95d1fb23",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        -20
      ],
      "parameters": {
        "color": 7,
        "width": 220,
        "height": 220,
        "content": "**DAILY SCHEDULE:**\nTriggers once per day to send quotes"
      },
      "typeVersion": 1
    },
    {
      "id": "10bb45d1-3d94-4bda-8b4a-bdacdc29979d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -520,
        -20
      ],
      "parameters": {
        "color": 7,
        "width": 300,
        "height": 220,
        "content": "**QUOTE FETCHING**\nGets random quote from ZenQuotes API"
      },
      "typeVersion": 1
    },
    {
      "id": "4d0860f4-c737-4025-9986-56acfbf787a9",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        -20
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 220,
        "content": "**AI PROCESSING:**\nTranslates + adds emojis with Gemini"
      },
      "typeVersion": 1
    },
    {
      "id": "1a333d70-5d18-4951-bed5-26ed3dad214a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        100,
        -20
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 220,
        "content": "**SUBSCRIBER MANAGEMENT:**\nReads registered users from Google Sheets"
      },
      "typeVersion": 1
    },
    {
      "id": "faf66c97-1fd5-4314-9f8e-654760ab84d5",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        -20
      ],
      "parameters": {
        "color": 7,
        "width": 300,
        "height": 220,
        "content": "**MESSAGE DELIVERY:**\nSends formatted quote to all subscribers"
      },
      "typeVersion": 1
    },
    {
      "id": "15f58c31-6ba9-4e72-93dc-5aec988dd008",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -120,
        -280
      ],
      "parameters": {
        "color": 7,
        "width": 580,
        "height": 220,
        "content": "**USER REGISTRATION:**\nAuto-registers users who message the bot. Add user Id to Google sheet."
      },
      "typeVersion": 1
    },
    {
      "id": "53e86eb7-655b-4767-9b0f-733f7e648f04",
      "name": "Set Language",
      "type": "n8n-nodes-base.set",
      "position": [
        -620,
        40
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c3d7e921-5fd3-43e7-807f-e527dcfd4403",
              "name": "Translate_lang",
              "type": "string",
              "value": "Persian"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "abfab320-2c39-4cfe-a2fb-43e816691d5a",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "notes": "Send welcome message",
      "position": [
        260,
        -220
      ],
      "parameters": {
        "text": "=\ud83d\udc4b Welcome,\nI will send you daily quote.",
        "chatId": "={{ $('Telegram Trigger').item.json.message.from.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": true,
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "96d98ab4-f035-4d0e-8c91-d5fdc43c308b",
  "connections": {
    "Telegram": {
      "main": [
        []
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Language": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets1": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain": {
      "main": [
        [
          {
            "node": "Google Sheets1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set Language",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}

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

DailyQuote. Uses scheduleTrigger, httpRequest, telegram, chainLlm. Scheduled trigger; 17 nodes.

Source: https://github.com/ScraperNode/awesome-n8n-templates/blob/main/templates/ai-and-llm/7688-send-daily-inspirational-quotes-with-gemini-translation-to-telegram-subscribers/workflow.json — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →