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": "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.
googlePalmApigoogleSheetsOAuth2ApitelegramApi
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 →