{"workflow":{"id":12789,"name":"Build a full REST-API with n8n webhooks","views":56,"recentViews":0,"totalViews":56,"createdAt":"2026-01-18T13:05:02.909Z","description":"# What is it?\nA clean, extensible **REST-style API routing template** for n8n webhooks with up to 3 path levels.\n\n# How does it work?\n1. Serves API routes via Webhooks with path variables\n\n2. Normalizes incoming requests into \"global\" _REQUEST and _CFG nodes\n\n3. Flexible routing with Switch-nodes based on path segments & request method\n\n# Key features\n- No setup required\n- Supports multiple HTTP methods\n- Global config via code node\n- Separation of concern between config/request and implementation data flow\n- Easy to extend\n\n# Use cases\n- Prototyping backend APIs via JSON-responses\n- Serving interactive websites via HTML-nodes + TEXT responses","workflow":{"meta":{"instanceId":"60dbeda0e845156bdf8109c9eed4e55cb9a13d8e877b59bdc9e1a58488af2271","templateCredsSetupCompleted":true},"nodes":[{"id":"f791a053-fb25-448a-983a-b34701115af3","name":"-> POST","type":"n8n-nodes-base.set","position":[64,-288],"parameters":{"options":{},"assignments":{"assignments":[{"id":"69f54d46-1290-42ea-816a-60b13fbaf6a6","name":"method","type":"string","value":"POST"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"cb9c04d5-08a2-4009-a635-57b7f4a433fa","name":"-> GET","type":"n8n-nodes-base.set","position":[64,-448],"parameters":{"options":{},"assignments":{"assignments":[{"id":"69f54d46-1290-42ea-816a-60b13fbaf6a6","name":"method","type":"string","value":"GET"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"ff19ddfc-6e14-421e-84d4-996ed328b67d","name":"-> PUT","type":"n8n-nodes-base.set","position":[64,-128],"parameters":{"options":{},"assignments":{"assignments":[{"id":"69f54d46-1290-42ea-816a-60b13fbaf6a6","name":"method","type":"string","value":"PUT"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"09c5b816-e377-44be-8c35-d19b6491a54d","name":"-> DELETE","type":"n8n-nodes-base.set","position":[64,32],"parameters":{"options":{},"assignments":{"assignments":[{"id":"69f54d46-1290-42ea-816a-60b13fbaf6a6","name":"method","type":"string","value":"DELETE"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"05be6952-adf6-4644-8874-24b959de3923","name":"v1/seg1","type":"n8n-nodes-base.webhook","position":[-224,-432],"webhookId":"715f0043-1535-4b1d-a269-550be94a8164","parameters":{"path":"/api/v1/:lvl1","options":{},"httpMethod":["GET","POST","PUT","DELETE"],"responseMode":"responseNode","multipleMethods":true},"typeVersion":2.1},{"id":"67fac35a-dd3c-4371-ae47-b519f5734c56","name":"v1/seg2","type":"n8n-nodes-base.webhook","position":[-224,-240],"webhookId":"715f0043-1535-4b1d-a269-550be94a8164","parameters":{"path":"/api/v1/:lvl1/:lvl2","options":{},"httpMethod":["GET","POST","PUT","DELETE"],"responseMode":"responseNode","multipleMethods":true},"typeVersion":2.1},{"id":"b7ea32cb-3d54-4919-8887-4821af6f1180","name":"v1/seg3","type":"n8n-nodes-base.webhook","position":[-224,-48],"webhookId":"715f0043-1535-4b1d-a269-550be94a8164","parameters":{"path":"/api/v1/:lvl1/:lvl2/:lvl3","options":{},"httpMethod":["GET","POST","PUT","DELETE"],"responseMode":"responseNode","multipleMethods":true},"typeVersion":2.1},{"id":"389e112b-176e-43c6-8a98-0346e09bf94f","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-32,-720],"parameters":{"color":7,"width":1056,"height":928,"content":"## Streamlining data \nWe initialize global data for the _REQUEST, and set up our _CFG. We then clear the JSON, so we have a clean separation of global data vs. data flow."},"typeVersion":1},{"id":"be718c7a-86a8-4bae-af41-d66e0a15ca5f","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-320,-720],"parameters":{"color":7,"width":288,"height":928,"content":"## API routing levels \n3 levels provide a solid base\n### To add more:\n- Copy the highest-level Webhook-node\n- Add another variable to the end of the path: `/:lvl4`\n- Connect the outputs to the corresponding mode Set-node"},"typeVersion":1},{"id":"1d9e81f2-8af2-4df2-9e96-c30357d4518a","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-1056,-720],"parameters":{"width":624,"height":928,"content":"# Build REST APIs quickly\n## How it works\nThis template combines webhooks and streamlines data flow for bootstrapping API implementations in n8n.\n\n## Setup\n- This template requires no setup\n- Feel free to set global option in the _CFG node and add/remove levels as needed\n\n## What it can be used for\n- Backend-APIs by using JSON-responses\n- Serving interactive websites by responding with HTML\n- Great for fast, early prototyping\n\n## Notes\n### Direct node notation & \"global\" naming\n- Many nodes don't pass-through data, so relying on $json makes for very cumbersome workflows full of branches -> merges (only to do a DB query, for example)\n- We use global notation instead to keep workflows clean. This template uses the format \"_GLOBAL_NODE_NAME\" for globals, which can be accessed at any point after their execution with $('_GLOBAL_NODE_NAME').item.json\n- See examples in the blue section\n### Noop-nodes\n- No operation nodes help mark entry-points and make it easier to re-route sections\n### n8n restrictions (as of v 2.3.4)\n- webhooks with path variables automatically add a hash as url base\n- webhooks can only map 1:1 to a path level, so each level requires its own webhook"},"typeVersion":1},{"id":"3eb25422-1765-4dba-8500-d08197abcb99","name":"_CFG","type":"n8n-nodes-base.code","position":[640,-208],"parameters":{"mode":"runOnceForEachItem","jsCode":"$input.item.json = {\n  debug: true,\n  defaults: {\n    invalid_route: {\n      response: 'requested endpoint not available',\n      status_code: 400\n    }\n  },\n  db: {\n    tables: {\n      internal_label: 'physical_table_name'\n    }\n  },\n  api_base_url: 'auto' // will be automatically extracted below\n};\n\n/*\n  automatic api base url extraction\n*/\nif ($input.item.json.api_base_url === 'auto') {\n  const full = $('_REQUEST').item.json.webhookUrl;\n  const marker = '/api/v';\n  const pos = full.indexOf(marker);\n\n  if (pos === -1)\n    throw new Error(`No api base url for \"${marker}\" in \"${full}\"`);\n\n  const base = full.slice(0, pos);\n  const rest = full.slice(pos + marker.length);\n  const version = rest.match(/^(\\d+)/)?.[1];\n\n  $input.item.json.api_base_url = `${base}${marker}${version}`;\n}\nreturn $input.item;"},"typeVersion":2},{"id":"5ce6c0d8-0ce8-43a9-83e0-21ca7d609adc","name":"_REQUEST","type":"n8n-nodes-base.set","position":[448,-208],"parameters":{"include":"except","options":{},"assignments":{"assignments":[]},"excludeFields":"headers","includeOtherFields":true},"typeVersion":3.4},{"id":"94fd5eb9-1a06-4bbd-988c-80bae085ae7e","name":"Respond to Webhook1","type":"n8n-nodes-base.respondToWebhook","position":[3520,-592],"parameters":{"options":{},"respondWith":"json","responseBody":"={{ $('_REQUEST').item.json }}"},"typeVersion":1.5},{"id":"aeb33496-b122-4a90-ae66-66ded2c135ae","name":"Invalid Route","type":"n8n-nodes-base.respondToWebhook","position":[1488,-80],"parameters":{"options":{"responseCode":"={{ $('_CFG').item.json.defaults.invalid_route.status_code }}"},"respondWith":"text","responseBody":"={{ $('_CFG').item.json.defaults.invalid_route.response }}"},"typeVersion":1.5},{"id":"6269dca9-e433-40a2-ae07-13e32f6e0dbf","name":"Clear JSON","type":"n8n-nodes-base.set","position":[832,-208],"parameters":{"options":{}},"typeVersion":3.4,"alwaysOutputData":true},{"id":"627ab5bb-bf94-4609-8fae-bb6a97904420","name":"Invalid Route1","type":"n8n-nodes-base.respondToWebhook","position":[1872,-80],"parameters":{"options":{"responseCode":"={{ $('_CFG').item.json.defaults.invalid_route.status_code }}"},"respondWith":"text","responseBody":"={{ $('_CFG').item.json.defaults.invalid_route.response }}"},"typeVersion":1.5},{"id":"0a4fc685-916b-4703-b6fd-be67d3663ba5","name":"Invalid Route2","type":"n8n-nodes-base.respondToWebhook","position":[2256,-336],"parameters":{"options":{"responseCode":"={{ $('_CFG').item.json.defaults.invalid_route.status_code }}"},"respondWith":"text","responseBody":"={{ $('_CFG').item.json.defaults.invalid_route.response }}"},"typeVersion":1.5},{"id":"c99025cd-cbcb-427c-a87c-5bc110ebd4a4","name":"Invalid Route3","type":"n8n-nodes-base.respondToWebhook","position":[2256,64],"parameters":{"options":{"responseCode":"={{ $('_CFG').item.json.defaults.invalid_route.status_code }}"},"respondWith":"text","responseBody":"={{ $('_CFG').item.json.defaults.invalid_route.response }}"},"typeVersion":1.5},{"id":"62b6dbef-116b-4949-8e6f-e70e676c0bcf","name":"Respond to Webhook","type":"n8n-nodes-base.respondToWebhook","position":[3520,-384],"parameters":{"options":{},"respondWith":"json","responseBody":"={{ $('_REQUEST').item.json }}"},"typeVersion":1.5},{"id":"f6d82071-1a0a-457d-b09e-9a61120c07b4","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1200,-720],"parameters":{"color":7,"width":1296,"height":928,"content":"## Endpoint-based routing\nDuplicated fallback nodes to prevent visual clutter, all fallbacks can ofc also route to a centralized flow."},"typeVersion":1},{"id":"ec02dbe3-82e1-4398-98e1-111ce7d01b6b","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[2656,-720],"parameters":{"color":4,"width":1168,"height":544,"content":"## Endpoint Implementation\nSubworkflows are used as a placeholder, implementation can ofc also just be inline.\n"},"typeVersion":1},{"id":"80e850ec-66c5-4537-8c26-5bd128bc8676","name":"Routing","type":"n8n-nodes-base.noOp","position":[1296,-208],"parameters":{},"typeVersion":1},{"id":"2fc22f0a-df85-49d9-8e21-80de2c3c9a75","name":"Check baz status","type":"n8n-nodes-base.noOp","position":[3136,-592],"parameters":{},"typeVersion":1},{"id":"90650048-1797-420e-b8bd-1032aec09742","name":"Create new baz","type":"n8n-nodes-base.noOp","position":[3136,-384],"parameters":{},"typeVersion":1},{"id":"0279ee50-54df-4d2d-b1ed-7fdf6ebb652b","name":"Implementation","type":"n8n-nodes-base.executeWorkflow","onError":"continueRegularOutput","position":[3328,-592],"parameters":{"source":"parameter","options":{"waitForSubWorkflow":false},"workflowJson":"{}"},"typeVersion":1.3},{"id":"0050daa5-2edb-484b-abb7-c618cd442abc","name":"Implementation1","type":"n8n-nodes-base.executeWorkflow","onError":"continueRegularOutput","position":[3328,-384],"parameters":{"source":"parameter","options":{"waitForSubWorkflow":false},"workflowJson":"{}"},"typeVersion":1.3},{"id":"34b83843-804b-43f6-8475-623ecc63b89a","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-304,320],"parameters":{"color":5,"width":1248,"height":1200,"content":"## Example for $json-based vs. absolute $('_NODE') notation for data access\nNodes that don't pass through content, like DB nodes, require cumbersome and cluttersome branching -> merging to preserve the n8n default principle of continuous data flow via the $json object. \n\nAs an alternative, absolute node references can help tremendously to reduce visual clutter. Support for absolute references is very good:\n- when renaming a target node, any absolute call reference will automatically update to the new name\n- when copying a whole section of a workflow that includes absolute references AND the target node, absolute references will be updated to the new target copy\n\nIn order to be able to reference a node:\n- the target node must be on the path to the node you are trying to reference it from\n- the target node must have been executed (check method in example)\n"},"typeVersion":1},{"id":"b1fe6080-4edc-4d15-91f0-f56bb352abf2","name":"Merge","type":"n8n-nodes-base.merge","position":[560,672],"parameters":{"mode":"chooseBranch"},"typeVersion":3.2},{"id":"acbfccc8-be97-4000-96af-b57b634a9b8a","name":"/foo","type":"n8n-nodes-base.switch","position":[1872,-240],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"025bf7d8-484b-4457-898a-55a8a39b3933","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $('_REQUEST').item.json.params.lvl2 == 'bar' }}","rightValue":"bar"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"bcbcd98d-625a-47ce-b752-90500c92fdf1","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $('_REQUEST').item.json.params.lvl2 == 'qux'}}","rightValue":"qux"}]}}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.4},{"id":"8c8a1559-4246-4711-80dd-2806f9f853e0","name":"api root","type":"n8n-nodes-base.switch","position":[1488,-208],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"025bf7d8-484b-4457-898a-55a8a39b3933","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $('_REQUEST').item.json.params.lvl1 == 'foo' }}","rightValue":"foo"}]}}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.4},{"id":"be329dc0-6874-44d5-8989-f8728197623e","name":"/foo/bar/baz","type":"n8n-nodes-base.noOp","position":[2752,-480],"parameters":{},"typeVersion":1},{"id":"bef1ea6a-2e91-4f39-99f1-81676b53dbe5","name":"/foo/bar","type":"n8n-nodes-base.switch","position":[2256,-464],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a9e83028-162c-4b75-8d3b-b747bff055a8","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $('_REQUEST').item.json.params.lvl3 == 'baz'}}","rightValue":"baz"}]}}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.4},{"id":"7732d88e-bc8c-4d74-9c99-c26d90437c67","name":"/foo/qux","type":"n8n-nodes-base.switch","position":[2256,-64],"parameters":{"rules":{"values":[{"conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"","rightValue":""}]}}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.4},{"id":"ca1c3fd7-05bf-426b-8fb8-68044cc5cb9b","name":"baz METHOD","type":"n8n-nodes-base.switch","position":[2944,-480],"parameters":{"rules":{"values":[{"outputKey":"GET","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a9e83028-162c-4b75-8d3b-b747bff055a8","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('_REQUEST').item.json.method }}","rightValue":"GET"}]},"renameOutput":true},{"outputKey":"POST","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"355515a7-d7ce-4c4b-a665-4dcaac5d401a","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $('_REQUEST').item.json.method }}","rightValue":"POST"}]},"renameOutput":true}]},"options":{"fallbackOutput":"none"}},"typeVersion":3.4},{"id":"fdf361ac-b211-4051-a666-6e72f7a9070e","name":"regular Set node","type":"n8n-nodes-base.set","position":[176,656],"parameters":{"options":{},"assignments":{"assignments":[{"id":"4b98db71-2a59-411f-b28f-e484d414f096","name":"test","type":"string","value":"we need this value"}]}},"typeVersion":3.4},{"id":"f910dc32-f762-464b-a938-3536a97b3f8b","name":"non-passthrough node","type":"n8n-nodes-base.executeWorkflow","onError":"continueRegularOutput","position":[368,768],"parameters":{"source":"parameter","options":{"waitForSubWorkflow":false},"workflowJson":"{}"},"typeVersion":1.3},{"id":"4985acc4-ba09-4fd1-bb97-acd75b2ac7da","name":"data via $json","type":"n8n-nodes-base.set","position":[752,672],"parameters":{"options":{},"assignments":{"assignments":[{"id":"a0218318-24e6-4312-a7e3-397f626bf695","name":"test","type":"string","value":"={{ $json.test }}"}]}},"typeVersion":3.4},{"id":"57eb16cd-ffb2-4894-92a0-805396778504","name":"Named node","type":"n8n-nodes-base.set","position":[176,992],"parameters":{"options":{},"assignments":{"assignments":[{"id":"c984797c-e667-4f38-811b-446fca3dac9b","name":"test","type":"string","value":"we need this value"}]}},"typeVersion":3.4},{"id":"04cf9504-4620-4f85-820c-b6fcbcb6d6f7","name":"non-passthrough node1","type":"n8n-nodes-base.executeWorkflow","onError":"continueRegularOutput","position":[368,992],"parameters":{"source":"parameter","options":{"waitForSubWorkflow":false},"workflowJson":"{}"},"typeVersion":1.3},{"id":"f11e1ff4-c857-48f2-bd1b-c883a54e6ff2","name":"data via $('NODE')","type":"n8n-nodes-base.set","position":[752,992],"parameters":{"options":{},"assignments":{"assignments":[{"id":"a0218318-24e6-4312-a7e3-397f626bf695","name":"test","type":"string","value":"={{ $('Named node').item.json.test }}"}]}},"typeVersion":3.4},{"id":"fa0a2770-f870-47af-9028-faa3a33b5ae6","name":"example: default $json-based","type":"n8n-nodes-base.noOp","position":[-16,656],"parameters":{},"typeVersion":1,"alwaysOutputData":true},{"id":"9ebccd9d-2f38-4b02-a3ae-253a6ab86c99","name":"example: $('NODE') based","type":"n8n-nodes-base.noOp","position":[-16,992],"parameters":{},"typeVersion":1,"alwaysOutputData":true},{"id":"6455c350-2f78-446e-a0c7-fbf74edce36f","name":"example: check for execution","type":"n8n-nodes-base.noOp","position":[-16,1296],"parameters":{},"typeVersion":1,"alwaysOutputData":true},{"id":"c905835f-82fa-41f6-a270-742e6e855b2b","name":"run examples","type":"n8n-nodes-base.manualTrigger","position":[-208,992],"parameters":{},"typeVersion":1},{"id":"7bde2def-0994-4d53-b1b3-45ee11ade62c","name":"optional path","type":"n8n-nodes-base.set","position":[368,1200],"parameters":{"options":{},"assignments":{"assignments":[{"id":"a622a46b-b7d2-47a2-a8fd-f4aaae4dd6de","name":"test","type":"string","value":"we need this value"}]}},"typeVersion":3.4},{"id":"3c111485-8699-47c6-8c16-90f570b498bd","name":"50:50 randomizer","type":"n8n-nodes-base.if","position":[176,1296],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"38fa5843-9499-479e-b6ed-7465c05f76ee","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ Math.random() >= 0.5 }}","rightValue":""}]}},"typeVersion":2.3},{"id":"a61bdd62-e908-4063-896d-41b677c7628f","name":"non-passthrough node2","type":"n8n-nodes-base.executeWorkflow","onError":"continueRegularOutput","position":[560,1312],"parameters":{"source":"parameter","options":{"waitForSubWorkflow":false},"workflowJson":"{}"},"typeVersion":1.3},{"id":"0731df76-749d-4a65-9b55-c2041a39a074","name":"data with fallback","type":"n8n-nodes-base.set","position":[752,1312],"parameters":{"options":{},"assignments":{"assignments":[{"id":"a0218318-24e6-4312-a7e3-397f626bf695","name":"test","type":"string","value":"={{ $('optional path').isExecuted ? $('optional path').item.json.test : 'node not executed' }}"}]}},"typeVersion":3.4},{"id":"829745fe-f822-429a-8fad-5b701ab91417","name":"API entry point","type":"n8n-nodes-base.noOp","position":[256,-208],"parameters":{},"typeVersion":1}],"pinData":{"v1/seg3":[{"body":{},"query":{},"params":{"lvl1":"foo","lvl2":"bar","lvl3":"baz"},"headers":{"host":"n8n.srv941331.hstgr.cloud","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","cookie":"rl_page_init_referrer=RudderEncrypt%3AU2FsdGVkX1%2FFzlIdVyTZsZOH84Mo1LLvs%2Ffkmd21n4pw7jmIxkpF9lRlv3vLvPs4; rl_page_init_referring_domain=RudderEncrypt%3AU2FsdGVkX1%2BgB3XMZkwQ4g29y8MIw0rSLf5%2FBug7eRN5nC8dgHmsA0Gk8r2oIFw%2B; ph_phc_4URIAm1uYfJO7j8kWSe0J8lc8IqnstRLS7Jx8NcakHo_posthog=%7B%22distinct_id%22%3A%2260dbeda0e845156bdf8109c9eed4e55cb9a13d8e877b59bdc9e1a58488af2271%2331b6ccf7-c829-4b5e-a4bf-21360c06b3d1%22%2C%22%24sesid%22%3A%5B1765360876744%2C%22019b07b4-33be-7f31-b01b-f0730c58a9cc%22%2C1765360808880%5D%2C%22%24epp%22%3Atrue%2C%22%24initial_person_info%22%3A%7B%22r%22%3A%22https%3A%2F%2Fhpanel.hostinger.com%2F%22%2C%22u%22%3A%22https%3A%2F%2Fn8n.srv941331.hstgr.cloud%2Fsetup%22%7D%7D; rl_anonymous_id=RudderEncrypt%3AU2FsdGVkX1%2BdLssbcGxeCFvHVvhTVVdY1ew3Id3Mm6cNLrwc4j8t5FKec9DrUD3jc9Q0k%2BweJttpBNsDCqhskg%3D%3D; rl_user_id=RudderEncrypt%3AU2FsdGVkX19RqdMXaLWmqXhokgCHfTS8BiB%2FaqHYr2lob%2Bvdy14qDhZhFcaMUALtvGJEic8zyshU5lNbsqNTgO%2BQLIypDXr%2BqB0Xl22%2B%2BrrjpLtco0ZFO3nbQn0Np08DX6XSN4wWluXWBfPs0rF6nswWC4reY0usUI0PYJpQyGE%3D; rl_trait=RudderEncrypt%3AU2FsdGVkX19b7nrPMIOK4iH7G280vsicf901TMGzgiz5g8pclroxLUSg1RV%2FT43zt%2Fx7pWguxiiRdfE2glCV%2FVNdpNmy1OT%2FW%2BlDYCuVmNWcI9yC7PcZCLArCge%2FJe8Vmh3o83lFV2F%2F7DvTHI04aU630zYDgZf6FkKblh0EtyY%3D; rl_session=RudderEncrypt%3AU2FsdGVkX1%2BTWT6oW2caVib61nyX5sHMlAdI74jDc%2B32Z3KS1Zvy5sJeSMQEce47jvz%2Fni2vMPmUMpmSwMIib2j1iUUGZyAoxVfp0zveoUzA3Cor3fnk8cfcHHMSbIFFYOilq1Ec%2BjPmXFID0YxKLA%3D%3D","priority":"u=0, i","sec-ch-ua":"\"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"","x-real-ip":"84.115.215.87","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","cache-control":"max-age=0","sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"none","sec-fetch-user":"?1","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en,en-US;q=0.9,de-DE;q=0.8,de;q=0.7","x-forwarded-for":"84.115.215.87","sec-ch-ua-mobile":"?0","x-forwarded-host":"n8n.srv941331.hstgr.cloud","x-forwarded-port":"443","x-forwarded-proto":"https","sec-ch-ua-platform":"\"macOS\"","x-forwarded-server":"e9598afc1377","upgrade-insecure-requests":"1"},"webhookUrl":"https://n8n.srv941331.hstgr.cloud/webhook/715f0043-1535-4b1d-a269-550be94a8164/api/v1/:lvl1/:lvl2/:lvl3","executionMode":"production"}]},"connections":{"/foo":{"main":[[{"node":"/foo/bar","type":"main","index":0}],[{"node":"/foo/qux","type":"main","index":0}],[{"node":"Invalid Route1","type":"main","index":0}]]},"_CFG":{"main":[[{"node":"Clear JSON","type":"main","index":0}]]},"Merge":{"main":[[{"node":"data via $json","type":"main","index":0}]]},"-> GET":{"main":[[{"node":"API entry point","type":"main","index":0}]]},"-> PUT":{"main":[[{"node":"API entry point","type":"main","index":0}]]},"-> POST":{"main":[[{"node":"API entry point","type":"main","index":0}]]},"Routing":{"main":[[{"node":"api root","type":"main","index":0}]]},"v1/seg1":{"main":[[{"node":"-> GET","type":"main","index":0}],[{"node":"-> POST","type":"main","index":0}],[{"node":"-> PUT","type":"main","index":0}],[{"node":"-> DELETE","type":"main","index":0}]]},"v1/seg2":{"main":[[{"node":"-> GET","type":"main","index":0}],[{"node":"-> POST","type":"main","index":0}],[{"node":"-> PUT","type":"main","index":0}],[{"node":"-> DELETE","type":"main","index":0}]]},"v1/seg3":{"main":[[{"node":"-> GET","type":"main","index":0}],[{"node":"-> POST","type":"main","index":0}],[{"node":"-> PUT","type":"main","index":0}],[{"node":"-> DELETE","type":"main","index":0}]]},"/foo/bar":{"main":[[{"node":"/foo/bar/baz","type":"main","index":0}],[{"node":"Invalid Route2","type":"main","index":0}]]},"/foo/qux":{"main":[[{"node":"Invalid Route3","type":"main","index":0}]]},"_REQUEST":{"main":[[{"node":"_CFG","type":"main","index":0}]]},"api root":{"main":[[{"node":"/foo","type":"main","index":0}],[{"node":"Invalid Route","type":"main","index":0}]]},"-> DELETE":{"main":[[{"node":"API entry point","type":"main","index":0}]]},"Clear JSON":{"main":[[{"node":"Routing","type":"main","index":0}]]},"Named node":{"main":[[{"node":"non-passthrough node1","type":"main","index":0}]]},"baz METHOD":{"main":[[{"node":"Check baz status","type":"main","index":0}],[{"node":"Create new baz","type":"main","index":0}]]},"/foo/bar/baz":{"main":[[{"node":"baz METHOD","type":"main","index":0}]]},"run examples":{"main":[[{"node":"example: default $json-based","type":"main","index":0},{"node":"example: $('NODE') based","type":"main","index":0},{"node":"example: check for execution","type":"main","index":0}]]},"optional path":{"main":[[{"node":"non-passthrough node2","type":"main","index":0}]]},"Create new baz":{"main":[[{"node":"Implementation1","type":"main","index":0}]]},"Implementation":{"main":[[{"node":"Respond to Webhook1","type":"main","index":0}]]},"API entry point":{"main":[[{"node":"_REQUEST","type":"main","index":0}]]},"Implementation1":{"main":[[{"node":"Respond to Webhook","type":"main","index":0}]]},"50:50 randomizer":{"main":[[{"node":"optional path","type":"main","index":0}],[{"node":"non-passthrough node2","type":"main","index":0}]]},"Check baz status":{"main":[[{"node":"Implementation","type":"main","index":0}]]},"regular Set node":{"main":[[{"node":"Merge","type":"main","index":0},{"node":"non-passthrough node","type":"main","index":0}]]},"non-passthrough node":{"main":[[{"node":"Merge","type":"main","index":1}]]},"non-passthrough node1":{"main":[[{"node":"data via $('NODE')","type":"main","index":0}]]},"non-passthrough node2":{"main":[[{"node":"data with fallback","type":"main","index":0}]]},"example: $('NODE') based":{"main":[[{"node":"Named node","type":"main","index":0}]]},"example: check for execution":{"main":[[{"node":"50:50 randomizer","type":"main","index":0}]]},"example: default $json-based":{"main":[[{"node":"regular Set node","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":49,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":12},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.noOp":{"count":8},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.switch":{"count":5},"n8n-nodes-base.webhook":{"count":3},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.executeWorkflow":{"count":5},"n8n-nodes-base.respondToWebhook":{"count":6}}},"status":"published","readyToDemo":null,"user":{"name":"Christian Knoflach","username":"cknoflac","bio":"","verified":false,"links":[],"avatar":"https://gravatar.com/avatar/3bbcd100447349139e336105d43ee2589bd43488fada9f80f7ea226e1e2c4f65?r=pg&d=retro&size=200"},"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":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":26,"icon":"fa:arrow-right","name":"n8n-nodes-base.noOp","codex":{"data":{"alias":["nothing"],"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/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/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/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/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.noop/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"organization\"]","defaults":{"name":"No Operation, do nothing","color":"#b0b0b0"},"iconData":{"icon":"arrow-right","type":"icon"},"displayName":"No Operation, do nothing","typeVersion":1,"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":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":111,"icon":"fa:sign-in-alt","name":"n8n-nodes-base.executeWorkflow","codex":{"data":{"alias":["n8n","call","sub","workflow","sub-workflow","subworkflow"],"details":"The Execute Workflow node can be used when you want your workflow to treat another workflow as a step in your flow. It allows you to modularize your workflows and have a single source of truth for series of actions you perform often. ","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Execute Workflow","color":"#ff6d5a"},"iconData":{"icon":"sign-in-alt","type":"icon"},"displayName":"Execute Sub-workflow","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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"}]},{"id":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":5,"name":"Engineering"}],"image":[]}}