This workflow follows the Apifyn8N Nodes Apify → Google Sheets 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 →
{
"updatedAt": "2026-02-22T12:03:50.586Z",
"createdAt": "2026-02-13T09:47:33.610Z",
"id": "BkxSgCu84ExUBjDs",
"name": "AI Chatbot-Backend",
"active": false,
"isArchived": false,
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "months",
"triggerAtHour": 7
}
]
}
},
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.3,
"position": [
0,
0
],
"id": "8d7f6c8b-c593-4a9c-a451-ccbe6729cb07",
"name": "Schedule Trigger"
},
{
"parameters": {},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.2,
"position": [
704,
-16
],
"id": "c774060d-f49d-484f-963b-476d446ac72d",
"name": "Merge"
},
{
"parameters": {
"promptType": "define",
"text": "=Kamu adalah Analis Data PLN.\nTugasmu adalah membaca data mentah dan mengubahnya menjadi format database JSON.\n\nDATA INPUT:\n- Sumber: {{ $json.Sumber }}\n- Tanggal: {{ $json.Tanggal }}\n- Isi Konten: {{ $json.Konten_teks }}\n- Komentar/Info Tambahan: {{ $json.Komentar }}\n\nINSTRUKSI ANALISIS:\n1. Baca konten di atas.\n2. Tentukan SENTIMEN (Wajib pilih satu: \"Positif\", \"Negatif\", atau \"Netral\").\n3. Buat RINGKASAN (Maksimal 15 kata).\n4. Tentukan TOPIK (Contoh: \"Pemadaman\", \"Promo\", \"Gangguan\", \"Apresiasi\").\n\nOUTPUT JSON SAJA:\nBerikan output HANYA dalam format JSON valid (tanpa markdown ```json atau teks lain), persis seperti ini:\n{\n\"sentimen\": \"...\",\n\"ringkasan\": \"...\",\n\"topik\": \"...\"\n}",
"hasOutputParser": true,
"batching": {}
},
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"typeVersion": 1.9,
"position": [
1184,
0
],
"id": "63d6b017-eb39-407b-a0b7-64332a7c326a",
"name": "Basic LLM Chain"
},
{
"parameters": {
"modelName": "models/gemma-3-27b-it",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"typeVersion": 1,
"position": [
1184,
256
],
"id": "125fb8f5-4901-472f-bbae-8e8598391990",
"name": "Google Gemini Chat Model",
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "2fca0db9-9666-4867-947f-a7a2152e15ca",
"name": "Tanggal",
"value": "={{ $now }}",
"type": "string"
},
{
"id": "60d2fa21-02da-4fc6-8667-2c4c32da38b3",
"name": "Sumber",
"value": "Instagram",
"type": "string"
},
{
"id": "11772545-f783-41c5-ac85-0ab574ed7d02",
"name": "Konten_teks",
"value": "={{ $json.caption }}",
"type": "string"
},
{
"id": "7afe4dfe-a3a1-42fe-bbcf-e7472f216e0a",
"name": "Komentar",
"value": "={{ $json.latestComments }}",
"type": "array"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
464,
96
],
"id": "d1bc9eb9-02e1-4cf4-a9c4-594e49e245dc",
"name": "Edit Fields Apify"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "21085c57-a948-4626-90b5-2829aee22c18",
"name": "Tanggal",
"value": "={{ $json.pubDate }}",
"type": "string"
},
{
"id": "58db5212-0e11-4189-a9c3-80bc0421fe35",
"name": "Sumber",
"value": "Google News",
"type": "string"
},
{
"id": "0eb74e8e-caf6-4aef-aea3-ff461a7ff453",
"name": "Konten_teks",
"value": "={{ $json.title }}",
"type": "string"
},
{
"id": "3aabf531-61d6-4d9b-b4ca-f2d36f4cb7ae",
"name": "Komentar",
"value": "Berita Resmi (Tidak ada komentar)",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
464,
-128
],
"id": "9d68cb85-6814-48b9-94d6-bc08b60f39ec",
"name": "Edit Fields RSS"
},
{
"parameters": {
"jsonSchemaExample": "{\n \"sentimen\": \"Positif\",\n \"ringkasan\": \"Ini adalah ringkasan singkat.\",\n \"topik\": \"Pemadaman\"\n}"
},
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.3,
"position": [
1328,
272
],
"id": "16ed6fbf-abea-4e28-8490-869b351422a0",
"name": "Structured Output Parser"
},
{
"parameters": {
"batchSize": 2,
"options": {}
},
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 3,
"position": [
912,
-16
],
"id": "346110ce-b54a-429f-a26e-99f813cfc74d",
"name": "Loop Over Items"
},
{
"parameters": {
"amount": 15
},
"type": "n8n-nodes-base.wait",
"typeVersion": 1.1,
"position": [
736,
-240
],
"id": "3ab92f99-672e-4991-86ad-c6149d4a4105",
"name": "Wait"
},
{
"parameters": {
"resource": "Actor tasks",
"operation": "Run task and get dataset",
"actorTaskId": {
"__rl": true,
"value": "https://console.apify.com/actors/tasks/qzquEOjml7WiJc0UG/input",
"mode": "url"
}
},
"type": "@apify/n8n-nodes-apify.apify",
"typeVersion": 1,
"position": [
256,
96
],
"id": "29616f3a-ac13-4088-9d08-4899c3fbb14a",
"name": "Run task and get dataset",
"credentials": {
"apifyApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"url": "https://news.google.com/rss/search?q=PLN+Aceh+listrik+after:2025-11-01&hl=id&gl=ID&ceid=ID:id",
"options": {}
},
"type": "n8n-nodes-base.rssFeedRead",
"typeVersion": 1.2,
"position": [
256,
-128
],
"id": "dbb85531-9aa6-4f45-ae51-ceae97a83965",
"name": "RSS Read"
},
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "1DMCQfuqBJdNvbfwKY-86aO3S0zFtpZ6_SL09UQ8yt8g",
"mode": "list",
"cachedResultName": "Database PLN",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1DMCQfuqBJdNvbfwKY-86aO3S0zFtpZ6_SL09UQ8yt8g/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1DMCQfuqBJdNvbfwKY-86aO3S0zFtpZ6_SL09UQ8yt8g/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Tanggal": "={{ $('Loop Over Items').item.json.Tanggal }}",
"Sumber": "={{ $('Loop Over Items').item.json.Sumber }}",
"Sentimen": "={{ $json.output.sentimen }}",
"Ringkasan": "={{ $json.output.ringkasan }}",
"Topik": "={{ $json.output.topik }}",
"Komentar": "={{ $('Loop Over Items').item.json.Komentar }}",
"Konten_teks": "={{ $('Loop Over Items').item.json.Konten_teks }}"
},
"matchingColumns": [],
"schema": [
{
"id": "Tanggal",
"displayName": "Tanggal",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Sumber",
"displayName": "Sumber",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Konten_teks",
"displayName": "Konten_teks",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Komentar",
"displayName": "Komentar",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Sentimen",
"displayName": "Sentimen",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Ringkasan",
"displayName": "Ringkasan",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Topik",
"displayName": "Topik",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.7,
"position": [
1472,
0
],
"id": "1877116d-e9c7-4c9d-b979-aa87d7b08350",
"name": "Append row in sheet",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Schedule Trigger": {
"main": [
[
{
"node": "Run task and get dataset",
"type": "main",
"index": 0
},
{
"node": "RSS Read",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "Append row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields Apify": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Edit Fields RSS": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Basic LLM Chain",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Run task and get dataset": {
"main": [
[
{
"node": "Edit Fields Apify",
"type": "main",
"index": 0
}
]
]
},
"RSS Read": {
"main": [
[
{
"node": "Edit Fields RSS",
"type": "main",
"index": 0
}
]
]
},
"Append row in sheet": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"availableInMCP": false
},
"staticData": null,
"meta": {
"templateCredsSetupCompleted": true
},
"versionId": "c6ef1094-4dfe-4649-9be6-2cdbfa626325",
"activeVersionId": null,
"triggerCount": 0,
"shared": [
{
"updatedAt": "2026-02-13T09:47:33.613Z",
"createdAt": "2026-02-13T09:47:33.613Z",
"role": "workflow:owner",
"workflowId": "BkxSgCu84ExUBjDs",
"projectId": "Lw4fUBTO2lFMdRF0"
}
],
"activeVersion": null,
"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.
apifyApigooglePalmApigoogleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
This workflow powers a backend AI chatbot that automatically processes RSS feeds and generates structured insights using Google Gemini, delivering timely updates to Google Sheets for easy access. It's ideal for content creators, marketers, or analysts who need to monitor news sources without manual effort, saving hours on data aggregation and analysis. The key step involves chaining the LLM to parse and refine feed content into actionable formats, ensuring responses are coherent and ready for integration into apps or reports.
Use this when you require periodic, automated extraction of insights from multiple RSS feeds, such as daily market summaries or topic tracking. Avoid it for real-time interactions, as the cron trigger suits batch processing rather than instant queries. Common variations include swapping Gemini for another LLM or adding email notifications instead of Sheets for direct alerts.
About this workflow
AI Chatbot-Backend. Uses scheduleTrigger, chainLlm, lmChatGoogleGemini, outputParserStructured. Scheduled trigger; 12 nodes.
Source: https://github.com/SamVivan1/n8n-Workflows-Backup/blob/main/ai-chatbot-backend-BkxSgCu84ExUBjDs.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.
Community nodes are used in this workflow. B2B Sales Teams & SDRs Recruitment Agencies & Tech Recruiters Startup Founders Growth Marketing Teams Scrape Hiring Signals: The workflow starts by using an
Visual Regression Testing With Apify And Ai Vision Model. Uses googleDrive, lmChatGoogleGemini, outputParserStructured, stickyNote. Scheduled trigger; 34 nodes.
This n8n workflow is a proof-of-concept template exploring how we might work with multimodal LLMs and their multi-image analysis capabilities. In this demo, we compare 2 screenshots of a webpage taken
Visual Regression Testing with Apify and AI Vision Model. Uses googleDrive, lmChatGoogleGemini, outputParserStructured, httpRequest. Scheduled trigger; 34 nodes.
This workflow generates baseline website screenshots with Apify, stores them in Google Drive, and logs the file IDs in Google Sheets, then runs scheduled visual regression checks by comparing new scre