{"workflow":{"id":13448,"name":"Check phishing URL reputation with VirusTotal and log to Google Sheets","views":128,"recentViews":1,"totalViews":128,"createdAt":"2026-02-17T06:31:41.500Z","description":"# 🐟 Phishing URL Reputation Checker with VirusTotal\n\nThis n8n template helps you automatically analyze URLs for phishing and malicious activity using VirusTotal’s multi-engine threat intelligence platform. It validates incoming URLs, submits them for scanning, polls for results, classifies risk, and logs verdicts for monitoring and incident response workflows.\n\nUse cases include security automation, SOC alerting, phishing triage pipelines, chatbot URL validation, and email security enrichment. This template is ideal for blue teams, security engineers, and automation builders who want real-time URL reputation checks without building a full security pipeline from scratch.\n\n## 💡 Good to know\n\n- VirusTotal enforces API rate limits. For high-volume environments, consider increasing polling intervals or rotating API keys.\n\n- The workflow defangs suspicious and malicious URLs to prevent accidental clicks during investigation.\n\n- This template uses asynchronous polling because VirusTotal scans are not always immediately available.\n\n## ⚙️ How it works\n\n1. A webhook receives a URL from an API, form, chatbot, or automation trigger.\n2. The URL is normalized and validated to ensure proper formatting.\n3. Valid URLs are submitted to VirusTotal for reputation scanning.\n4. The workflow polls VirusTotal until the analysis is completed or retries are exhausted.\n5. Detection statistics are extracted and evaluated using threshold-based phishing logic.\n6. URLs classified as suspicious or phishing are defanged for safe handling.\n7. Results are returned and optionally logged to Google Sheets for auditing and tracking.\n\n## 🧑‍💻 How to use\n\n- Trigger the workflow using the webhook and send JSON like:\n`{ \"url\": \"example.com\" }`\n\n- Replace the webhook with other triggers such as email ingestion, Slack bots, or security tooling.\n\n- Review the phishing verdict and risk level in the webhook response or Google Sheets log.\n\n## 📋 Requirements\n\n- VirusTotal API key (configured using HTTP Header Auth credentials)\n\n- Google Sheets account for logging scan results\n\n## 🧩 Customizing this workflow\n- Send Slack, Microsoft Teams, or email alerts when the verdict is not SAFE.\n- Extend the workflow with additional threat intelligence sources for stronger detection.\n- Store scan results in databases like Airtable, PostgreSQL, or MySQL instead of Google Sheets for scalable logging and analytics.","workflow":{"id":"ETHbjTJvq3p1U2k1b2z4W","meta":{"instanceId":"34602c084e5be719bdc7b716ca03240d692da7381ab3033f433636bdf92af238"},"name":"Phishing URL Reputation Checker","tags":[],"nodes":[{"id":"9f276b8f-a5f7-4ee9-9bdc-5de4df3071e1","name":"Webhook - Submit URL for Analysis","type":"n8n-nodes-base.webhook","position":[-816,496],"webhookId":"40ca0cb6-844d-4c02-b23d-8558f08ab508","parameters":{"path":"phishing-check","options":{},"httpMethod":"POST","responseMode":"responseNode"},"typeVersion":2.1},{"id":"d0dda112-56e7-42e5-82f6-50d074ca4523","name":"Normalize Input URL","type":"n8n-nodes-base.code","position":[-624,496],"parameters":{"jsCode":"let rawUrl = $input.first().json.body.url;\n\n// Ensure string\nrawUrl = typeof rawUrl === 'string' ? rawUrl : '';\nrawUrl = rawUrl.trim();\n\nif (!rawUrl) {\n  return [{\n    original_url: rawUrl,\n    normalized_url: \"\",\n    is_valid: false\n  }];\n}\n\nlet normalizedUrl = rawUrl;\n\n// Add scheme if missing\nif (!/^[a-zA-Z]+:\\/\\//.test(normalizedUrl)) {\n  normalizedUrl = 'http://' + normalizedUrl;\n}\n\n// Lightweight validation without URL class or regex rules\nlet isValid = false;\n\ntry {\n  // This trick works in restricted sandbox\n  const parts = normalizedUrl.split('://');\n\n  if (parts.length === 2) {\n    const protocol = parts[0].toLowerCase();\n    const hostPart = parts[1].split('/')[0];\n\n    if (\n      (protocol === 'http' || protocol === 'https') &&\n      hostPart.length > 0 &&\n      hostPart.includes('.')\n    ) {\n      isValid = true;\n    }\n  }\n\n} catch (err) {\n  isValid = false;\n}\n\nreturn [{\n  original_url: rawUrl,\n  normalized_url: normalizedUrl,\n  is_valid: isValid\n}];\n\n\n\n\n"},"typeVersion":2},{"id":"be6503df-d23c-4eda-98ad-ad6112faec0d","name":"IF - URL is Valid?","type":"n8n-nodes-base.if","position":[-384,496],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"96418dd7-c3d2-4384-b3b2-fd4645e0b977","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $json.is_valid }}","rightValue":false}]}},"typeVersion":2.3},{"id":"35b3ab91-a3c1-460c-a5e2-ada7bbe610c3","name":"Respond - Invalid URL error","type":"n8n-nodes-base.respondToWebhook","position":[-368,720],"parameters":{"options":{},"respondWith":"json","responseBody":"{\n  \"error\": \"Invalid or malformed URL\",\n  \"message\": \"Please submit a valid URL\"\n}\n"},"typeVersion":1.5},{"id":"1e01c712-1adb-4f25-9f19-f87dadae2594","name":"VirusTotal - Submit URL for Scan","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[-64,480],"parameters":{"url":"https://www.virustotal.com/api/v3/urls","method":"POST","options":{},"sendBody":true,"contentType":"form-urlencoded","sendHeaders":true,"authentication":"genericCredentialType","bodyParameters":{"parameters":[{"name":"url","value":"={{ $json.normalized_url }}"}]},"genericAuthType":"httpHeaderAuth","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/x-www-form-urlencoded"}]}},"credentials":{"httpHeaderAuth":{"id":"lBFKVr20ihyat8Uw","name":"Header Auth account"}},"typeVersion":4.3},{"id":"b62c79d8-e809-48ed-a83a-abc98038b1df","name":"Wait - VirusTotal Scan Processing","type":"n8n-nodes-base.wait","position":[256,480],"webhookId":"d0f7d9dc-de79-4530-a14d-1271206c4c39","parameters":{"amount":10},"typeVersion":1.1},{"id":"c0f96217-dd5d-4cab-a4b2-353644158989","name":"VirusTotal - Get Scan Analysis","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[432,480],"parameters":{"url":"=https://www.virustotal.com/api/v3/analyses/{{ $json.data.id }}","options":{},"authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"lBFKVr20ihyat8Uw","name":"Header Auth account"}},"typeVersion":4.3},{"id":"7dbe02af-08e2-4b45-83c2-f2b93d4e8d9d","name":"IF - VirusTotal Analysis Completed?","type":"n8n-nodes-base.if","position":[688,512],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"8dcc6478-58cb-4fd9-93c9-a2bc02011889","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.attributes.status }}","rightValue":"completed"}]}},"typeVersion":2.3},{"id":"63c7b3f7-4730-452b-92d2-42c94592478e","name":"Wait - Retry VT Analysis Poll","type":"n8n-nodes-base.wait","position":[256,704],"webhookId":"6589ec33-4f39-4e34-ba15-e870e8d198a3","parameters":{"amount":15},"typeVersion":1.1},{"id":"5a7f0141-9a96-469f-83fa-ccb2c998dfb1","name":"Extract VirusTotal Verdict Stats","type":"n8n-nodes-base.code","position":[960,496],"parameters":{"jsCode":"const stats = $json.data.attributes.stats;\nconst url_info  = $json.meta.url_info;\n\nreturn [{\n  vt_malicious: stats.malicious || 0,\n  vt_suspicious: stats.suspicious || 0,\n  vt_harmless: stats.harmless || 0,\n  vt_undetected: stats.undetected || 0,\n  vt_status: $json.data.attributes.status,\n  url: url_info.url\n}];\n"},"typeVersion":2},{"id":"2c15f50f-9139-4760-8a52-4f43c4b190c4","name":"Build Phishing Verdict","type":"n8n-nodes-base.code","position":[1216,496],"parameters":{"jsCode":"let risk = \"Low\";\nlet verdict = \"SAFE\";\n\nconst malicious = $json.vt_malicious || 0;\nconst suspicious = $json.vt_suspicious || 0;\nlet url = $json.url || \"\";\n\n// High confidence phishing\nif (malicious >= 3) {\n  risk = \"High\";\n  verdict = \"PHISHING\";\n}\n\n// Medium confidence suspicious (few malicious engines)\nelse if (malicious >= 1 && malicious <= 2) {\n  risk = \"Medium\";\n  verdict = \"SUSPICIOUS\";\n}\n\n// Medium confidence suspicious (multiple suspicious engines)\nelse if (suspicious >= 3) {\n  risk = \"Medium\";\n  verdict = \"SUSPICIOUS\";\n}\n\n// Defang the URL if verdict is NOT SAFE\nif (verdict !== \"SAFE\") {\n  // Simple defanging: replace . with [.] and hxxp:// instead of http\n  url = url.replace(/^http:\\/\\//i, \"hxxp://\")\n           .replace(/^https:\\/\\//i, \"hxxps://\")\n           .replace(/\\./g, \"[.]\");\n}\n\nreturn [{\n  url,\n  verdict,\n  risk_level: risk,  \n  engines: {\n    virustotal: {\n      malicious,\n      suspicious\n    }\n  }\n}];\n"},"typeVersion":2},{"id":"7f4b09de-1bd0-4416-a086-59a108f3ffc3","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-880,304],"parameters":{"color":7,"width":384,"height":592,"content":"## URL Input & Normalization\nAccepts user URLs via webhook and ensures consistent formatting before security analysis.\n"},"typeVersion":1},{"id":"37658244-61f2-426f-8043-5517a224039c","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-480,304],"parameters":{"color":7,"width":320,"height":592,"content":"## Validation\nChecks for malformed or missing URLs and returns an error if validation fails.\n\n"},"typeVersion":1},{"id":"c9f716ab-354f-4d5d-93cf-eb72d636bba4","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-144,304],"parameters":{"color":7,"width":304,"height":592,"content":"## Threat Intelligence Submission\nSubmits validated URLs to VirusTotal for multi-engine reputation scanning.\n"},"typeVersion":1},{"id":"d8672204-2303-4825-8326-f22944603ff2","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[176,304],"parameters":{"color":7,"width":688,"height":1008,"content":"## Asynchronous Scan Handling\nPolls VirusTotal until the analysis is completed or retries reach the limit.\n"},"typeVersion":1},{"id":"fcebb1a2-d6e0-445d-9664-27de29b5dec8","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[880,336],"parameters":{"color":7,"height":384,"content":"## Detection Signal Extraction\nExtracts VirusTotal detection statistics used for phishing classification.\n"},"typeVersion":1},{"id":"60432bcf-0edc-4014-9651-6f7cd3fdc199","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[1136,336],"parameters":{"color":7,"width":256,"height":384,"content":"## Phishing Decision Engine\nApplies threshold logic to classify URLs as SAFE, SUSPICIOUS, or PHISHING.\n"},"typeVersion":1},{"id":"6dd7cbd5-43c1-4a28-b0b2-331fc49900ec","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1408,336],"parameters":{"color":7,"width":256,"height":384,"content":"## Logging & Output\nStores scan results in Google Sheets for monitoring and incident tracking.\n\n "},"typeVersion":1},{"id":"c015ee89-b8fc-4853-8aaa-54cd4c779279","name":"Respond - VT Service Error","type":"n8n-nodes-base.respondToWebhook","position":[800,64],"parameters":{"options":{},"respondWith":"json","responseBody":"{\n  \"error\": \"Threat intelligence service unavailable\",\n  \"message\": \"VirusTotal request failed. Please try again later.\"\n}"},"typeVersion":1.5},{"id":"c6e341ff-f9bb-4b4c-a9e3-42537fb81edd","name":"IF - VT Analysis Error?","type":"n8n-nodes-base.if","position":[576,144],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a5b806df-b3ce-4743-b2cb-3f297924c14d","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{$json.error}}","rightValue":""}]}},"typeVersion":2.3},{"id":"e9269973-2a40-42fc-bfac-77a571540389","name":"IF - VT Submit Error?","type":"n8n-nodes-base.if","position":[112,128],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"59a51a9b-ffbf-46cf-b7ba-b97ebbb0791e","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{$json.error}}","rightValue":""}]}},"typeVersion":2.3},{"id":"1ddd4032-8b2d-4033-9c7c-dcddf4079352","name":"Log Scan Result","type":"n8n-nodes-base.googleSheets","position":[1488,496],"parameters":{"columns":{"value":{"verdict":"={{ $json.verdict }}","malicious":"={{ $json.engines.virustotal.malicious }}","timestamp":"={{ new Date().toISOString() }}","risk_level":"={{ $json.risk_level }}","suspicious":"={{ $json.engines.virustotal.suspicious }}","original_url":"={{ $json.url }}"},"schema":[{"id":"timestamp","type":"string","display":true,"required":false,"displayName":"timestamp","defaultMatch":false,"canBeUsedToMatch":true},{"id":"original_url","type":"string","display":true,"required":false,"displayName":"original_url","defaultMatch":false,"canBeUsedToMatch":true},{"id":"verdict","type":"string","display":true,"required":false,"displayName":"verdict","defaultMatch":false,"canBeUsedToMatch":true},{"id":"risk_level","type":"string","display":true,"required":false,"displayName":"risk_level","defaultMatch":false,"canBeUsedToMatch":true},{"id":"malicious","type":"string","display":true,"removed":false,"required":false,"displayName":"malicious","defaultMatch":false,"canBeUsedToMatch":true},{"id":"suspicious","type":"string","display":true,"required":false,"displayName":"suspicious","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/14qydoIHflwd-3gYyj7g0QKH5Bfsny_OiLzdnvEKOwfo/edit#gid=0","cachedResultName":"Phishing URL scan"},"documentId":{"__rl":true,"mode":"list","value":"14qydoIHflwd-3gYyj7g0QKH5Bfsny_OiLzdnvEKOwfo","cachedResultUrl":"https://docs.google.com/spreadsheets/d/14qydoIHflwd-3gYyj7g0QKH5Bfsny_OiLzdnvEKOwfo/edit?usp=drivesdk","cachedResultName":"Phishing URL"}},"credentials":{"googleSheetsOAuth2Api":{"id":"dbhomxB8iaP4rmbM","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"b6e9da2e-27a0-400a-8bce-d296a9a61752","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[32,-16],"parameters":{"color":7,"width":944,"height":304,"content":"## Error Handling & Resilience\nHandles VirusTotal API failures, validation errors, and timeout conditions to ensure reliable execution.\n"},"typeVersion":1},{"id":"162e190f-6e38-464d-9350-7fad93cf93c5","name":"Increment Retry Counter","type":"n8n-nodes-base.code","position":[672,832],"parameters":{"jsCode":"const retry = $json.retry_count || 0;\nconst newRetry = retry + 1;\n\nreturn [{\n  json: {\n    ...$json,\n    retry_count: newRetry\n  }\n}];\n\n"},"typeVersion":2},{"id":"6d76ed8e-d24d-4b30-9ce4-39c628ee0558","name":"IF Max Retry Reached?","type":"n8n-nodes-base.if","position":[448,1088],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a864ef76-3d9a-4909-b6d4-f3d7d5144b84","operator":{"type":"number","operation":"gte"},"leftValue":"={{ $json.retry_count }}","rightValue":5}]}},"typeVersion":2.3},{"id":"344723b0-aa1b-4584-b1c7-d5d26cb4f719","name":"Respond Timeout","type":"n8n-nodes-base.respondToWebhook","position":[688,1072],"parameters":{"options":{},"respondWith":"json","responseBody":"{\n  \"status\": \"timeout\",\n  \"reason\": \"VirusTotal analysis not ready after max retries\",\n  \"url\": \"={{$json.url}}\",\n  \"retry_count\": \"={{$json.retry_count}}\"\n}\n"},"typeVersion":1.5},{"id":"e0d9f480-2c11-4567-980c-1602d8c61198","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[-1472,240],"parameters":{"width":560,"height":704,"content":"## Phishing URL Reputation Checker\nThis workflow analyzes submitted URLs to determine whether they are phishing or malicious using VirusTotal’s threat intelligence data. It validates user input, submits the URL for scanning, polls for results, extracts detection signals, and generates a clear phishing verdict with risk scoring. Results are optionally logged to Google Sheets for tracking and investigation.\n\n### How it works\n1. A webhook accepts a URL from an API, form, chatbot, or automation.\n2. The URL is normalized and validated to prevent malformed or unsafe input.\n3. Valid URLs are submitted to VirusTotal for multi-engine reputation analysis.\n4. The workflow polls VirusTotal asynchronously until the scan is complete or retries are exhausted.\n5. Detection statistics are extracted and evaluated using threshold-based phishing logic.\n6. Suspicious or malicious URLs are defanged to prevent accidental clicks.\n7. The final verdict and risk level are returned and optionally logged to Google Sheets.\n\n### Setup steps\n1. Add your VirusTotal API key in the HTTP Header Auth credentials.\n2. Connect Google Sheets to store scan results.\n3. Trigger the webhook with { \"url\": \"example.com\" }.\n\n### Customization\n1. Adjust phishing thresholds in the “Build Phishing Verdict” node or add additional reputation sources for stronger detection.\n2. You can add a Slack, Discord, or email notification when the verdict is not SAFE to alert security teams about potential phishing URLs in real time."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"80bb187f-9bb0-43ac-beba-67c32c7bced0","connections":{"Log Scan Result":{"main":[[]]},"IF - URL is Valid?":{"main":[[{"node":"VirusTotal - Submit URL for Scan","type":"main","index":0}],[{"node":"Respond - Invalid URL error","type":"main","index":0}]]},"Normalize Input URL":{"main":[[{"node":"IF - URL is Valid?","type":"main","index":0}]]},"IF - VT Submit Error?":{"main":[[{"node":"Respond - VT Service Error","type":"main","index":0}],[{"node":"Wait - VirusTotal Scan Processing","type":"main","index":0}]]},"IF Max Retry Reached?":{"main":[[{"node":"Respond Timeout","type":"main","index":0}],[{"node":"Wait - Retry VT Analysis Poll","type":"main","index":0}]]},"Build Phishing Verdict":{"main":[[{"node":"Log Scan Result","type":"main","index":0}]]},"IF - VT Analysis Error?":{"main":[[{"node":"Respond - VT Service Error","type":"main","index":0}],[{"node":"IF - VirusTotal Analysis Completed?","type":"main","index":0}]]},"Increment Retry Counter":{"main":[[{"node":"IF Max Retry Reached?","type":"main","index":0}]]},"Wait - Retry VT Analysis Poll":{"main":[[{"node":"VirusTotal - Get Scan Analysis","type":"main","index":0}]]},"VirusTotal - Get Scan Analysis":{"main":[[{"node":"IF - VT Analysis Error?","type":"main","index":0}]]},"Extract VirusTotal Verdict Stats":{"main":[[{"node":"Build Phishing Verdict","type":"main","index":0}]]},"VirusTotal - Submit URL for Scan":{"main":[[{"node":"IF - VT Submit Error?","type":"main","index":0}]]},"Wait - VirusTotal Scan Processing":{"main":[[{"node":"VirusTotal - Get Scan Analysis","type":"main","index":0}]]},"Webhook - Submit URL for Analysis":{"main":[[{"node":"Normalize Input URL","type":"main","index":0}]]},"IF - VirusTotal Analysis Completed?":{"main":[[{"node":"Extract VirusTotal Verdict Stats","type":"main","index":0}],[{"node":"Increment Retry Counter","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":27,"nodeTypes":{"n8n-nodes-base.if":{"count":5},"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.wait":{"count":2},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.stickyNote":{"count":9},"n8n-nodes-base.httpRequest":{"count":2},"n8n-nodes-base.googleSheets":{"count":1},"n8n-nodes-base.respondToWebhook":{"count":3}}},"status":"published","readyToDemo":null,"user":{"name":"Edson Encinas","username":"eedson","bio":"Low-Code Automation Expert | Data Analytics | Cybersecurity Enthusiast","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/303afb6a31c4ca2c0a2c8e615b593256881ecfcd194a54431625f8e032940b17?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":47,"icon":"file:webhook.svg","name":"n8n-nodes-base.webhook","codex":{"data":{"alias":["HTTP","API","Build","WH"],"resources":{"generic":[{"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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"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/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/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/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/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, 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/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/creating-custom-incident-response-workflows-with-n8n/","label":"How to automate every step of an incident response workflow"},{"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/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-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Webhook","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"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":535,"icon":"file:webhook.svg","name":"n8n-nodes-base.respondToWebhook","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook/"}]},"categories":["Core Nodes","Utility"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"transform\"]","defaults":{"name":"Respond to Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Respond to Webhook","typeVersion":2,"nodeCategories":[{"id":7,"name":"Utility"},{"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"}]}],"categories":[{"id":29,"name":"SecOps"},{"id":49,"name":"AI Summarization"}],"image":[]}}