{"workflow":{"id":14311,"name":"Track competitor prices and email AI insights with Google Sheets, Groq and Gmail","views":3,"recentViews":0,"totalViews":3,"createdAt":"2026-03-25T11:19:25.667Z","description":"## How it works  \nThis workflow automatically monitors competitor product prices stored in Google Sheets. It scrapes product pages, extracts pricing and offer data using AI, and compares it with historical values. Based on changes, it updates records and generates a market intelligence report. The workflow then emails the report and resets data for the next execution cycle.\n\n## Step-by-step  \n\n- **Step 1: Database sync**  \n  - **Schedule Trigger** – Runs the workflow at a scheduled time.  \n  - **Get row(s) in sheet** – Fetches competitor data and product URLs.  \n\n- **Step 2: Scraping**  \n  - **Loop Over Items** – Processes each competitor entry.  \n  - **HTTP Request3** – Retrieves raw HTML using ScraperAPI.  \n  - **Clean Content** – Cleans and prepares text for AI processing.  \n\n- **Step 3: Price extraction**  \n  - **AI Agent1** – Extracts product name, price, and offers.  \n  - **Groq Chat Model1** – Provides AI extraction capability.  \n  - **current Price and offer** – Converts AI output into structured data.  \n  - **If2** – Checks if it's the first recorded entry.  \n  - **First time price and offer added** – Stores initial values.  \n  - **If1** – Compares current vs previous price and offers.  \n  - **Updated current price and offer in sheet** – Updates if changes detected.  \n  - **If No changes then update** – Updates sheet even when no change is found.  \n\n- **Step 4: Analysis**  \n  - **Get row(s) in sheet1** – Retrieves updated dataset.  \n  - **Data Aggregator** – Builds structured market comparison data.  \n  - **AI Agent** – Generates strategic insights and recommendations.  \n    - **Groq Chat Model** – Powers the analysis output.  \n  - **Update row in sheet** – Saves AI-generated summary in sheet. \n\n- **Step 5: Reporting**   \n  - **Edit Fields1** – Formats the report into HTML email layout.  \n  - **Send a message** – Sends the final report via Gmail.  \n\n- **Step 6: Reset**  \n  - **Get row(s) in sheet2** – Retrieves final processed data.  \n  - **Update row in sheet1** – Moves current data to history and clears fields.  \n\n## Why use this?  \n- Ensures all price scenarios (change or no change) are handled properly  \n- Keeps your Google Sheets always updated with accurate data  \n- Provides AI-powered competitive intelligence automatically  \n- Sends clean, formatted reports without manual effort  \n- Maintains structured historical tracking for better decision-making  \n","workflow":{"meta":{"instanceId":"c91c5b6efe2709e07c37996245857ac5d863d575d07e0072127351337c204c40"},"nodes":[{"id":"55dd9e2e-7975-4658-a4f1-91f65d01a4ef","name":"Get row(s) in sheet","type":"n8n-nodes-base.googleSheets","position":[1744,1648],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Competitor Price Monitor"}},"typeVersion":4.7},{"id":"b5876e55-9cd6-4ab9-9f4d-289a5b49fc52","name":"First time price and offer added","type":"n8n-nodes-base.googleSheets","position":[3392,1344],"parameters":{"columns":{"value":{"Competitor Name":"={{ $('Loop Over Items').item.json['Competitor Name'] }}","Last Known Offer":"={{ $json.current_offer }}","Last Known Price":"={{ $json.current_price }}"},"schema":[{"id":"Competitor Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Competitor Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Product URL","type":"string","display":true,"required":false,"displayName":"Product URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Price","type":"string","display":true,"required":false,"displayName":"Last Known Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Offer","type":"string","display":true,"required":false,"displayName":"Last Known Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Competitor Name"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Puma Skyrocket lite"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Competitor Price Monitor"}},"typeVersion":4.7},{"id":"0b18fdc3-6a8e-40b7-9bac-8b5847169f92","name":"Clean Content","type":"n8n-nodes-base.code","position":[2400,1440],"parameters":{"jsCode":"// This script removes scripts, styles, and extra whitespace to save tokens\nconst html = $input.first().json.data;\n\nif (!html) return { text: \"No data found\" };\n\nconst cleanText = html\n  .replace(/<script\\b[^>]*>([\\s\\S]*?)<\\/script>/gim, \"\") // Remove Scripts\n  .replace(/<style\\b[^>]*>([\\s\\S]*?)<\\/style>/gim, \"\")   // Remove CSS\n  .replace(/<[^>]+>/g, \" \")                             // Remove all HTML tags\n  .replace(/\\s+/g, \" \")                                 // Collapse extra spaces\n  .trim();\n\n// To be even safer, we take the first 15,000 characters \n// (Usually enough for price/offers while staying under limits)\nreturn {\n  cleaned_content: cleanText.substring(0, 15000)\n};"},"typeVersion":2},{"id":"d027b557-278d-444f-8c9e-39f08ce70bd6","name":"If1","type":"n8n-nodes-base.if","position":[3424,1728],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"2a337a68-07f8-4ea9-a09e-e017ab805b6c","operator":{"type":"number","operation":"notEquals"},"leftValue":"={{ $('Get row(s) in sheet').item.json['Last Known Price'] }}","rightValue":"={{ $json.current_price }}"},{"id":"372fb0cc-de25-41ee-bee8-7edd50d107b3","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $('Get row(s) in sheet').item.json['Last Known Offer'] }}","rightValue":"={{ $json.current_offer }}"}]}},"typeVersion":2.3},{"id":"bdc53d46-067b-4c76-ad80-faf54ae09c16","name":"current Price and offer","type":"n8n-nodes-base.code","position":[2976,1440],"parameters":{"jsCode":"// Get the raw text string from the Groq output field\nconst rawText = $json.output;\n\ntry {\n  // Remove any potential Markdown formatting (like ```json) if present\n  const cleanJson = rawText.replace(/```json|```/g, \"\").trim();\n  \n  // Parse the string into a JSON object\n  const data = JSON.parse(cleanJson);\n\n  // Return the cleaned data fields\n  return {\n    product_name: data.product_name,\n    current_price: data.current_price,\n    current_offer: data.current_offer\n  };\n} catch (error) {\n  // Fallback in case Groq sends a non-JSON response or conversational text\n  return {\n    error: \"Failed to parse Groq output\",\n    raw_output: rawText\n  };\n}"},"typeVersion":2},{"id":"63a93274-286b-4297-8c88-e2f5a4670914","name":"Updated current price and offer in sheet","type":"n8n-nodes-base.googleSheets","position":[3648,1440],"parameters":{"columns":{"value":{"Current Offer":"={{ $json.current_offer }}","Current Price":"={{ $json.current_price }}","Competitor Name":"={{ $('Loop Over Items').item.json['Competitor Name'] }}"},"schema":[{"id":"Competitor Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Competitor Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Product Name","type":"string","display":true,"removed":true,"required":false,"displayName":"Product Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Product URL","type":"string","display":true,"required":false,"displayName":"Product URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Price","type":"string","display":true,"required":false,"displayName":"Last Known Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Offer","type":"string","display":true,"required":false,"displayName":"Last Known Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Current Price","type":"string","display":true,"required":false,"displayName":"Current Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Current Offer","type":"string","display":true,"required":false,"displayName":"Current Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Competitor Name"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Puma Skyrocket lite"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Competitor Price Monitor"}},"typeVersion":4.7},{"id":"e120201d-9c99-4d1b-a8a8-6a26d30f0097","name":"If No changes then update","type":"n8n-nodes-base.googleSheets","position":[3648,1824],"parameters":{"columns":{"value":{"Current Offer":"={{ $json.current_offer }}","Current Price":"={{ $json.current_price }}","Competitor Name":"="},"schema":[{"id":"Competitor Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Competitor Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Product URL","type":"string","display":true,"required":false,"displayName":"Product URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Price","type":"string","display":true,"required":false,"displayName":"Last Known Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Offer","type":"string","display":true,"required":false,"displayName":"Last Known Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Current Price","type":"string","display":true,"required":false,"displayName":"Current Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Current Offer","type":"string","display":true,"required":false,"displayName":"Current Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Competitor Name"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Puma Skyrocket lite"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Competitor Price Monitor"}},"typeVersion":4.7},{"id":"90177dfc-c7f9-4004-a724-bf8629e8052f","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[1952,1360],"parameters":{"options":{}},"typeVersion":3},{"id":"e42f254f-a5f2-45ef-a056-345a1c190dbe","name":"Get row(s) in sheet1","type":"n8n-nodes-base.googleSheets","position":[3888,1216],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Puma Skyrocket lite"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Competitor Price Monitor"}},"typeVersion":4.7},{"id":"4ba86166-d0fb-4fa1-9e6f-64507b9e1011","name":"AI Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[4336,1216],"parameters":{"text":"=System Instruction / Role:\n\nRetail Strategist. Analyze the market data for {{ $json.product_name }}. Provide:\n\nSummary: Identify price leaders and significant drops.\n\nTrend: Overall market direction (Stable or Discounting).\n\nStrategy: Compare \"Price Matching\" vs \"Value-Add\" positioning.\n\nAlert: Specific trigger price and recommended action.\nRules: No Markdown (no # or **). Clear, professional, and actionable.\n\nPrompt Content:\n\nData: {{ $json.aggregated_market_data }}","options":{},"promptType":"define"},"executeOnce":true,"typeVersion":3},{"id":"99b898c6-5174-4ba5-8de5-cab9640170ac","name":"Groq Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGroq","position":[4336,1392],"parameters":{"model":"llama-3.3-70b-versatile","options":{}},"typeVersion":1},{"id":"b8a4a0b4-5fa0-493a-9dba-e5361618126f","name":"AI Agent1","type":"@n8n/n8n-nodes-langchain.agent","position":[2624,1440],"parameters":{"text":"=System Instruction:\nYou are a Global Retail Data Scientist. Your task is to extract the Standard Live Selling Price from raw web data, regardless of the platform.\n\nExtraction Rules:\n\nproduct_name: Extract the primary product title. Ignore \"Sponsored,\" \"AD,\" or \"Suggested\" items.\n\ncurrent_price (The \"Middle-Value\" Rule): * LOGIC: Locate the price cluster. You will typically see three numbers: a high number (MRP), a middle number (The Live Price), and a lower number (The \"Buy at\" or \"With Bank Offer\" price).\n\nACTION: Extract ONLY the Middle Number (The Live Selling Price).\n\nSTRICT EXCLUSION: Never extract a price that is preceded or followed by the words: \"Buy at\", \"with Bank offer\", \"Effective price\", \"Special price\", or \"Exchange offer\".\n\nFORMAT: Return only the digits (e.g., 2599).\n\ncurrent_offer: Create a comprehensive summary of all promotional text.\n\nInclude: The \"Effective/Buy at\" price mentioned in the text.\n\nInclude: All Bank/Credit Card discounts (e.g., \"HDFC ₹150 off\").\n\nInclude: Shipping offers and EMI details.\n\nFormat: \"Percentage off, Special Price: ₹XXXX, Bank/Card Offers, EMI options.\"\n\nOutput Format Constraints:\n\nReturn ONLY a valid JSON object.\n\nDO NOT use Markdown formatting (no ```json).\n\nDO NOT include conversational text.\n\nInput Data:\n{{ $json.cleaned_content }}","options":{},"promptType":"define"},"typeVersion":3},{"id":"7466ace9-7fbf-48c1-960d-01708b371f7c","name":"Groq Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatGroq","position":[2704,1664],"parameters":{"model":"llama-3.3-70b-versatile","options":{}},"typeVersion":1},{"id":"5259741c-1022-4b96-9f56-b9bffe110617","name":"Data Aggregator","type":"n8n-nodes-base.code","position":[4112,1216],"parameters":{"jsCode":"const items = $input.all();\nlet marketData = \"COMPREHENSIVE MARKET INTELLIGENCE REPORT:\\n\\n\";\n\nconst mainProductName = items[0].json[\"Product Name\"] || \"Target Product\";\n\nitems.forEach((item, index) => {\n  const d = item.json;\n\n  const competitor = d[\"Competitor Name\"] || \"Unknown Competitor\";\n  const histPrice = parseFloat(d[\"Last Known Price\"]) || 0;\n  const currPrice = parseFloat(d[\"Current Price\"]) || 0;\n  const histOffer = d[\"Last Known Offer\"] || \"No prior offer data\";\n  const currOffer = d[\"Current Offer\"] || \"No current offer data\";\n\n  const priceDiff = currPrice - histPrice;\n  const percentChange = histPrice !== 0 ? ((priceDiff / histPrice) * 100).toFixed(2) : 0;\n  \n  let movementStatus = \"STABLE\";\n  if (priceDiff < 0) {\n    movementStatus = `PRICE DROP detected (Reduced by ₹${Math.abs(priceDiff)} / ${Math.abs(percentChange)}%)`;\n  } else if (priceDiff > 0) {\n    movementStatus = `PRICE INCREASE detected (Increased by ₹${priceDiff} / ${percentChange}%)`;\n  }\n\n  marketData += `COMPETITOR #${index + 1}: ${competitor.toUpperCase()}\\n`;\n  marketData += `Product Variant: ${d[\"Product Name\"]}\\n`;\n  marketData += `Current Market Action: ${movementStatus}\\n`;\n  marketData += `Pricing Breakdown:\\n`;\n  marketData += `    - Previous Price: ₹${histPrice}\\n`;\n  marketData += `    - Current Live Price: ₹${currPrice}\\n`;\n  marketData += `Offer Evolution:\\n`;\n  marketData += `    - Was: ${histOffer}\\n`;\n  marketData += `    - Is: ${currOffer}\\n`;\n  marketData += `Strategic Gap: ${priceDiff < 0 ? \"Competitor is aggressively capturing volume.\" : \"Competitor is prioritizing margin over volume.\"}\\n`;\n  marketData += `----------------------------------------------------------\\n\\n`;\n});\n\nreturn [\n  {\n    json: {\n      aggregated_market_data: marketData,\n      product_name: mainProductName\n    },\n    pairedItem: {\n      item: 0\n    }\n  }\n];"},"typeVersion":2},{"id":"abb5128f-8b2e-4ba2-87e1-ddf1b391ce58","name":"Update row in sheet","type":"n8n-nodes-base.googleSheets","position":[4688,1216],"parameters":{"columns":{"value":{"Summary":"={{ $json.output }}","Competitor Name":"={{ $('Get row(s) in sheet').item.json['Competitor Name'] }}"},"schema":[{"id":"Competitor Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Competitor Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Product Name","type":"string","display":true,"removed":true,"required":false,"displayName":"Product Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Product URL","type":"string","display":true,"required":false,"displayName":"Product URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Price","type":"string","display":true,"required":false,"displayName":"Last Known Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Offer","type":"string","display":true,"required":false,"displayName":"Last Known Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Current Price","type":"string","display":true,"required":false,"displayName":"Current Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Current Offer","type":"string","display":true,"required":false,"displayName":"Current Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Summary","type":"string","display":true,"required":false,"displayName":"Summary","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Competitor Name"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Puma Skyrocket lite"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Competitor Price Monitor"}},"typeVersion":4.7},{"id":"fa305685-440b-4093-ae6c-aed6cd5a9c62","name":"Simple Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[4432,1392],"parameters":{"sessionKey":"history","sessionIdType":"customKey"},"typeVersion":1.3},{"id":"4fcc962b-53f6-4fd0-b1b0-98baa5346dca","name":"Send a message","type":"n8n-nodes-base.gmail","position":[5136,1216],"webhookId":"YOUR_WEBHOOK_ID","parameters":{"sendTo":"user@example.com","message":"=<p>Hi Team,</p>\n<p>Please find the latest market intelligence details below:</p>\n\n{{ $json.formatted_summary }}\n\n<p>Best regards,<br>Automated Price Monitor</p>","options":{},"subject":"=Market Strategy Report: {{ $('Data Aggregator').item.json.product_name }}"},"typeVersion":2.2},{"id":"0ece3db6-baa2-484a-b119-ce6320fd275b","name":"Update row in sheet1","type":"n8n-nodes-base.googleSheets","position":[5584,1216],"parameters":{"columns":{"value":{"Current Offer":"={{ null }}","Current Price":"={{ null }}","Competitor Name":"={{ $json[\"Competitor Name\"] }}","Last Known Offer":"={{ $json[\"Current Offer\"] }}","Last Known Price":"={{ $json[\"Current Price\"] }}"},"schema":[{"id":"Competitor Name","type":"string","display":true,"removed":false,"required":false,"displayName":"Competitor Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Product Name","type":"string","display":true,"required":false,"displayName":"Product Name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Product URL","type":"string","display":true,"required":false,"displayName":"Product URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Price","type":"string","display":true,"required":false,"displayName":"Last Known Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last Known Offer","type":"string","display":true,"required":false,"displayName":"Last Known Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Current Price","type":"string","display":true,"required":false,"displayName":"Current Price","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Current Offer","type":"string","display":true,"required":false,"displayName":"Current Offer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Summary","type":"string","display":true,"required":false,"displayName":"Summary","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Competitor Name"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Puma Skyrocket lite"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Competitor Price Monitor"}},"typeVersion":4.7},{"id":"bdafea30-2aba-4349-a8a9-6aab41ed6ccf","name":"Get row(s) in sheet2","type":"n8n-nodes-base.googleSheets","position":[5360,1216],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0","cachedResultName":"Puma Skyrocket lite"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_GOOGLE_SHEET_ID","cachedResultUrl":"https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit?usp=drivesdk","cachedResultName":"Competitor Price Monitor"}},"typeVersion":4.7},{"id":"b5e4f0c7-1c0c-493f-a44a-494d9cf8625b","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[1520,1648],"parameters":{"rule":{"interval":[{"triggerAtHour":9}]}},"typeVersion":1.3},{"id":"e5467947-0b3c-4319-96e1-30ea959e7982","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[848,928],"parameters":{"width":592,"height":1296,"content":"# Daily Competitor Price & Offer Monitor\n\n### How it works\nThis workflow automatically tracks competitor pricing and promotional offers from your Google Sheets database. It scrapes live product pages, extracts the real selling price using AI, compares it with historical data, and generates a strategic market report.\n\nThe system identifies price drops, offer changes, and competitive positioning shifts. It then summarizes market trends and recommends pricing actions, helping you respond quickly to competitor movements.\n\n### Setup steps\n1. Connect your Google Sheets account and add product URLs with competitor names.\n2. Add your ScraperAPI key in the HTTP Request node.\n3. Connect your AI provider (Groq, OpenAI, or Gemini).\n4. Configure the Gmail node to send reports.\n5. Set the Schedule Trigger to your preferred time.\n\n### Customization tips\n- Adjust AI prompts to refine pricing logic or strategy output.\n- Modify schedule frequency for faster monitoring.\n- Add more competitors directly in Google Sheets."},"typeVersion":1},{"id":"ac628a5b-4c1e-43b7-83e7-d317b6bb07c1","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[1472,928],"parameters":{"color":7,"width":416,"height":1296,"content":"## Step 1: Database Sync\nFetch competitor names and product URLs from Google Sheets."},"typeVersion":1},{"id":"35fe8e51-b7b6-4298-bad0-f06b298268e1","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1904,928],"parameters":{"color":7,"width":656,"height":1296,"content":"## Step 2: Scraping\nPull raw product page data using ScraperAPI."},"typeVersion":1},{"id":"21f6b104-1d0a-42f7-8f39-55a64b2043af","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[2576,928],"parameters":{"color":7,"width":1280,"height":1296,"content":"## Step 3: Price Extraction\nAI extracts the real selling price and offer details."},"typeVersion":1},{"id":"805a1087-af4a-4519-bac8-d737e5f17a08","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[3872,928],"parameters":{"color":7,"width":960,"height":1296,"content":"## Step 4: Analysis\nCompare current vs historical data to detect changes."},"typeVersion":1},{"id":"25ae4fa0-7f57-4849-b772-8c815854284a","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[4848,928],"parameters":{"color":7,"width":416,"height":1296,"content":"## Step 5: Reporting\nGenerate and email the market intelligence report."},"typeVersion":1},{"id":"3e8c9189-159f-485d-a051-3edf61a03046","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[5280,928],"parameters":{"color":7,"width":480,"height":1296,"content":"## Step 6: Reset\nMove current data to history and clear fields for next run."},"typeVersion":1},{"id":"6c01d6ea-a9df-4759-b42b-8b110087d40c","name":"HTTP Request3","type":"n8n-nodes-base.httpRequest","position":[2176,1440],"parameters":{"url":"=https://api.scraperapi.com?api_key=YOUR_SCRAPERAPI_KEY&url={{ encodeURIComponent($json['Product URL'])}}","options":{}},"typeVersion":4.3},{"id":"51e838b8-c30b-4949-85eb-fc7e20407ac9","name":"If2","type":"n8n-nodes-base.if","position":[3200,1584],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"93d84d16-9fb1-4332-8872-ed4b8c90a255","operator":{"type":"number","operation":"empty","singleValue":true},"leftValue":"={{ $('Get row(s) in sheet').item.json['Last Known Price'] }}","rightValue":""},{"id":"6f43d066-0746-4fd7-ba08-1df0d4950f55","operator":{"type":"string","operation":"empty","singleValue":true},"leftValue":"={{ $('Get row(s) in sheet').item.json['Last Known Offer'] }}","rightValue":""}]}},"typeVersion":2.3},{"id":"296eec2a-d082-44c9-9af8-984d441d4041","name":"Edit Fields1","type":"n8n-nodes-base.set","position":[4912,1216],"parameters":{"options":{},"assignments":{"assignments":[{"id":"29b5c43a-820c-4405-8bb5-b1b6ed8fe765","name":"formatted_summary","type":"string","value":"=<div style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #2c3e50; line-height: 1.6; max-width: 600px; margin: auto; padding: 20px; border: 1px solid #e1e4e8; border-radius: 12px; background-color: #ffffff;\">\n  \n  <h2 style=\"text-align: center; color: #3498db; margin-bottom: 25px;\">\n    📊 Market Intelligence Report\n  </h2>\n\n  <div style=\"background-color: #f8f9fa; border-left: 4px solid #3498db; padding: 20px; border-radius: 4px; white-space: pre-wrap;\">\n{{ $json.Summary }}\n  </div>\n\n  <div style=\"margin-top: 30px; border-top: 1px solid #eee; padding-top: 20px; text-align: center;\">\n    <p style=\"font-size: 12px; color: #95a5a6; margin: 0;\">\n      <strong>Automated via n8n Price Monitor</strong><br>\n      Report Generated: {{ $now.setZone('Asia/Kolkata').toFormat('dd MMM yyyy') }} | {{ $now.setZone('Asia/Kolkata').toFormat('hh:mm a') }}\n    </p>\n  </div>\n\n</div>"}]}},"typeVersion":3.4}],"pinData":{},"connections":{"If1":{"main":[[{"node":"Updated current price and offer in sheet","type":"main","index":0},{"node":"Loop Over Items","type":"main","index":0}],[{"node":"If No changes then update","type":"main","index":0},{"node":"Loop Over Items","type":"main","index":0}]]},"If2":{"main":[[{"node":"First time price and offer added","type":"main","index":0},{"node":"Loop Over Items","type":"main","index":0}],[{"node":"If1","type":"main","index":0}]]},"AI Agent":{"main":[[{"node":"Update row in sheet","type":"main","index":0}]]},"AI Agent1":{"main":[[{"node":"current Price and offer","type":"main","index":0}]]},"Edit Fields1":{"main":[[{"node":"Send a message","type":"main","index":0}]]},"Clean Content":{"main":[[{"node":"AI Agent1","type":"main","index":0}]]},"HTTP Request3":{"main":[[{"node":"Clean Content","type":"main","index":0}]]},"Simple Memory":{"ai_memory":[[{"node":"AI Agent","type":"ai_memory","index":0}]]},"Send a message":{"main":[[{"node":"Get row(s) in sheet2","type":"main","index":0}]]},"Data Aggregator":{"main":[[{"node":"AI Agent","type":"main","index":0}]]},"Groq Chat Model":{"ai_languageModel":[[{"node":"AI Agent","type":"ai_languageModel","index":0}]]},"Loop Over Items":{"main":[[{"node":"Get row(s) in sheet1","type":"main","index":0}],[{"node":"HTTP Request3","type":"main","index":0}]]},"Groq Chat Model1":{"ai_languageModel":[[{"node":"AI Agent1","type":"ai_languageModel","index":0}]]},"Schedule Trigger":{"main":[[{"node":"Get row(s) in sheet","type":"main","index":0}]]},"Get row(s) in sheet":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Update row in sheet":{"main":[[{"node":"Edit Fields1","type":"main","index":0}]]},"Get row(s) in sheet1":{"main":[[{"node":"Data Aggregator","type":"main","index":0}]]},"Get row(s) in sheet2":{"main":[[{"node":"Update row in sheet1","type":"main","index":0}]]},"current Price and offer":{"main":[[{"node":"If2","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":30,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":3},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.googleSheets":{"count":8},"n8n-nodes-base.splitInBatches":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatGroq":{"count":2},"@n8n/n8n-nodes-langchain.memoryBufferWindow":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Avkash Kakdiya","username":"itechnotion","bio":"🚀 Founder of iTechNotion — we build custom AI-powered automation workflows for startups, agencies, and founders.\n💡 Specializing in agentic AI systems, content automation, sales funnels, and digital workers.\n🔧 14+ years in tech | Building scalable no-code/low-code solutions using n8n, OpenAI, and other API-first tools.\n📬 Let’s automate what slows you down.","verified":true,"links":["https://calendly.com/itechnotion_sales/schedule-your-expert-consultation-for-automation"],"avatar":"https://gravatar.com/avatar/cd18cea4647ff1df4cb154c7d172ca67dcf656f09a3f1ffece5646296d1822d5?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"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-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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"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/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"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/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/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.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"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":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","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/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/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/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"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/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/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"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/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/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.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"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":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":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with 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-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/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"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":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","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":1163,"icon":"fa:database","name":"@n8n/n8n-nodes-langchain.memoryBufferWindow","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Memory"],"Memory":["For beginners"]}}},"group":"[\"transform\"]","defaults":{"name":"Simple Memory"},"iconData":{"icon":"database","type":"icon"},"displayName":"Simple Memory","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1263,"icon":"file:groq.svg","name":"@n8n/n8n-nodes-langchain.lmChatGroq","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgroq/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Groq Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaWQ9IkxheWVyXzIiCiAgIHZpZXdCb3g9IjAgMCA0OTkuOTk5OTkgNDk5Ljk5OTk5IgogICB2ZXJzaW9uPSIxLjEiCiAgIHdpZHRoPSI1MDAiCiAgIGhlaWdodD0iNTAwIgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzCiAgICAgaWQ9ImRlZnM0IiAvPjxnCiAgICAgaWQ9IlBBR0VTIj48Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZjU0ZjM1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDoxLjEzNjIyIgogICAgICAgaWQ9InBhdGg0IgogICAgICAgY3g9IjI1MCIKICAgICAgIGN5PSIyNTAiCiAgICAgICByPSIyNTAiIC8+PHBhdGgKICAgICAgIGQ9Ik0gMjUwLjUzNjY0LDk3LjEyMjk5NCBDIDE5Mi43MTkzMSw5Ni41ODg2MzggMTQ1LjQ4MjIyLDE0Mi45NzA3NSAxNDQuOTQ3ODYsMjAwLjc4ODA4IGMgLTAuNTM0MzQsNTcuODE3MzMgNDUuODQ3NzcsMTA1LjA1NDQyIDEwMy42NjUxLDEwNS41ODg3NyBoIDM2LjMzNjIxIHYgLTM5LjIyMTc0IGggLTM0LjQxMjUzIGMgLTM2LjEyMjQ4LDAuNDI3NSAtNjUuNzI1OCwtMjguNTM0NjIgLTY2LjE1MzI5LC02NC42NTcwOCAtMC40Mjc0OSwtMzYuMTIyNDggMjguNTM0NjMsLTY1LjcyNTgxIDY0LjY1NzA4LC02Ni4xNTMzIGggMS40OTYyMSBjIDM2LjEyMjQ4LDAgNjUuNDA1MiwyOS4yODI3MiA2NS41MTIwNyw2NS40MDUyIHYgMCA5Ni4zOTc4MyAwIGMgMCwzNS44MDE4NyAtMjkuMTc1ODUsNjQuOTc3NzMgLTY0Ljg3MDgzLDY1LjQwNTIxIC0xNy4wOTk0MSwtMC4xMDY4OCAtMzMuNDUwNzEsLTcuMDUzNTEgLTQ1LjUyNzE3LC0xOS4xMjk5NSBsIC0yNy43ODY1LDI3Ljc4NjUxIGMgMTkuMjM2ODEsMTkuMzQzNyA0NS4zMTMzOSwzMC4zNTE0MyA3Mi41NjU1NiwzMC42NzIwNSBoIDEuMzg5MzMgYyA1Ny4wNjkyNCwtMC44NTQ5NyAxMDIuOTE3LC00Ny4xMzAyMiAxMDMuMjM3NiwtMTA0LjE5OTQ1IFYgMTk5LjI5MTg5IEMgMzUzLjY2NzM5LDE0Mi40MzYzOSAzMDcuMjg1MjcsOTcuMTIyOTk0IDI1MC41MzY2NCw5Ny4xMjI5OTQgWiIKICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjBweCIKICAgICAgIGlkPSJwYXRoMS0zIiAvPjwvZz48L3N2Zz4K"},"displayName":"Groq Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":32,"name":"Market Research"},{"id":49,"name":"AI Summarization"}],"image":[]}}