{"workflow":{"id":12433,"name":"Monitor Lis Pendens real estate filings via Telegram, BrowserAct and Gemini","views":55,"recentViews":0,"totalViews":55,"createdAt":"2026-01-03T20:13:58.509Z","description":"# Monitor real estate filings via Telegram, BrowserAct and Gemini\n\nThis workflow transforms your Telegram bot into an automated real estate monitoring tool. Send a message like \"Check filings for the last 5 days,\" and the bot will scrape the official county clerk site for \"Lis Pendens\" (pre-foreclosure) filings, format the messy legal data into a readable report, and deliver it directly to your chat.\n\n## Target Audience\nReal estate investors, wholesalers, and agents looking for pre-foreclosure leads.\n\n## How it works\n1. **Understand Request**: The workflow receives your Telegram message. An **AI Agent** classifies it: are you chatting, or asking for real estate data?\n2. **Calculate Dates**: If you don't specify a date range, the workflow automatically calculates a default window (e.g., Today minus 5 days) to search for recent filings.\n3. **Scrape Records**: **BrowserAct** executes a background task to search the public records site using the calculated dates and scrapes all matching \"Lis Pendens\" filings.\n4. **Format Data**: A second **AI Agent** processes the raw legal text. It cleans up party names, extracts file numbers, and formats everything into a clean HTML list with download links.\n5. **Deliver Report**: The bot splits the report 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 **Texas Foreclosure Leads** template is saved in your BrowserAct account.\n3. **Configure Telegram**: Create a bot via BotFather and add the API token to your Telegram credentials.\n4. **Activate**: Turn on the workflow.\n5. **Test**: Send \"Check filings\" to your bot to start the search.\n\n## Requirements\n* **BrowserAct** account with the **Texas Foreclosure Leads** template.\n* **Telegram** account (Bot Token).\n* **Google Gemini** & **OpenRouter** accounts.\n\n## How to customize the workflow\n1. **Change Search Query**: Modify the **BrowserAct** template to search for different document types (e.g., \"Divorce Decrees\" or \"Probate\").\n2. **Adjust Date Range**: Update the **From_Date** node to search for a longer period (e.g., -30 days).\n3. **Filter Results**: Add logic to the **Generate response** agent to only show filings from specific banks or attorneys.\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* #### [⚖️ How to Scrape Lis Pendens Records Automatically (Texas Real Estate)](https://youtu.be/Q2zUXDDhD8w)\n","workflow":{"id":"dAGxJYdLo4qGeDkJ","meta":{"instanceId":"6fcb279fd6b00187153abdc6d8b627acfd9fe31f84b387f64b56a0996e8ea182"},"name":"Monitor real estate filings via Telegram, BrowserAct and Gemini","tags":[],"nodes":[{"id":"587e2c01-0dd7-4c02-9641-483580bf7221","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-160,656],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"type\": \"chat\"\n}"},"typeVersion":1.3},{"id":"4b48e12d-ca1b-42f9-8b95-a7a87f248ed1","name":"Validate user Input","type":"@n8n/n8n-nodes-langchain.agent","position":[-272,448],"parameters":{"text":"=User Input :{{ $('User Sends Message to Bot').first().json.message.text }}","options":{"systemMessage":"You are an Intent Classifier and Data Mapper.\n\nInput Format\nYou will receive a single text string containing three labeled parts: User Input : [TEXT]\n\nLogic Rules\nCASE 1: Real Estate / Lis Pendens Request\nCondition: The \"User Input\" text asks for \"real estate data,\" \"Lis Pendens,\" \"filings,\" or \"records.\"\n\nAction:\n\nSet type to \"Real_State\".\n\nOutput:\n\n\n{\n  \"type\": \"Real_State\",\n}\nCASE 2: Chat\nCondition: The \"User Input\" is a greeting, joke, or general conversation.\n\nAction: Flag as chat and set dates to null.\n\nOutput:\n\n\n{\n  \"type\": \"chat\",\n}\nOutput Format\nReturn ONLY the JSON object. No markdown, no whitespace padding, no backticks."},"promptType":"define","hasOutputParser":true},"typeVersion":3},{"id":"218e56b4-a771-4984-9a78-d09b41875b55","name":"Google Gemini","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[384,1056],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"9pXYiybR74j5zn4d","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"18f7d5e8-7c78-44fa-9925-bcb41e43744d","name":"Send Alert","type":"n8n-nodes-base.telegram","position":[448,288],"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":"7498192b-b94d-4a33-85fc-46999779e970","name":"Structured Output","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1552,752],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"Telegram\": [\n    \"String 1 (Header + Records 1-N)\",\n    \"String 2 (Records N+1 to End)\"\n  ]\n}"},"typeVersion":1.3},{"id":"eadb29d1-316e-41b8-95ca-f41f5d2b287d","name":"OpenRouter Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[1408,768],"parameters":{"model":"openai/gpt-4.1","options":{}},"credentials":{"openRouterApi":{"id":"x6ohV3n8b2Kjebtm","name":"OpenRouter account"}},"typeVersion":1},{"id":"9ff19cd1-665d-4f29-97b7-5e855e4817be","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[2304,528],"parameters":{"options":{}},"typeVersion":3},{"id":"3064ab17-d8df-4ff7-b689-1244fd904019","name":"OpenRouter Model1","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[-304,672],"parameters":{"model":"openai/gpt-4.1","options":{}},"credentials":{"openRouterApi":{"id":"x6ohV3n8b2Kjebtm","name":"OpenRouter account"}},"typeVersion":1},{"id":"691a5056-a4c0-49c5-910c-5fa1bbe82aca","name":"Check For Input Type","type":"n8n-nodes-base.switch","position":[80,448],"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":"Real_State"}]}},{"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"}]}}]},"options":{}},"typeVersion":3.4},{"id":"ae9e6c4f-3075-4f95-baf1-bc242d3c2888","name":"Today's Date","type":"n8n-nodes-base.dateTime","position":[400,608],"parameters":{"options":{},"outputFieldName":"Today"},"typeVersion":2},{"id":"6ae16ce2-5cc5-4a04-9c25-687e0194f8b6","name":"Calculate \"To_Date\"","type":"n8n-nodes-base.dateTime","position":[448,432],"parameters":{"options":{},"outputFieldName":"To_Date"},"typeVersion":2},{"id":"de2c6b53-dafe-459a-8190-a7a60a50b4d9","name":"Calculate \"From_Date\"","type":"n8n-nodes-base.dateTime","position":[528,608],"parameters":{"options":{},"duration":-5,"magnitude":"={{ $json.Today }}","operation":"addToDate","outputFieldName":"From_Date"},"typeVersion":2},{"id":"6afda203-2e3f-4969-ae63-d7c8739d566c","name":"Format To_Date to Specific Format","type":"n8n-nodes-base.code","position":[720,432],"parameters":{"jsCode":"const inputString = $input.first().json.To_Date;\nconst date = new Date(inputString);\n\n// Format the date\nconst formattedDate = date.toLocaleDateString('en-US');\n\n// Return as an array of objects\nreturn [{ \n    original_date: inputString,\n    to_date: formattedDate \n}];"},"typeVersion":2},{"id":"db14cc65-787a-4c06-8ebf-301737fcff17","name":"Format From_Date to Specific Format","type":"n8n-nodes-base.code","position":[720,608],"parameters":{"jsCode":"const inputString = $input.first().json.From_Date;\nconst date = new Date(inputString);\n\n// Format the date\nconst formattedDate = date.toLocaleDateString('en-US');\n\n// Return as an array of objects\nreturn [{ \n    original_date: inputString,\n    from_date: formattedDate \n}];"},"typeVersion":2},{"id":"a230a29b-807a-4c53-8d9f-2013eddb7a67","name":"Wait for Both Paths","type":"n8n-nodes-base.merge","position":[944,528],"parameters":{"mode":"chooseBranch"},"typeVersion":3.2},{"id":"580f65d5-05e2-4a46-b05a-8276647a1dff","name":"Extract Lis Pendens Data","type":"n8n-nodes-browseract.browserAct","position":[1104,528],"parameters":{"type":"WORKFLOW","workflowId":"72087493450042645","workflowConfig":{"value":{"input-Today":"={{ $('Format To_Date to Specific Format').first().json.to_date }}","input-From_Date":"={{ $('Format From_Date to Specific Format').first().json.from_date }}"},"schema":[{"id":"input-Texas_Records","type":"string","display":true,"removed":true,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Texas_Records","defaultMatch":true},{"id":"input-From_Date","type":"string","display":true,"removed":false,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"From_Date","defaultMatch":true},{"id":"input-Today","type":"string","display":true,"removed":false,"required":false,"description":"If left blank, the default value defined in BrowserAct will be used.","displayName":"Today","defaultMatch":true}],"mappingMode":"defineBelow","matchingColumns":["input-Today"],"attemptToConvertTypes":false,"convertFieldsToString":false},"open_incognito_mode":false},"credentials":{"browserActApi":{"id":"G1U5ih38TKU5wcI5","name":"BrowserAct account"}},"typeVersion":1},{"id":"7cdee7d5-508e-496a-a530-e8428235e552","name":"Analyze Data & Format for Telegram","type":"@n8n/n8n-nodes-langchain.agent","position":[1456,528],"parameters":{"text":"={{ $json.output.string }}","options":{"systemMessage":"**Role:**\nYou are a Real Estate Data Formatting Agent. Your goal is to convert raw JSON data regarding \"Lis Pendens\" filings into a structured, highly readable Telegram HTML format.\n\n**Input:**\nYou will receive a JSON array containing objects with the following keys: `file_number`, `file_date`, `names`, `legal_description`, and `film_code_link`.\n\n**Task:**\n1. Parse the input JSON.\n2. Format each object into a visually appealing HTML text block suitable for Telegram.\n3. Consolidate these blocks into messages.\n4. Ensure no single message exceeds 3500 characters. If the content exceeds this limit, split it into multiple strings within the output array.\n5. Return the final result as a valid JSON object.\n\n**Formatting Guidelines (Per Record):**\nFor each item in the input array, generate a block using the following template:\n\n---\n📂 <b>File:</b> <code>{file_number}</code>\n📅 <b>Date:</b> {file_date}\n📍 <b>Legal Desc:</b> {legal_description}\n👥 <b>Parties:</b>\n{names_processed}\n\n🔗 <a href=\"{film_code_link}\"><b>DOWNLOAD DOCUMENT</b></a>\n⚠️ <i>(Sign-in required to view)</i>\n---\n\n**Processing Rules:**\n1.  **HTML Tags:** Use only Telegram-supported tags: `<b>`, `<i>`, `<u>`, `<s>`, `<a>`, `<code>`, `<pre>`.\n2.  **Names Field:** The `names` field often contains multiple parties separated by semicolons (`;`). You must formatting this field for readability. Replace semicolons with a newline character combined with a small bullet point (e.g., `\\n▫️ `).\n3.  **Links:** Embed the `film_code_link` into the text \"DOWNLOAD DOCUMENT\".\n4.  **Separators:** distinct records must be separated by an empty line to ensure readability.\n5.  **Header:** The *first* message in the array should start with a summary header: \"📢 <b>New Lis Pendens Filings</b>\\n\\n\".\n6.  **Splitting:**\n    * Continuously estimate the character count of the generated HTML.\n    * If adding the next record would push the character count above 3500 characters, stop the current string, close it, and start a new string in the output array.\n    * Do not break a single record in half; split only *between* records.\n\n**Output Format:**\nYou must output strict JSON only. Do not add markdown code blocks (```json) around the output.\n\nStructure:\n{\n  \"Telegram\": [\n    \"String 1 (Header + Records 1-N)\",\n    \"String 2 (Records N+1 to End)\",\n    ...\n  ]\n}"},"promptType":"define","hasOutputParser":true},"typeVersion":3},{"id":"38cbb09f-e463-4799-8355-c3a1ea91e202","name":"Split Out Generated Content","type":"n8n-nodes-base.splitOut","position":[2112,528],"parameters":{"options":{},"fieldToSplitOut":"output.Telegram"},"typeVersion":1},{"id":"3deefef0-536a-416a-ada6-b0eba12b5783","name":"Prevent Rate Limits","type":"n8n-nodes-base.wait","position":[2528,480],"webhookId":"3e1785fe-7de4-4d1f-9370-ddcac3f27520","parameters":{},"typeVersion":1.1},{"id":"527a0211-c8d1-47bd-a2a2-2207e66cd7b0","name":"Send Lead Data to Telegram","type":"n8n-nodes-base.telegram","position":[2768,544],"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":"36227764-de02-481d-b1eb-1ddb5ddbae74","name":"Chatting With User","type":"@n8n/n8n-nodes-langchain.agent","position":[384,912],"parameters":{"text":"=Input type : {{ $json.output.Type }} | User Input : {{ $('User Sends Message to Bot').item.json.message.text }}","options":{"systemMessage":"if the user input type is chat, analyze the user input and generate single response\nsend the result out as a raw text.\navoid using any tags or notations like ```text ```"},"promptType":"define"},"typeVersion":3},{"id":"e166b9cb-e91d-461e-b6a5-c8574ee29359","name":"Answer the User","type":"n8n-nodes-base.telegram","position":[688,912],"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":"6fe30f91-b082-4d8b-9649-a5b9369cc0f7","name":"Documentation","type":"n8n-nodes-base.stickyNote","position":[-864,-160],"parameters":{"color":6,"width":380,"height":524,"content":"## ⚡ Workflow Overview & Setup\n\n**Summary:** This automation monitors real estate public records (specifically Lis Pendens filings) via Telegram, using BrowserAct to scrape government databases and Gemini to deliver structured lead reports.\n\n### Requirements\n* **Credentials:** Telegram, BrowserAct, OpenRouter (GPT-4), Google Gemini (PaLM).\n* **Mandatory:** BrowserAct API (Template: **Texas Foreclosure Leads**)\n\n### How to Use\n1. **Credentials:** Configure your API keys for Telegram, BrowserAct, and the respective AI models in n8n.\n2. **BrowserAct Template:** Ensure you have the **Texas Foreclosure Leads** template saved in your BrowserAct account.\n3. **Operation:** Send a message like \"Get recent filings\" to your Telegram bot. The system will automatically calculate the date range (last 5 days) and start the extraction.\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":"1e17ab9d-b1ff-40f5-bdd3-fd12eadd0c44","name":"Step 1 Explanation","type":"n8n-nodes-base.stickyNote","position":[-448,240],"parameters":{"color":7,"width":636,"height":124,"content":"### 🕵️ Step 1: Input Classification\n\nThe workflow triggers via Telegram and uses an AI agent to distinguish between a casual chat and a specific real estate records request. If a data request is detected, the system immediately calculates a dynamic 5-day date range for the search."},"typeVersion":1},{"id":"48a745ab-f345-4ad0-a28d-df7a6704ea1d","name":"Step 2 Explanation","type":"n8n-nodes-base.stickyNote","position":[320,128],"parameters":{"color":7,"width":892,"height":124,"content":"### 🌐 Step 2: Automated Data Extraction\n\nBrowserAct executes an automated browser session to access public records databases. It inputs the generated date range and scrapes all relevant Lis Pendens filings, including file numbers, parties involved, and legal descriptions."},"typeVersion":1},{"id":"922c16a8-1206-44a6-aa58-6d47ca222fce","name":"Step 3 Explanation","type":"n8n-nodes-base.stickyNote","position":[1280,352],"parameters":{"color":7,"width":716,"height":128,"content":"### 📊 Step 3: AI Analysis & Formatting\n\nA Data Formatting agent parses the raw JSON results, sanitizing the party names and legal text. It structures the data into scannable blocks, ensuring that each Telegram message stays within the 3500-character safety limit to avoid API errors."},"typeVersion":1},{"id":"729d980d-b561-443e-a2d0-f4e7c27415b9","name":"Step 4 Explanation","type":"n8n-nodes-base.stickyNote","position":[2096,352],"parameters":{"color":7,"width":840,"height":120,"content":"### 🚀 Step 4: Final Delivery\n\nThe formatted reports are split into sequential messages and delivered to the user via Telegram. The workflow includes rate-limit prevention to ensure reliable delivery of high-volume filing reports."},"typeVersion":1},{"id":"cf443073-5c4e-4f7f-9a47-6419789c4077","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-432,-160],"parameters":{"color":6,"width":608,"height":352,"content":"@[youtube](Q2zUXDDhD8w)"},"typeVersion":1},{"id":"29fc46cf-7496-46ad-b770-e5d39b9abbb7","name":"Step 4 Explanation1","type":"n8n-nodes-base.stickyNote","position":[336,1168],"parameters":{"color":7,"width":580,"height":120,"content":"### 💬 Step 2-2: Conversational Fallback\n\nThis branch engages the user in natural conversation and answers them."},"typeVersion":1},{"id":"3704528b-6430-46d0-a45b-d32b8719c107","name":"User Sends Message to Bot","type":"n8n-nodes-base.telegramTrigger","position":[-432,448],"webhookId":"a98e8455-ba5a-447e-b928-733483d34db4","parameters":{"updates":["message"],"additionalFields":{}},"credentials":{"telegramApi":{"id":"gJnGTVzNOeiM3LHZ","name":"Telegram account"}},"typeVersion":1.2}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"379ab091-362f-4c28-be52-73217d862020","connections":{"Today's Date":{"main":[[{"node":"Calculate \"From_Date\"","type":"main","index":0}]]},"Google Gemini":{"ai_languageModel":[[{"node":"Chatting With User","type":"ai_languageModel","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"Prevent Rate Limits","type":"main","index":0}]]},"OpenRouter Model":{"ai_languageModel":[[{"node":"Analyze Data & Format for Telegram","type":"ai_languageModel","index":0},{"node":"Structured Output","type":"ai_languageModel","index":0}]]},"OpenRouter Model1":{"ai_languageModel":[[{"node":"Validate user Input","type":"ai_languageModel","index":0},{"node":"Structured Output Parser","type":"ai_languageModel","index":0}]]},"Structured Output":{"ai_outputParser":[[{"node":"Analyze Data & Format for Telegram","type":"ai_outputParser","index":0}]]},"Chatting With User":{"main":[[{"node":"Answer the User","type":"main","index":0}]]},"Calculate \"To_Date\"":{"main":[[{"node":"Format To_Date to Specific Format","type":"main","index":0}]]},"Prevent Rate Limits":{"main":[[{"node":"Send Lead Data to Telegram","type":"main","index":0}]]},"Validate user Input":{"main":[[{"node":"Check For Input Type","type":"main","index":0}]]},"Wait for Both Paths":{"main":[[{"node":"Extract Lis Pendens Data","type":"main","index":0}]]},"Check For Input Type":{"main":[[{"node":"Send Alert","type":"main","index":0},{"node":"Calculate \"To_Date\"","type":"main","index":0},{"node":"Today's Date","type":"main","index":0}],[{"node":"Chatting With User","type":"main","index":0}]]},"Calculate \"From_Date\"":{"main":[[{"node":"Format From_Date to Specific Format","type":"main","index":0}]]},"Extract Lis Pendens Data":{"main":[[{"node":"Analyze Data & Format for Telegram","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}]]},"Send Lead Data to Telegram":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Split Out Generated Content":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Format To_Date to Specific Format":{"main":[[{"node":"Wait for Both Paths","type":"main","index":0}]]},"Analyze Data & Format for Telegram":{"main":[[{"node":"Split Out Generated Content","type":"main","index":0}]]},"Format From_Date to Specific Format":{"main":[[{"node":"Wait for Both Paths","type":"main","index":1}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":30,"nodeTypes":{"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.dateTime":{"count":3},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.telegram":{"count":3},"n8n-nodes-base.stickyNote":{"count":7},"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":2},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":1},"@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":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"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/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"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.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core 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":221,"icon":"fa:clock","name":"n8n-nodes-base.dateTime","codex":{"data":{"resources":{"generic":[{"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-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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.datetime/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Date & Time","color":"#408000"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Date & Time","typeVersion":2,"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":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"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":37,"name":"Lead Generation"},{"id":47,"name":"AI Chatbot"}],"image":[]}}