{"workflow":{"id":13977,"name":"Chat with your PDF documents using PageIndex vectorless RAG via Telegram","views":153,"recentViews":2,"totalViews":153,"createdAt":"2026-03-10T04:45:23.682Z","description":"# Build a Vectorless PDF Knowledge Bot on Telegram Using PageIndex RAG\n\n## 👤 Who Is This For?\n\nThis template is built for **developers, researchers, and automation builders** who want to create a document Q&A system — without the complexity of vector databases, embeddings, or chunking pipelines.\n\nIt's perfect for:\n- Developers exploring **next-generation RAG architectures**\n- Teams building **internal knowledge bots** over PDFs (reports, manuals, contracts)\n- Anyone who wants to query documents through **Telegram** with a clean, no-infrastructure setup\n\n## ❓ What Problem Does This Solve?\n\nTraditional RAG systems require converting text into vectors, storing them in a vector database, and relying on semantic similarity to retrieve relevant chunks. This approach has known weaknesses:\n\n- **Similarity ≠ Relevance** - queries express intent, not exact content\n- **Chunking breaks context** - arbitrary splits destroy meaning across sections\n- **In-document references are missed** - e.g. \"see Appendix B\" has no semantic match\n\n**PageIndex solves this differently.** Instead of vectors, it builds a **hierarchical tree index** (like a Table of Contents) from your PDF using an LLM. At query time, the LLM *reasons* over that tree — identifies the most relevant sections, retrieves only those, and generates a precise, cited answer.\n\n**No embeddings. No vector DB. No chunking.**\n\n## ⚡ What This Workflow Does\n\nThis n8n template delivers a **fully working Telegram-based RAG bot** with two independent flows in a single workflow:\n\n**📄 Flow 1 → PDF Knowledge Upload (Run Once per Document)**\nSend a PDF file to your Telegram bot. The workflow downloads it and uploads it to PageIndex cloud, where the tree index is built automatically.\n\n**💬 Flow 2 → Q&A Chat (Runs Every Time)**\nSend any question as a text message to the same Telegram bot. The workflow fetches all your indexed documents, sends the question to PageIndex's LLM reasoning engine, and delivers a cited answer back to your Telegram chat.\n\n## 🔄 How It Works\n\n### Flow 1 - PDF Upload\n\n1. **Receive PDF Document** - Telegram Trigger listens for messages containing a file. Send any PDF to the bot to start indexing.\n2. **Download PDF File** - The bot downloads the binary PDF from Telegram's file storage using the `file_id`.\n3. **Index PDF on PageIndex** - The PDF is uploaded to PageIndex cloud via `POST /doc/`. PageIndex builds a hierarchical tree index (TOC with LLM-generated summaries per section). Returns a `doc_id`. No vectors are created.\n\n### Flow 2 - Q&A\n\n1. **Receive User Question** - Telegram Trigger listens for text messages. Any message triggers the Q&A flow.\n2. **Fetch All Indexed Documents** - Calls `GET /docs` on PageIndex to retrieve all previously uploaded documents.\n3. **Extract Document IDs** - Maps the documents list into a clean array of `doc_id` strings.\n4. **LLM Reasoning over Document Tree** - Sends the user's question + all `doc_ids` to PageIndex `POST /chat/completions`. PageIndex's LLM traverses the tree, identifies the relevant nodes, retrieves the raw text, and generates an answer with page citations.\n5. **Send Answer to User**  The answer is delivered back to the exact Telegram user who asked, using their `chat_id`.\n\n## 🛠️ Setup Instructions\n\n### Step 1 - Create a Telegram Bot\n\n1. Open Telegram and message [@BotFather](https://t.me/botfather)\n2. Send `/newbot` and follow the prompts\n3. Copy the **Bot Token** provided\n4. In n8n, add a new **Telegram credential** and paste the token\n\n### Step 2 - Get Your PageIndex API Key\n\n1. Visit [dash.pageindex.ai](https://dash.pageindex.ai) and create a free account\n2. Go to **API Keys** and generate a new key\n3. In the workflow, replace `YOUR_PAGEINDEX_API_KEY` in these three nodes:\n   - `☁️ Index PDF on PageIndex`\n   - `📚 Fetch All Indexed Documents`\n   - `🧠 LLM Reasoning over Document Tree`\n\n### Step 3 - Connect Telegram Credentials\n\nBoth Telegram Trigger nodes and the Telegram send node use the same credential. Set your Telegram API credentials once and n8n will apply them across all nodes automatically.\n\n### Step 4 - Activate the Workflow\n\n1. Click **Activate** in n8n\n2. Send a PDF file to your Telegram bot → it gets indexed\n3. Send any text question → get an LLM-reasoned answer back\n\n## 📋 Required Credentials\n\n| Service | Where to Get | Used In |\n|---|---|---|\n| **Telegram Bot Token** | [@BotFather](https://t.me/botfather) on Telegram | All Telegram nodes |\n| **PageIndex API Key** | [API Key](https://dash.pageindex.ai/api-keys) From Dashboard | Upload + Chat nodes |\n\n## 💡 How to Customize\n\n- **Query multiple documents at once** - Upload multiple PDFs (each creates a separate `doc_id`). The Q&A flow automatically fetches all of them and reasons across all documents simultaneously.\n- **Change temperature** - In the `LLM Reasoning over Document Tree` node, adjust `\"temperature\": 0.5` for more creative (higher) or more precise (lower) answers.\n- **Enable/disable citations** - Toggle `\"enable_citations\": true/false` in the chat node body to control whether page references appear in answers.\n- **Filter by specific document** - Modify the `Extract Document IDs` node to filter only documents with `status: completed` or by name to limit which docs are queried.\n- **Replace Telegram with another interface** - Swap the Telegram Trigger nodes for a Webhook or Form Trigger if you want to build a web-based version instead.\n\n## 📦 About PageIndex\n\n[PageIndex](https://pageindex.ai) is an open-source vectorless RAG framework by [VectifyAI](https://vectify.ai). It powers the **Mafin 2.5** financial assistant which achieved **98.7% accuracy on FinanceBench** - significantly outperforming GPT-4o (~31%) on document-intensive tasks.\n\n- 📖 [PageIndex Docs](https://docs.pageindex.ai)\n- 💻 [GitHub — VectifyAI/PageIndex](https://github.com/VectifyAI/PageIndex)\n- 🎮 [Developer Dashboard](https://dash.pageindex.ai)\n\n## 🔧 Technical Notes\n\n- PDFs sent via Telegram must be under **20MB** (Telegram Bot API limit)\n- PageIndex document processing typically takes **10-60 seconds** depending on PDF size - the first question after upload may take slightly longer if the doc is still being indexed\n- All indexed documents persist permanently in your PageIndex account and can be reused across sessions without re-uploading\n\n## 🤝 Need Help?\n\nFeel free to reach out via the [n8n Community Forum](https://community.n8n.io/) or check out more automation templates on [AppStoneLab Technologies](https://n8n.io/creators/appstonelab/).","workflow":{"id":"7PVU0dnK3csdntrn","meta":{"instanceId":"f50c4225657041a867073dfd116003f9f3659e08e71fb6a5bb5c90807373de2c","templateCredsSetupCompleted":true},"name":"PageIndex RAG - Vectorless PDF Q&A","tags":[],"nodes":[{"id":"cb4bce05-a6d3-40a6-8611-d1b5f9ecde1b","name":"Sticky Note - Summary","type":"n8n-nodes-base.stickyNote","position":[4224,2016],"parameters":{"color":7,"width":608,"height":576,"content":"##  🧠 Workflow Summary\n\n**PageIndex Vectorless RAG Bot**\n\n\nThis workflow builds a vectorless RAG system using [PageIndex](https://pageindex.ai) — no embeddings, no vector database. PageIndex builds a hierarchical tree index (like a Table of Contents) from your PDF, and the LLM reasons over that tree to find precise answers.\n\n\n---\n\n\n**📄 Flow 1 — PDF Upload (Run Once)**\nSend a PDF file to the Telegram bot. It downloads and indexes it on PageIndex cloud.\n\n**💬 Flow 2 — Q&A (Runs Every Time)**\nSend any question to the Telegram bot. It fetches all your indexed docs, passes them to PageIndex LLM reasoning, and returns a cited answer.\n\n\n---\n\n**🔑 Required Credentials**\n- Telegram Bot Token (via @BotFather)\n- PageIndex API Key (via dash.pageindex.ai)\n\n**💡 How PageIndex Works**\nInstead of vector similarity search, PageIndex builds a tree of section summaries. The LLM reads the tree, decides which sections are relevant, retrieves only those, and generates the answer — with page citations included."},"typeVersion":1},{"id":"669aff95-ffe9-499d-97d0-5f9d3a02054f","name":"Sticky Note - Flow 1 Header","type":"n8n-nodes-base.stickyNote","position":[4848,2016],"parameters":{"color":5,"width":856,"height":96,"content":"## 📄 Flow 1 -> PDF Knowledge Upload\nRun this flow by sending a PDF file to the Telegram bot. The PDF is downloaded and indexed on PageIndex cloud. Run once per document."},"typeVersion":1},{"id":"e5526cd9-4df7-48a8-8098-77fb89f4188f","name":"Sticky Note - Receive PDF","type":"n8n-nodes-base.stickyNote","position":[4848,2128],"parameters":{"width":258,"height":472,"content":"### 📎 Receive PDF Document\n**Purpose:** Entry point for PDF upload flow. Listens for incoming Telegram messages that contain a file/document.\n\n**Input:** Telegram message with a PDF attachment\n**Output:** `message.document.file_id` used to download the file\n\n**Note:** Only send PDF files here. Other file types will cause errors downstream."},"typeVersion":1},{"id":"ebbd31aa-c73c-4489-ac06-563ed1107fd4","name":"Sticky Note - Download PDF","type":"n8n-nodes-base.stickyNote","position":[5120,2128],"parameters":{"width":274,"height":472,"content":"### ⬇️ Download PDF File\n**Purpose:** Downloads the PDF binary from Telegram's file storage using the `file_id`.\n\n**Input:** `message.document.file_id` from Telegram Trigger\n**Output:** Binary PDF file data\n\n**Note:** Telegram stores files temporarily. This node fetches the actual file content before it expires."},"typeVersion":1},{"id":"2a06e5cd-e74d-4ab1-a82a-a21b2ac9b1b0","name":"Sticky Note - Index PDF","type":"n8n-nodes-base.stickyNote","position":[5408,2128],"parameters":{"width":290,"height":472,"content":"### ☁️ Index PDF on PageIndex\n**Purpose:** Uploads the PDF to PageIndex cloud. PageIndex builds a hierarchical tree index (TOC) using LLM - no vectors.\n\n**Input:** Binary PDF data\n**Output:** `doc_id` (e.g. `pi-abc123`) assigned to this document\n\n**Note:** Processing takes 10–60s depending on PDF size. The doc is stored permanently."},"typeVersion":1},{"id":"57988369-c99a-4be1-b8c6-a8e80749f56d","name":"Receive PDF Document","type":"n8n-nodes-base.telegramTrigger","position":[4928,2432],"webhookId":"f75f357f-e414-4f95-a956-4df18a9ca6fa","parameters":{"updates":["message"],"additionalFields":{}},"credentials":{"telegramApi":{"id":"YlmcnSgYYsULTVHI","name":"Telegram account"}},"typeVersion":1.2},{"id":"35a146e0-cba2-4e9a-a766-821f5becea38","name":"Download PDF File","type":"n8n-nodes-base.telegram","position":[5216,2432],"webhookId":"56257dbd-8ec0-4248-98f3-c6a1d5a746d5","parameters":{"fileId":"={{ $json.message.document.file_id }}","resource":"file","additionalFields":{}},"credentials":{"telegramApi":{"id":"YlmcnSgYYsULTVHI","name":"Telegram account"}},"typeVersion":1.2},{"id":"140249e8-c6f3-4e70-a6b7-e32dd3023320","name":"Index PDF on PageIndex","type":"n8n-nodes-base.httpRequest","position":[5504,2432],"parameters":{"url":"https://api.pageindex.ai/doc/","method":"POST","options":{},"sendBody":true,"contentType":"multipart-form-data","sendHeaders":true,"bodyParameters":{"parameters":[{"name":"file","parameterType":"formBinaryData","inputDataFieldName":"data"}]},"headerParameters":{"parameters":[{"name":"api_key","value":"YOUR_PAGEINDEX_API_KEY"}]}},"typeVersion":4.2},{"id":"04057de2-5fec-45fb-8824-68a204192fd4","name":"Sticky Note - Flow 2 Header","type":"n8n-nodes-base.stickyNote","position":[4224,2624],"parameters":{"color":4,"width":1466,"height":80,"content":"## 💬 Flow 2 -> Q&A Chat\nRun this flow by sending any text message to the Telegram bot. It fetches all indexed docs, sends the question to PageIndex LLM reasoning, and returns a cited answer to the same user."},"typeVersion":1},{"id":"64697575-d379-4f4d-8d3e-2666019ebd6d","name":"Sticky Note - Receive Question","type":"n8n-nodes-base.stickyNote","position":[4224,2720],"parameters":{"color":6,"width":290,"height":519,"content":"### 💬 Receive User Question\n**Purpose:** Entry point for Q&A flow. Listens for text messages sent to the Telegram bot.\n\n**Input:** Telegram text message from user\n**Output:** `message.text` (the question) and `message.from.id` (for reply routing)\n\n**Note:** Any text message triggers this flow. The answer is always sent back to the same user."},"typeVersion":1},{"id":"622fbf87-1349-4de5-82ba-27fdf02e49d8","name":"Sticky Note - Fetch Docs","type":"n8n-nodes-base.stickyNote","position":[4528,2720],"parameters":{"color":6,"width":258,"height":519,"content":"### 📚 Fetch All Indexed Documents\n**Purpose:** Retrieves the list of all documents already indexed in your PageIndex account.\n\n**Input:** PageIndex API key (header)\n**Output:** Array of document objects including `id`, `name`, `status`, `pageNum`\n\n**Note:** Only documents with `status: completed` are ready for querying."},"typeVersion":1},{"id":"6fb9f267-cb04-4155-82f8-9eae020cefdb","name":"Sticky Note - Extract IDs","type":"n8n-nodes-base.stickyNote","position":[4800,2720],"parameters":{"color":6,"width":258,"height":519,"content":"### 🔑 Extract Document IDs\n**Purpose:** Maps the documents array into a clean array of `doc_id` strings for use in the chat API.\n\n**Input:** `documents` array from PageIndex\n**Output:** `doc_ids` array (e.g. `[\"pi-abc123\", \"pi-def456\"]`)\n\n**Note:** Passing multiple doc_ids allows PageIndex to reason across all your indexed documents at once."},"typeVersion":1},{"id":"534a8b8e-f17c-4042-a2ac-d2ed8706bb4d","name":"Sticky Note - LLM Reasoning","type":"n8n-nodes-base.stickyNote","position":[5072,2720],"parameters":{"color":6,"width":338,"height":519,"content":"### 🧠 LLM Reasoning over Document Tree\n**Purpose:** Core RAG step. Sends the user question + all doc_ids to PageIndex. The LLM reasons over the hierarchical tree index to find and retrieve the most relevant sections.\n\n**Input:** User question + `doc_ids` array\n**Output:** LLM-generated answer with page citations\n\n**Note:** No vector search involved. PageIndex uses tree traversal + LLM reasoning."},"typeVersion":1},{"id":"f4cc58b5-26fd-4096-bef2-785a5f294d90","name":"Sticky Note - Send Answer","type":"n8n-nodes-base.stickyNote","position":[5424,2720],"parameters":{"color":6,"width":274,"height":519,"content":"### 📤 Send Answer to User\n**Purpose:** Delivers the LLM-generated answer back to the user on Telegram.\n\n**Input:** `choices[0].message.content` from PageIndex response\n**Output:** Text message sent to the user's Telegram chat\n\n**Note:** Reply is routed using `message.from.id` so each user gets their own response."},"typeVersion":1},{"id":"369a3577-6c59-4d02-a551-a6cab6308a20","name":"Receive User Question","type":"n8n-nodes-base.telegramTrigger","position":[4320,3040],"webhookId":"f9e85743-0681-4314-997e-302ff57aec75","parameters":{"updates":["message"],"additionalFields":{}},"credentials":{"telegramApi":{"id":"YlmcnSgYYsULTVHI","name":"Telegram account"}},"typeVersion":1.2},{"id":"22cab621-7b73-465f-81e1-8531cb3fcfcc","name":"Fetch All Indexed Documents","type":"n8n-nodes-base.httpRequest","position":[4608,3040],"parameters":{"url":"https://api.pageindex.ai/docs","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"api_key","value":"YOUR_PAGEINDEX_API_KEY"}]}},"typeVersion":4.4},{"id":"e320a50f-32a7-4bcc-a9c6-d9e09192652d","name":"Extract Document IDs","type":"n8n-nodes-base.set","position":[4880,3040],"parameters":{"options":{},"assignments":{"assignments":[{"id":"59845b9c-a89b-41a0-a038-ec0f8d06bf91","name":"doc_ids","type":"array","value":"={{ $json.documents.map(d => d.id) }}"}]}},"typeVersion":3.4},{"id":"b697c98a-4b45-446b-8a72-0765b411e305","name":"LLM Reasoning over Document Tree","type":"n8n-nodes-base.httpRequest","position":[5200,3040],"parameters":{"url":"https://api.pageindex.ai/chat/completions","method":"POST","options":{},"jsonBody":"={\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"{{ $('Receive User Question').item.json.message.text }}\"\n    }\n  ],\n  \"stream\": false,\n  \"doc_id\": {{ JSON.stringify($json.doc_ids) }},\n  \"temperature\": 0.5,\n  \"enable_citations\": false\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"api_key","value":"YOUR_PAGEINDEX_API_KEY"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2},{"id":"9632028b-74b7-46f2-897b-7b22ed91de11","name":"Send Answer to User","type":"n8n-nodes-base.telegram","position":[5504,3040],"webhookId":"cd17bf60-aec0-468f-a0f6-70b4681a662c","parameters":{"text":"={{ $json.choices[0].message.content }}","chatId":"={{ $('Receive User Question').item.json.message.from.id }}","additionalFields":{}},"credentials":{"telegramApi":{"id":"YlmcnSgYYsULTVHI","name":"Telegram account"}},"typeVersion":1.2}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","availableInMCP":false,"executionOrder":"v1"},"versionId":"d98e663c-e64f-4450-af7f-af70ecd02ef0","connections":{"Download PDF File":{"main":[[{"node":"Index PDF on PageIndex","type":"main","index":0}]]},"Extract Document IDs":{"main":[[{"node":"LLM Reasoning over Document Tree","type":"main","index":0}]]},"Receive PDF Document":{"main":[[{"node":"Download PDF File","type":"main","index":0}]]},"Receive User Question":{"main":[[{"node":"Fetch All Indexed Documents","type":"main","index":0}]]},"Index PDF on PageIndex":{"main":[[]]},"Fetch All Indexed Documents":{"main":[[{"node":"Extract Document IDs","type":"main","index":0}]]},"LLM Reasoning over Document Tree":{"main":[[{"node":"Send Answer to User","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":19,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.telegram":{"count":2},"n8n-nodes-base.stickyNote":{"count":11},"n8n-nodes-base.httpRequest":{"count":3},"n8n-nodes-base.telegramTrigger":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"AppStoneLab Technologies LLP","username":"appstonelab","bio":"Dive into the digital era with a trusted partner. From idea to execution, we transform visions into interactive realities. Let's shape the future, together.","verified":true,"links":["https://appstonelab.com"],"avatar":"https://gravatar.com/avatar/2e16a1d332e0382df4f5e3263c822b0ef2c3b51db77e18f737999755913724f6?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":49,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegram","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Telegram"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":50,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegramTrigger","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Telegram Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram Trigger","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":42,"name":"Internal Wiki"},{"id":48,"name":"AI RAG"}],"image":[]}}