{"workflow":{"id":12435,"name":"Find cheap flight deals using Google Gemini, GPT-4, Telegram and BrowserAct","views":194,"recentViews":0,"totalViews":194,"createdAt":"2026-01-03T20:17:44.753Z","description":"# Find cheap flight deals using AI, Telegram and BrowserAct\n\nThis workflow transforms your Telegram bot into an intelligent travel agent. Ask for deals (e.g., \"Flights from Berlin\"), and it will scrape real-time prices from a flight aggregator, curate the best offers using AI, and deliver a formatted list directly to your chat.\n\n## Target Audience\nTravel enthusiasts, digital nomads, and budget-conscious flyers looking for automated deal alerts.\n\n## How it works\n1. **Receive Request**: You send a message to your Telegram bot (e.g., \"Cheap flights from London\").\n2. **Extract Location**: An **AI Agent** parses your message to identify the departure city. If you don't specify one, it asks for clarification.\n3. **Scrape Deals**: **BrowserAct** executes a background task to search a flight aggregator (like Momondo or Skyscanner) for the best deals from your chosen city.\n4. **Curate & Format**: A second **AI Agent** processes the raw flight data. It sorts deals by price, groups them for readability, adds country flags, and formats the list into Telegram-friendly HTML.\n5. **Deliver**: The workflow splits the curated list into multiple messages (if necessary) and sends them to your **Telegram** chat.\n\n## How to set up\n1. **Configure Credentials**: Connect your **Telegram**, **BrowserAct**, **Google Gemini**, and **OpenRouter** accounts in n8n.\n2. **Prepare BrowserAct**: Ensure the **Low-Cost Travel Finder** template is saved in your BrowserAct account.\n3. **Configure Telegram**: Ensure your bot is created via BotFather and the API token is added to the Telegram credentials.\n4. **Activate**: Turn on the workflow.\n5. **Test**: Send a message like \"Flights from NYC\" to your bot.\n\n## Requirements\n* **BrowserAct** account with the **Low-Cost Travel Finder** template.\n* **Telegram** account (Bot Token).\n* **Google Gemini** & **OpenRouter** accounts.\n\n## How to customize the workflow\n1. **Filter by Destination**: Add logic to the **Generate response** agent to only show flights to specific regions (e.g., \"Only show Asia destinations\").\n2. **Change Aggregator**: Update the BrowserAct template to scrape Google Flights or Kayak instead of Momondo.\n3. **Set Alerts**: Add a **Schedule Trigger** to run this workflow automatically every morning for your home airport.\n\n## Need Help?\n* [How to Find Your BrowserAct API Key & Workflow ID](https://www.youtube.com/watch?v=pDjoZWEsZlE)\n* [How to Connect n8n to BrowserAct](https://www.youtube.com/watch?v=RoYMdJaRdcQ)\n* [How to Use & Customize BrowserAct Templates](https://www.youtube.com/watch?v=CPZHFUASncY)\n\n---\n### Workflow Guidance and Showcase Video\n\n* #### [Build a Low-Cost Flight Finder with n8n & AI (Telegram Bot Tutorial)](https://youtu.be/W4EYza-Te5w)\n\n\n","workflow":{"id":"6vj6GA2bdFbUXGlc","meta":{"instanceId":"6fcb279fd6b00187153abdc6d8b627acfd9fe31f84b387f64b56a0996e8ea182"},"name":"Find cheap flight deals using AI, Telegram and BrowserAct","tags":[],"nodes":[{"id":"ae57867e-ffbe-4188-9955-00725cc17f51","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-720,496],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"type\": \"travel\",\n  \"location\": \"San Francisco\"\n}"},"typeVersion":1.3},{"id":"f295c258-781c-46c1-8338-639dcc26b08c","name":"Validate user Input","type":"@n8n/n8n-nodes-langchain.agent","position":[-848,272],"parameters":{"text":"={{ $json.message.text }}","options":{"systemMessage":"You are an intelligent Intent Classifier and Entity Extractor for a travel bot. Your sole purpose is to analyze the user's input text and categorize it into one of three specific types based on their intent and the availability of data.\n\nTask: Analyze the user's input string and return a single JSON object based on the following logic:\n\n1. Travel Request with Location:\n\nTrigger: The user is explicitly asking for flight prices, travel offers, deals, or tickets AND you can identify a specific Departure City (e.g., \"flights from London\", \"deals leaving NYC\").\n\nAction: Extract the departure city.\n\nOutput: Set \"type\": \"travel\" and \"location\": \"City Name\".\n\n2. Travel Request without Location:\n\nTrigger: The user is asking for travel deals or prices (e.g., \"I want cheap flights\", \"Show me offers\") but DID NOT specify a departure city.\n\nAction: Flag as missing data.\n\nOutput: Set \"type\": \"nodata\" and \"location\": null.\n\n3. General Chat:\n\nTrigger: The user is engaging in casual conversation (e.g., \"Hello\", \"How are you?\", \"Who are you?\") that is unrelated to a specific travel search.\n\nAction: Classify as chat.\n\nOutput: Set \"type\": \"chat\" and \"location\": null.\n\nOutput Format: You must respond only with a raw JSON object. Do not add markdown formatting or conversational text.\n\n{\n  \"type\": \"travel\" | \"nodata\" | \"chat\",\n  \"location\": \"City Name\" | null\n}\nExamples of Behavior:\nInput: \"Find me cheap flights from Berlin to Paris\" Output:\n\n{\n  \"type\": \"travel\",\n  \"location\": \"Berlin\"\n}\nInput: \"I want to go on a vacation show me prices\" Output:\n\n{\n  \"type\": \"nodata\",\n  \"location\": null\n}\nInput: \"Good morning, how does this bot work?\" Output:\n\n{\n  \"type\": \"chat\",\n  \"location\": null\n}\nInput: \"Deals departing form San Francisco\" Output:\n\n{\n  \"type\": \"travel\",\n  \"location\": \"San Francisco\"\n}"},"promptType":"define","hasOutputParser":true},"typeVersion":3},{"id":"8c74bb74-24e8-450a-9875-a4682abcc710","name":"Validate user Inputs","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[-848,496],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"9pXYiybR74j5zn4d","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"c184ff93-0aed-445e-8ec4-1a66a91d542b","name":"Google Gemini","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[-128,736],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"9pXYiybR74j5zn4d","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"0dd6095d-a693-46ba-8e77-a83476b97b34","name":"Structured Output","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[624,512],"parameters":{"autoFix":true,"jsonSchemaExample":"\n{\n  \"Telegram\": [\n    \"String 1 (HTML formatted, max 3500 chars)\",\n    \"String 2 (If needed due to length)\"\n  ]\n}"},"typeVersion":1.3},{"id":"527af11f-88b2-4a44-abe0-4bad44ced719","name":"OpenRouter Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[512,512],"parameters":{"model":"openai/gpt-4.1","options":{}},"credentials":{"openRouterApi":{"id":"x6ohV3n8b2Kjebtm","name":"OpenRouter account"}},"typeVersion":1},{"id":"995ebd6f-dc22-4b8b-a585-1b4c803b3224","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[976,304],"parameters":{"options":{}},"typeVersion":3},{"id":"33b7eab4-658a-4e92-a22f-e49dc66fe069","name":"Chatting With User","type":"@n8n/n8n-nodes-langchain.agent","position":[-128,576],"parameters":{"text":"=Input type : {{ $json.output.Type }} | User Input : {{ $('User Sends Message to Bot').item.json.message.text }}","options":{"systemMessage":"if the input type is nodata ask the user to provide the Departure location.\n\nif the input type is chat, analyze the user input and generate single response\n\nsend the result out as a raw text.\navoid using any tags or notations like ```text ```"},"promptType":"define"},"typeVersion":3},{"id":"71544b37-f48b-4c7a-babc-d3ce7ad62e5a","name":"Answer the User","type":"n8n-nodes-base.telegram","position":[176,576],"webhookId":"23e1fb3a-33d8-40fa-aa49-08b320348b0a","parameters":{"text":"={{ $json.output }}","chatId":"={{ $('User Sends Message to Bot').item.json.message.chat.id }}","additionalFields":{"parse_mode":"HTML","appendAttribution":false}},"credentials":{"telegramApi":{"id":"gJnGTVzNOeiM3LHZ","name":"Telegram account"}},"typeVersion":1.2},{"id":"f04821b9-be4a-4de0-bc7c-c1b23a339ed1","name":"Check For Input Type","type":"n8n-nodes-base.switch","position":[-496,256],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"9e003f66-d011-459a-a313-b603c0e14551","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.type }}","rightValue":"travel"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"2ebb24ec-bd32-4e96-a022-93d066fda17f","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output.type }}","rightValue":"chat"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"24d355dd-efec-4946-96fe-3d82f3ee4d71","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output.type }}","rightValue":"nodata"}]}}]},"options":{}},"typeVersion":3.4},{"id":"b4d78d2d-bc32-4dd0-8465-67cef4ae2c45","name":"User Sends Message to Bot","type":"n8n-nodes-base.telegramTrigger","position":[-1024,272],"webhookId":"a98e8455-ba5a-447e-b928-733483d34db4","parameters":{"updates":["message"],"additionalFields":{}},"credentials":{"telegramApi":{"id":"gJnGTVzNOeiM3LHZ","name":"Telegram account"}},"typeVersion":1.2},{"id":"9f86f90d-26a1-4602-befe-417292fe1fb7","name":"Process Initialization Alert","type":"n8n-nodes-base.telegram","position":[-48,144],"webhookId":"9fd73bb8-75f1-499c-8c1f-0cd659833fb9","parameters":{"text":"=Ok give me few minutes.","chatId":"={{ $('User Sends Message to Bot').first().json.message.chat.id }}","additionalFields":{}},"credentials":{"telegramApi":{"id":"gJnGTVzNOeiM3LHZ","name":"Telegram account"}},"typeVersion":1.2},{"id":"ea9f17c3-584d-4b26-ab22-799d95a65133","name":"Run \"Low-Const Travel Finder\" workflow","type":"n8n-nodes-browseract.browserAct","position":[-48,304],"parameters":{"type":"WORKFLOW","timeout":7200,"workflowId":"72181632540107285","workflowConfig":{"value":{"input-Location":"={{ $json.output.location }}"},"schema":[{"id":"input-Momondo","type":"string","display":true,"removed":true,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Momondo","defaultMatch":true},{"id":"input-Location","type":"string","display":true,"removed":false,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Location","defaultMatch":true}],"mappingMode":"defineBelow","matchingColumns":["input-Location"],"attemptToConvertTypes":false,"convertFieldsToString":false},"open_incognito_mode":false},"credentials":{"browserActApi":{"id":"G1U5ih38TKU5wcI5","name":"BrowserAct account"}},"typeVersion":1},{"id":"32fd8b4f-fded-4992-9e7d-560018c4524d","name":"Analyze Data & Generate Response","type":"@n8n/n8n-nodes-langchain.agent","position":[512,304],"parameters":{"text":"=Travels Data :{{ $json.output.string }},\nDeparture Location : {{ $('Validate user Input').first().json.output.location }}","options":{"systemMessage":"Role: You are an expert Travel Deal Curator for a Telegram channel. Your job is to take raw flight data and a departure location, then transform it into a highly attractive, scannable, and HTML-formatted Telegram post.\n\nInput Data:\n\ndeparture_city: The city where flights originate.\n\nflight_data: A JSON array containing objects with location, date_range, stops, and price.\n\nOutput Specification: You must return a valid JSON object with the following structure: (do not add any markdow like \"```json ```\")\n\n\n{\n  \"Telegram\": [\n    \"String 1 (HTML formatted, max 3500 chars)\",\n    \"String 2 (If needed due to length)\"\n  ]\n}\n\nFormatting Guidelines:\n\nHeader: Start with an eye-catching title using the Departure City. (e.g., ✈️ **Cheap Flights from [City]** 🌍)\n\nStructure: Group flights logically. If the list is long (over 10 items), group them by Price Range (e.g., \"🔥 Steal Deals under 45\" vs \"💎 Great Value\") or by Month to make it scannable.\n\nLine Items: Make each flight easy to read. Use specific HTML tags: <b>, <i>, <code>, or <a href> (if links provided).\n\nStyle: Flag Destination | Date | Price\n\nExample: 🇮🇹 Milan — <i>Jan 23-25</i> — <b>40€</b>\n\nFlags: Infer the country flag based on the city name (e.g., Oslo = 🇳🇴, Milan = 🇮🇹).\n\nStops: If stops is \"Nonstop\", use a symbol like ⚡️ or omit it to save space. If there are stops, explicitly state it (e.g., \"1 Stop\").\n\nCharacter Limit: Telegram has a message limit. Monitor the character count.\n\nIf the text exceeds 3500 characters, split the message at a logical section break (e.g., between groups) into the next string in the JSON array.\n\nFooter: Add a brief \"Book Now\" or \"Prices subject to change\" footer.\n\nTask: Processing Logic\nSort the list by price (low to high).\n\nGroup the data if necessary to improve readability.\n\nFormat using emojis and permitted HTML (<b>, <i>, <u>, <s>, <code>, <pre>).\n\nValidate length. Split into multiple array elements if > 3500 chars.\n\nOutput the final JSON."},"promptType":"define","hasOutputParser":true},"typeVersion":3},{"id":"1121479f-7036-42e7-9d25-c09a4d654888","name":"Split Out Generated Data","type":"n8n-nodes-base.splitOut","position":[784,304],"parameters":{"options":{},"fieldToSplitOut":"output.Telegram"},"typeVersion":1},{"id":"9b67af05-9df4-492b-bce2-ff78db51285c","name":"Avoid Rate Limits","type":"n8n-nodes-base.wait","position":[1184,272],"webhookId":"3e1785fe-7de4-4d1f-9370-ddcac3f27520","parameters":{},"typeVersion":1.1},{"id":"e930941e-30b9-44c8-8f72-b7537eeb39c7","name":"Send Travel List to User","type":"n8n-nodes-base.telegram","position":[1408,304],"webhookId":"5f5e7a33-b100-4727-be6c-f1cd4530622b","parameters":{"text":"={{ $('Loop Over Items').item.json[\"output.Telegram\"] }}","chatId":"={{ $('User Sends Message to Bot').first().json.message.chat.id }}","additionalFields":{"parse_mode":"HTML"}},"credentials":{"telegramApi":{"id":"gJnGTVzNOeiM3LHZ","name":"Telegram account"}},"typeVersion":1.2},{"id":"4e6d66e5-1774-4c8d-a540-4de1f46a722c","name":"Step 1 Explanation","type":"n8n-nodes-base.stickyNote","position":[-1024,96],"parameters":{"color":7,"width":636,"height":124,"content":"### 🕵️ Step 1: Intent Analysis\n\nThe workflow begins by validating user input via Telegram. It identifies if the user is asking for travel deals, checks for a specified departure location, or is simply engaging in general conversation."},"typeVersion":1},{"id":"1df5d09d-e4df-4b26-bcc8-68396cb9ba60","name":"Step 2 Explanation","type":"n8n-nodes-base.stickyNote","position":[-224,0],"parameters":{"color":7,"width":572,"height":124,"content":"### ✈️ Step 2: Automated Deal Scrape\n\nOnce a location is validated, BrowserAct automates a browser session on travel sites like Momondo to find the lowest prices. The system immediately notifies the user that the search is underway."},"typeVersion":1},{"id":"ac2ca358-88c2-4cf4-8b0a-8fc2bf044565","name":"Step 3 Explanation","type":"n8n-nodes-base.stickyNote","position":[512,144],"parameters":{"color":7,"width":1036,"height":108,"content":"### 📊 Step 3: AI Curation & Delivery\n\nAn AI agent processes the raw flight data, sorts it by price, and generates a scannable HTML report. Large lists are automatically split to respect Telegram limits and delivered sequentially to the user."},"typeVersion":1},{"id":"36e9af59-8ec3-44b1-b60b-dc453e0de9c5","name":"Step 4 Explanation","type":"n8n-nodes-base.stickyNote","position":[-192,864],"parameters":{"color":7,"width":580,"height":120,"content":"### 💬 Step 2-2: Conversational Fallback\n\nIf no link is present in the user's message, this branch engages the user in natural conversation or prompts them to provide a URL for processing."},"typeVersion":1},{"id":"b0451bb6-bd86-4b93-b558-ddf256df1297","name":"Documentation","type":"n8n-nodes-base.stickyNote","position":[-1440,-304],"parameters":{"width":380,"height":520,"content":"## ⚡ Workflow Overview & Setup\n\n**Summary:** This automation extracts the departure city from Telegram messages and uses BrowserAct to scrape travel sites for the cheapest flight deals, delivering a formatted list back to the user.\n\n### Requirements\n* **Credentials:** Telegram, BrowserAct, OpenRouter (GPT-4), Google Gemini (PaLM).\n* **Mandatory:** BrowserAct API (Template: **Low-Cost Travel Finder**)\n\n### How to Use\n1.  **Credentials:** Set up your Telegram Bot, BrowserAct, and AI model credentials in n8n.\n2.  **BrowserAct Template:** Ensure you have the **Low-Cost Travel Finder** template saved in your BrowserAct account.\n3.  **Search:** Send a message like \"Low-Cost Travel Finder For London\" to your Telegram bot to receive real-time deal alerts.\n\n### Need Help?\n[How to Find Your BrowserAct API Key & Workflow ID](https://docs.browseract.com)\n[How to Connect n8n to BrowserAct](https://docs.browseract.com)\n[How to Use & Customize BrowserAct Templates](https://docs.browseract.com)"},"typeVersion":1},{"id":"48ec5d58-e69e-4e36-8d4e-42404e61381a","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1024,-304],"parameters":{"color":6,"width":624,"height":368,"content":"@[youtube](W4EYza-Te5w)"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"1897423c-cd71-4021-89ba-1a42589f4e08","connections":{"Google Gemini":{"ai_languageModel":[[{"node":"Chatting With User","type":"ai_languageModel","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"Avoid Rate Limits","type":"main","index":0}]]},"OpenRouter Model":{"ai_languageModel":[[{"node":"Analyze Data & Generate Response","type":"ai_languageModel","index":0},{"node":"Structured Output","type":"ai_languageModel","index":0}]]},"Avoid Rate Limits":{"main":[[{"node":"Send Travel List to User","type":"main","index":0}]]},"Structured Output":{"ai_outputParser":[[{"node":"Analyze Data & Generate Response","type":"ai_outputParser","index":0}]]},"Chatting With User":{"main":[[{"node":"Answer the User","type":"main","index":0}]]},"Validate user Input":{"main":[[{"node":"Check For Input Type","type":"main","index":0}]]},"Check For Input Type":{"main":[[{"node":"Process Initialization Alert","type":"main","index":0},{"node":"Run \"Low-Const Travel Finder\" workflow","type":"main","index":0}],[{"node":"Chatting With User","type":"main","index":0}],[{"node":"Chatting With User","type":"main","index":0}]]},"Validate user Inputs":{"ai_languageModel":[[{"node":"Validate user Input","type":"ai_languageModel","index":0},{"node":"Structured Output Parser","type":"ai_languageModel","index":0}]]},"Send Travel List to User":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Split Out Generated Data":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"Validate user Input","type":"ai_outputParser","index":0}]]},"User Sends Message to Bot":{"main":[[{"node":"Validate user Input","type":"main","index":0}]]},"Analyze Data & Generate Response":{"main":[[{"node":"Split Out Generated Data","type":"main","index":0}]]},"Run \"Low-Const Travel Finder\" workflow":{"main":[[{"node":"Analyze Data & Generate Response","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":23,"nodeTypes":{"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.telegram":{"count":3},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.splitInBatches":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":3},"n8n-nodes-base.telegramTrigger":{"count":1},"n8n-nodes-browseract.browserAct":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenRouter":{"count":1},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":2},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Madame AI Team | Kai","username":"madame-ai","bio":"I’m a PhD in Physics turned AI enthusiast, passionate about uncovering how AI is transforming content creation, business, and daily life.","verified":true,"links":["https://www.youtube.com/@AI.madame.english"],"avatar":"https://gravatar.com/avatar/44c0d2b4b78d8dda7685aea70ef92b2c2339ca9478738c6ed8049cc70e3af32d?r=pg&d=retro&size=200"},"nodes":[{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"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/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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","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":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"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/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/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"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/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.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1262,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Google Gemini Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Google Gemini Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1281,"icon":"file:openrouter.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenrouter/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenRouter Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjOTRBM0I4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZT5PcGVuUm91dGVyPC90aXRsZT48cGF0aCBkPSJNMTYuODA0IDEuOTU3bDcuMjIgNC4xMDV2LjA4N0wxNi43MyAxMC4yMWwuMDE3LTIuMTE3LS44MjEtLjAzYy0xLjA1OS0uMDI4LTEuNjExLjAwMi0yLjI2OC4xMS0xLjA2NC4xNzUtMi4wMzguNTc3LTMuMTQ3IDEuMzUyTDguMzQ1IDExLjAzYy0uMjg0LjE5NS0uNDk1LjMzNi0uNjguNDU1bC0uNTE1LjMyMi0uMzk3LjIzNC4zODUuMjMuNTMuMzM4Yy40NzYuMzE0IDEuMTcuNzk2IDIuNzAxIDEuODY2IDEuMTEuNzc1IDIuMDgzIDEuMTc3IDMuMTQ3IDEuMzUybC4zLjA0NWMuNjk0LjA5MSAxLjM3NS4wOTQgMi44MjUuMDMzbC4wMjItMi4xNTkgNy4yMiA0LjEwNXYuMDg3TDE2LjU4OSAyMmwuMDE0LTEuODYyLS42MzUuMDIyYy0xLjM4Ni4wNDItMi4xMzcuMDAyLTMuMTM4LS4xNjItMS42OTQtLjI4LTMuMjYtLjkyNi00Ljg4MS0yLjA1OWwtMi4xNTgtMS41YTIxLjk5NyAyMS45OTcgMCAwMC0uNzU1LS40OThsLS40NjctLjI4YTU1LjkyNyA1NS45MjcgMCAwMC0uNzYtLjQzQzIuOTA4IDE0LjczLjU2MyAxNC4xMTYgMCAxNC4xMTZWOS44ODhsLjE0LjAwNGMuNTY0LS4wMDcgMi45MS0uNjIyIDMuODA5LTEuMTI0bDEuMDE2LS41OC40MzgtLjI3NGMuNDI4LS4yOCAxLjA3Mi0uNzI2IDIuNjg2LTEuODUzIDEuNjIxLTEuMTMzIDMuMTg2LTEuNzggNC44ODEtMi4wNTkgMS4xNTItLjE5IDEuOTc0LS4yMTMgMy44MTQtLjEzOGwuMDItMS45MDd6Ij48L3BhdGg+PC9zdmc+Cg=="},"displayName":"OpenRouter Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":32,"name":"Market Research"},{"id":47,"name":"AI Chatbot"}],"image":[]}}