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
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 →