{
  "workflow": {
    "id": 6292,
    "name": "Master data transformation with the complete set node guide",
    "views": 767,
    "recentViews": 0,
    "totalViews": 767,
    "createdAt": "2025-07-23T00:11:51.095Z",
    "description": "# n8n Set Node Tutorial - Complete Guide\n\n## 🎯 How It Works\n\nThis tutorial workflow teaches you everything about n8n's **Set node** through hands-on examples. The Set node is one of the most powerful tools in n8n - it allows you to create, modify, and transform data as it flows through your workflow.\n\n**What makes this tutorial special:**\n- **Progressive Learning**: Starts simple, builds to complex concepts\n- **Interactive Examples**: Real working nodes you can modify and test\n- **Visual Guidance**: Sticky notes explain every concept\n- **Branching Logic**: Shows how Set nodes work in different workflow paths\n- **Real Data**: Uses practical examples you'll encounter in automation\n\nThe workflow demonstrates 6 core concepts:\n1. **Basic data types** (strings, numbers, booleans)\n2. **Expression syntax** with `{{ }}` and `$json` references\n3. **Complex data structures** (objects and arrays)\n4. **\"Keep Only Set\"** option for clean outputs\n5. **Conditional data setting** with branching logic\n6. **Data transformation** and aggregation techniques\n\n## 📋 Setup Steps\n\n### Step 1: Import the Workflow\n1. **Copy the JSON** from the code artifact above\n2. **Open your n8n instance** in your browser\n3. **Navigate to Workflows** section\n4. **Click \"Import from JSON\"** or the import button (usually a \"+\" or import icon)\n5. **Paste the JSON** into the import dialog\n6. **Click \"Import\"** to load the workflow\n7. **Save the workflow** (Ctrl+S or click Save button)\n\n### Step 2: Choose Your Starting Point\n\n**Option A: Default Tutorial Mode (Recommended for beginners)**\n- The workflow is ready to run as-is\n- Uses simple \"Welcome\" message as starting data\n- **Click \"Execute Workflow\"** to begin\n\n**Option B: Rich Test Data Mode (Recommended for experimentation)**\n1. **Locate the nodes**: Find \"Start (Manual Trigger)\" and \"0. Test Data Input\"\n2. **Disconnect default**: Click the connection line between \"Start (Manual Trigger)\" → \"1. Set Basic Values\" and delete it\n3. **Connect test data**: Drag from \"0. Test Data Input\" output to \"1. Set Basic Values\" input\n4. **Execute**: Click \"Execute Workflow\" to run with rich test data\n\n### Step 3: Execute and Learn\n\n1. **Run the workflow**: Click the \"Execute Workflow\" button\n2. **Check outputs**: Click on each node to see its output data\n3. **Read the notes**: Each sticky note explains what's happening\n4. **Follow the flow**: Data flows from left to right, top to bottom\n\n### Step 4: Experiment and Modify\n\n**Try These Experiments:**\n\n**🔧 Change Basic Values:**\n- Click on \"1. Set Basic Values\"\n- Modify `user_age` (try 20 vs 35)\n- Change `user_name` to see how it propagates\n- Execute and see the changes flow through\n\n**📊 Test Conditional Logic:**\n- Set `user_age` to 20 → triggers \"Student Discount\" path\n- Set `user_age` to 30 → triggers \"Premium Access\" path\n- Watch how the workflow branches differently\n\n**🎨 Modify Expressions:**\n- In \"2. Set with Expressions\", try changing:\n  - `={{ $json.score * 2 }}` to `={{ $json.score * 3 }}`\n  - `={{ $json.user_name }} Smith` to `={{ $json.user_name }} Johnson`\n\n**🏗️ Complex Data Structures:**\n- In \"3. Set Complex Data\", modify the JSON structure\n- Add new properties to the user_profile object\n- Try nested expressions\n\n## 🎓 Learning Path\n\n### Beginner Level (Nodes 1-2)\n- **Focus**: Understanding basic Set operations\n- **Learn**: Data types, static values, simple expressions\n- **Time**: 10-15 minutes\n\n### Intermediate Level (Nodes 3-4)  \n- **Focus**: Complex data and output control\n- **Learn**: Objects, arrays, \"Keep Only Set\" option\n- **Time**: 15-20 minutes\n\n### Advanced Level (Nodes 5-6)\n- **Focus**: Conditional logic and data aggregation\n- **Learn**: Branching workflows, merging data, complex expressions\n- **Time**: 20-25 minutes\n\n## 🔍 What Each Node Teaches\n\n| Node | Concept | Key Learning |\n|------|---------|-------------|\n| **1. Set Basic Values** | Data Types | String, number, boolean basics |\n| **2. Set with Expressions** | Dynamic Data | `{{ }}` syntax, `$json` references, `$now` functions |\n| **3. Set Complex Data** | Advanced Structures | Objects, arrays, nested properties |\n| **4. Set Clean Output** | Data Management | \"Keep Only Set\" for clean final outputs |\n| **5a/5b. Conditional Sets** | Branching Logic | Different data based on conditions |\n| **6. Tutorial Summary** | Data Aggregation | Combining and summarizing workflow data |\n\n## 💡 Pro Tips\n\n**🚀 Quick Wins:**\n- Always check node outputs after execution\n- Use sticky notes as your learning guide  \n- Experiment with small changes first\n- Copy nodes to try variations\n\n**🛠️ Advanced Techniques:**\n- Use `Keep Only Set` for API responses\n- Combine static and dynamic data in complex objects\n- Leverage conditional paths for different user types\n- Reference nested object properties with dot notation\n\n**🐛 Troubleshooting:**\n- If expressions don't work, check the `{{ }}` syntax\n- Ensure field names match exactly (case-sensitive)\n- Use the expression editor for complex logic\n- Check data types match your expectations\n\n## 🎯 Next Steps After Tutorial\n\n1. **Create your own Set nodes** in a new workflow\n2. **Practice with real data** from APIs or databases  \n3. **Build data transformation workflows** for your specific use cases\n4. **Combine Set nodes** with other n8n nodes like HTTP, Webhook, etc.\n5. **Explore advanced expressions** using JavaScript functions\n\n**Congratulations!** You now have the foundation to use Set nodes effectively in any n8n workflow. The Set node is truly the \"Swiss Army knife\" of n8n automation! 🛠️",
    "workflow": {
      "id": "WNu97ohWDOaqPXwj",
      "meta": {
        "instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc"
      },
      "name": "Set Node Tutorial Workflow",
      "tags": [],
      "nodes": [
        {
          "id": "945ccba0-646e-4559-b674-d9df83157aa3",
          "name": "Start (Manual Trigger)",
          "type": "n8n-nodes-base.start",
          "notes": "This node serves as your manual trigger. Click 'Execute Workflow' to start the tutorial. It passes a basic 'welcome' message.",
          "position": [
            -512,
            464
          ],
          "parameters": {},
          "typeVersion": 1
        },
        {
          "id": "0cd6c126-3320-4084-9ebf-65ba2e2ef95e",
          "name": "Tutorial Intro",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -608,
            96
          ],
          "parameters": {
            "width": 400,
            "height": 424,
            "content": "## 🎯 Set Node Tutorial Workflow\n\n**Welcome to the comprehensive Set node tutorial!**\n\nThis workflow will teach you:\n1. Basic data types (string, number, boolean)\n2. Using expressions with {{ }} syntax\n3. Complex data structures (objects & arrays)\n4. The \"Keep Only Set\" option\n5. Conditional data setting\n\n**How to use:**\n- Execute each node step by step\n- Check the output data after each Set node\n- Read the notes on each node\n- Try modifying values to experiment!"
          },
          "typeVersion": 1
        },
        {
          "id": "64d5550c-af2c-4cb5-bb5f-db92c0de7688",
          "name": "1. Set Basic Values",
          "type": "n8n-nodes-base.set",
          "notes": "This demonstrates setting basic data types:\n- Strings for text data\n- Numbers for integers and decimals\n- Booleans for true/false values",
          "position": [
            -288,
            464
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3.2
        },
        {
          "id": "f14ff918-718e-4d77-a9a8-5446f47c59d1",
          "name": "Basic Set Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -80,
            -16
          ],
          "parameters": {
            "color": 7,
            "width": 320,
            "height": 240,
            "content": "## 📝 Basic Set Operations\n\n**What this node does:**\n- Sets simple string values (name, email)\n- Sets number values (age, score) \n- Sets boolean values (true/false)\n\n**Key concepts:**\n- Each data type has its own section\n- Values can be static text/numbers\n- Booleans are true/false only\n\n**Try this:** Change the user_age to see how it affects later nodes!"
          },
          "typeVersion": 1
        },
        {
          "id": "31e36bb6-f39f-4d6b-b2e4-f5a35d18098a",
          "name": "2. Set with Expressions",
          "type": "n8n-nodes-base.set",
          "notes": "This shows how to use expressions in Set nodes:\n- Reference previous data with $json\n- Use JavaScript expressions with ={{ }}\n- Access built-in functions like $now\n- Perform calculations and string interpolation",
          "position": [
            -64,
            272
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3.2
        },
        {
          "id": "a886eb9a-26fb-4510-bef2-761188994246",
          "name": "Expression Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            272,
            16
          ],
          "parameters": {
            "width": 320,
            "height": 240,
            "content": "## 🔧 Expression Magic\n\n**What this node shows:**\n- Using {{ }} to reference previous data\n- $json.fieldname gets data from previous node\n- $now gives current date/time\n- Math operations with JavaScript\n\n**Key patterns:**\n- {{ $json.user_name }} = gets user_name\n- {{ $json.score * 2 }} = multiplies score\n- {{ $now.toFormat('yyyy-MM-dd') }} = formats date\n\n**This is where Set nodes get powerful!**"
          },
          "typeVersion": 1
        },
        {
          "id": "2fabf9a9-47e9-4248-aa51-7d01fde8773b",
          "name": "3. Set Complex Data",
          "type": "n8n-nodes-base.set",
          "notes": "This demonstrates setting complex data structures:\n- Objects with nested properties\n- Arrays with mixed data types\n- Combining static values with dynamic expressions\n- Building hierarchical data structures",
          "position": [
            160,
            272
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3.2
        },
        {
          "id": "d559b4bd-a32c-4d33-8b3f-782dad7034d7",
          "name": "Complex Data Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            624,
            48
          ],
          "parameters": {
            "width": 320,
            "height": 240,
            "content": "## 🏗️ Complex Data Structures\n\n**Objects:** Nested data with properties\n```\nuser_profile: {\n  personal: { name, age, email },\n  account: { is_active, score }\n}\n```\n\n**Arrays:** Lists of values\n```\nuser_permissions: [\"read\", \"write\", \"premium\"]\nscore_history: [85.5, 171, 128.25]\n```\n\n**Pro tip:** Mix static values with dynamic expressions!"
          },
          "typeVersion": 1
        },
        {
          "id": "6aba6d91-55be-4042-87bb-ffdaafe7625b",
          "name": "4. Set Clean Output",
          "type": "n8n-nodes-base.set",
          "notes": "This shows the 'Keep Only Set' option:\n- When enabled, only the newly set values are kept\n- Previous data from the workflow is removed\n- Useful for cleaning up data and creating final outputs\n- Notice how we reference nested object properties",
          "position": [
            384,
            272
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3.2
        },
        {
          "id": "48f1a5f2-cfbd-439b-8093-ba04aea5eac4",
          "name": "Keep Only Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1008,
            48
          ],
          "parameters": {
            "width": 320,
            "height": 240,
            "content": "## 🧹 Keep Only Set Option\n\n**IMPORTANT FEATURE:**\nWhen \"Keep Only Set\" is enabled:\n- ✅ Only new values are kept\n- ❌ All previous data is removed\n- 🎯 Perfect for final outputs\n\n**Use cases:**\n- Clean API responses\n- Final data formatting\n- Removing unwanted fields\n\n**Notice:** This node only has 3 fields in output instead of all previous data!"
          },
          "typeVersion": 1
        },
        {
          "id": "1f99d00d-dc21-4ff1-a48c-a70cc5d316a5",
          "name": "Age Check",
          "type": "n8n-nodes-base.if",
          "notes": "Branching logic to demonstrate conditional Set nodes",
          "position": [
            -64,
            560
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "version": 1,
                "leftValue": "",
                "caseSensitive": true,
                "typeValidation": "strict"
              },
              "combinator": "and",
              "conditions": [
                {
                  "id": "condition-1",
                  "operator": {
                    "type": "number",
                    "operation": "gt"
                  },
                  "leftValue": "={{ $json.user_age }}",
                  "rightValue": 25
                }
              ]
            }
          },
          "typeVersion": 2
        },
        {
          "id": "e2dcd60e-246e-4f1b-80e4-e50b1d08e7b9",
          "name": "5a. Set Adult Data",
          "type": "n8n-nodes-base.set",
          "notes": "Conditional Set node for adults (age > 25)\nShows how Set nodes work in different branches",
          "position": [
            160,
            464
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3.2
        },
        {
          "id": "dc01d597-9b1e-454e-b4fa-fdb81571b44d",
          "name": "5b. Set Young Adult Data",
          "type": "n8n-nodes-base.set",
          "notes": "Conditional Set node for young adults (age <= 25)\nShows different values based on conditions",
          "position": [
            160,
            656
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3.2
        },
        {
          "id": "c31f2f39-ad3a-4207-809c-722445703135",
          "name": "Conditional Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            272,
            480
          ],
          "parameters": {
            "width": 320,
            "height": 240,
            "content": "## 🔀 Conditional Set Nodes\n\n**The IF node splits the workflow:**\n- ✅ TRUE: Age > 25 → Adult path\n- ❌ FALSE: Age ≤ 25 → Young adult path\n\n**Each path has different Set nodes:**\n- Adults get premium offers\n- Young adults get student discounts\n\n**Key insight:** Set nodes can have completely different logic based on conditions!\n\n**Try:** Change user_age to 20 and see the different path!"
          },
          "typeVersion": 1
        },
        {
          "id": "3ae0a260-db4b-4ac4-8b71-3c5d1e952676",
          "name": "Merge Branches",
          "type": "n8n-nodes-base.merge",
          "notes": "Merge the conditional branches back together",
          "position": [
            384,
            560
          ],
          "parameters": {
            "mode": "combine",
            "options": {},
            "mergeByFields": {
              "values": [
                {}
              ]
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "2ed81df9-7a96-483b-b736-012e89e08595",
          "name": "6. Tutorial Summary",
          "type": "n8n-nodes-base.set",
          "notes": "Final summary of the Set node tutorial with all key concepts covered",
          "position": [
            608,
            560
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3.2
        },
        {
          "id": "a630ce01-86c0-44c8-82f8-5e4f790a936a",
          "name": "Completion Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            752,
            688
          ],
          "parameters": {
            "width": 400,
            "height": 376,
            "content": "## 🎓 Tutorial Complete!\n\n**What you've learned:**\n✅ Basic data types in Set nodes\n✅ Expression syntax with {{ }}\n✅ Referencing data with $json\n✅ Complex objects and arrays\n✅ Keep Only Set for clean outputs\n✅ Conditional data setting\n\n**Next steps:**\n- Try modifying the values\n- Add your own Set nodes\n- Experiment with expressions\n- Build your own data transformations!\n\n**Set nodes are the Swiss Army knife of n8n! 🛠️**"
          },
          "typeVersion": 1
        },
        {
          "id": "42624e8d-e79c-4064-a999-59fff9b684f9",
          "name": "0. Test Data Input",
          "type": "n8n-nodes-base.set",
          "notes": "🔧 **ALTERNATIVE START NODE** - Use this instead of 'Start (Manual Trigger)' for testing!\n\n**How to switch to test data:**\n1. **Disconnect** the line from 'Start (Manual Trigger)' to '1. Set Basic Values'\n2. **Connect** this node to '1. Set Basic Values'\n3. **Execute workflow** to see different results\n\n**Test different scenarios by changing:**\n- user_age (try 20 vs 30 for different branches)\n- score values\n- boolean flags\n\n**This node already has sample data ready to go!**",
          "position": [
            -288,
            800
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3.2
        },
        {
          "id": "d9932d91-1f9f-40d0-b83f-6891be6bfa19",
          "name": "When clicking ‘Execute workflow’",
          "type": "n8n-nodes-base.manualTrigger",
          "position": [
            -512,
            768
          ],
          "parameters": {},
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {
        "0. Test Data Input": [
          {
            "json": {
              "score": 75,
              "user_age": 20,
              "is_active": false,
              "user_name": "Bob",
              "user_email": "bob@example.com",
              "order_value": 150.75,
              "preferences": {
                "theme": "dark",
                "notifications": {
                  "sms": false,
                  "email": true
                }
              },
              "items_purchased": [
                "item_A",
                "item_C",
                "item_F"
              ],
              "product_interest": "Automation Software",
              "newsletter_subscribed": true
            }
          }
        ],
        "Start (Manual Trigger)": [
          {
            "json": {
              "message": "Welcome to the Set Node Tutorial!",
              "timestamp": "2025-01-01T10:00:00.000Z"
            }
          }
        ]
      },
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "7a423cd7-82f0-4193-8203-0d7c1afa258f",
      "connections": {
        "Age Check": {
          "main": [
            [
              {
                "node": "5a. Set Adult Data",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "5b. Set Young Adult Data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Merge Branches": {
          "main": [
            [
              {
                "node": "6. Tutorial Summary",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "0. Test Data Input": {
          "main": [
            []
          ]
        },
        "5a. Set Adult Data": {
          "main": [
            [
              {
                "node": "Merge Branches",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "1. Set Basic Values": {
          "main": [
            [
              {
                "node": "2. Set with Expressions",
                "type": "main",
                "index": 0
              },
              {
                "node": "Age Check",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "3. Set Complex Data": {
          "main": [
            [
              {
                "node": "4. Set Clean Output",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Start (Manual Trigger)": {
          "main": [
            [
              {
                "node": "1. Set Basic Values",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "2. Set with Expressions": {
          "main": [
            [
              {
                "node": "3. Set Complex Data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "5b. Set Young Adult Data": {
          "main": [
            [
              {
                "node": "Merge Branches",
                "type": "main",
                "index": 1
              }
            ]
          ]
        },
        "When clicking ‘Execute workflow’": {
          "main": [
            [
              {
                "node": "0. Test Data Input",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 19,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 1
        },
        "n8n-nodes-base.set": {
          "count": 8
        },
        "n8n-nodes-base.merge": {
          "count": 1
        },
        "n8n-nodes-base.start": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 7
        },
        "n8n-nodes-base.manualTrigger": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "David Olusola",
      "username": "dae221",
      "bio": "I design enterprise-grade automation systems that eliminate bottlenecks, cut manual work by 70%+, and unlock millions in lost revenue opportunities. My clients — typically achieve 5–10x ROI within the first 90 days. Currently partnering with select high-growth companies ready to scale faster with AI automation.  david@daexai.com",
      "verified": true,
      "links": [
        ""
      ],
      "avatar": "https://gravatar.com/avatar/2abbc4c9e828c54a8d8838beda1382e8e4a66684ef9fa8451dbeb3e72b0c9f9c?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": 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": 42,
        "icon": "fa:play",
        "name": "n8n-nodes-base.start",
        "codex": {
          "data": {
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/why-i-chose-n8n-over-zapier-in-2020/",
                  "icon": "😍",
                  "label": "Why I chose n8n over Zapier in 2020"
                },
                {
                  "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/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/sending-sms-the-low-code-way-with-airtable-twilio-programmable-sms-and-n8n/",
                  "icon": "📱",
                  "label": "Sending SMS the Low-Code Way with Airtable, Twilio Programmable SMS, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/automating-conference-organization-processes-with-n8n/",
                  "icon": "🙋‍♀️",
                  "label": "Automating Conference Organization Processes with n8n"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.start/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Start",
          "color": "#00e000"
        },
        "iconData": {
          "icon": "play",
          "type": "icon"
        },
        "displayName": "Start",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 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": []
  }
}