{
  "name": "Learn n8n interactively, lesson 1: data flow, execution & debugging",
  "nodes": [
    {
      "id": "ff2278e7-8006-48e9-84f1-20ad164d7a2e",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        840
      ],
      "parameters": {
        "width": 1100,
        "height": null,
        "content": "## Before we begin... \n- Create your n8n account\n- Watch [these 9 videos](https://www.youtube.com/watch?v=4BVTkqbn_tY&t=30s&ab_channel=n8n).\n- Have chatgpt (or windsurf etc.) open at all times. It's b"
      }
    },
    {
      "id": "68b20538-bac1-41d2-bfa5-f063f25e1ae9",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        300
      ],
      "parameters": {
        "width": 1100,
        "height": 520,
        "content": "# Let's Learn n8n! Lesson 1\nThis is a follow-along workflow that will teach you how to develop in n8n, from scratch. n8n is a powerful and flexible tool -- but it's quirky, the AI help is often wrong,"
      }
    },
    {
      "id": "b35c197d-383f-4ec3-a9a9-1d62d8cff5b1",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        1020
      ],
      "parameters": {
        "width": 540,
        "height": 520,
        "content": "## Triggers (Start Here)\nYou are reading this in a Workflow, a building block of n8n. Every workflow starts with a trigger, and there are many types, from incoming telegram messages, webhooks, user ac"
      }
    },
    {
      "id": "0eedeb20-c10e-4c65-8004-3a4754d2c4dd",
      "name": "Form Start",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        940,
        1280
      ]
    },
    {
      "id": "ca85572d-10dd-4c86-a275-663e3afc236b",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1300,
        1020
      ],
      "parameters": {
        "width": 540,
        "height": 520,
        "content": "## 1.a No Operation node\nThis node does nothing. It's very handy to add comments or just to control layout of wiring between nodes."
      }
    },
    {
      "id": "6c411304-753b-4366-9ff1-2e96196b7265",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1860,
        1020
      ],
      "parameters": {
        "width": 540,
        "height": 520,
        "content": "## 1.b Form Next\nAfter the Form Start trigger, any number of Next Form Page nodes can be added, each with new configurations of choices / text / title etc.\n\nSince n8n doesn’t support breakpoints like "
      }
    },
    {
      "id": "1e991481-5e32-4774-bc97-d0e25c2d28d3",
      "name": "Next Form",
      "type": "n8n-nodes-base.form",
      "position": [
        2060,
        1280
      ]
    },
    {
      "id": "2cea38ab-7c3f-4cde-9cab-f3921a2f9215",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2420,
        1020
      ],
      "parameters": {
        "width": 540,
        "height": 520,
        "content": "## 1.c Flow Control\nIt's important to understand that n8n does things everything one at a time (no concurrency). When two outputs are wired to a node, as below, the TOP PATH is always executed to comp"
      }
    },
    {
      "id": "b7085944-2030-43e1-b29d-190a4661f930",
      "name": "Do Thing 1",
      "type": "n8n-nodes-base.form",
      "position": [
        2620,
        1160
      ]
    },
    {
      "id": "6c551394-9bf0-425a-9512-90a61ec40ff6",
      "name": "Do Thing 2",
      "type": "n8n-nodes-base.form",
      "position": [
        2620,
        1380
      ]
    },
    {
      "id": "69c57ad4-7041-419d-9f70-65d09e0cc353",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2980,
        1020
      ],
      "parameters": {
        "width": 540,
        "height": 520,
        "content": "## 1.e Data\nData is passed downstream as a **side effect** when nodes execute. \n\nThis behavior can be unintuitive at first, so spend some time looking at this. There are no variables or storage in the"
      }
    },
    {
      "id": "619ae4aa-9d11-4f38-9d51-c851a9df054b",
      "name": "Value Passed Form",
      "type": "n8n-nodes-base.form",
      "position": [
        3320,
        1380
      ]
    },
    {
      "id": "73e9382a-f2c4-4505-ab99-8801c1f54e4e",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3540,
        1020
      ],
      "parameters": {
        "width": 680,
        "height": 520,
        "content": "## 1.f Data & Flow\nIf you are not downstream from the data, you CAN'T access it."
      }
    },
    {
      "id": "37da6ee6-0f24-4d77-8319-fc16d1ba2453",
      "name": "Can See It",
      "type": "n8n-nodes-base.form",
      "position": [
        3900,
        1180
      ]
    },
    {
      "id": "bf47aa50-003d-4a77-ab9d-c3f7baf30633",
      "name": "Cant See It",
      "type": "n8n-nodes-base.form",
      "position": [
        3720,
        1380
      ]
    },
    {
      "id": "57b861ab-338b-4b3f-8816-e5864446b95d",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4240,
        1020
      ],
      "parameters": {
        "width": 840,
        "height": 520,
        "content": "## 1.g Merge\nThis can be fixed by using the Merge node, which lets us combine data from many paths.\nThe settings on the Merge node are \"Combine\". There are many options, some very complex, for how to "
      }
    },
    {
      "id": "37c740ad-b3a2-420a-9f29-a13529f2d71b",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        4580,
        1260
      ]
    },
    {
      "id": "6186fae2-4e26-4f76-9d70-3de47db23375",
      "name": "Lets Fix It...",
      "type": "n8n-nodes-base.noOp",
      "position": [
        4020,
        1380
      ]
    },
    {
      "id": "1747a9eb-86d7-4ccd-aa47-ea33b70753b7",
      "name": "Can See Both",
      "type": "n8n-nodes-base.form",
      "position": [
        4760,
        1260
      ]
    },
    {
      "id": "114390e2-5cb8-4c0a-b854-be4e22cfd4dd",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        4180,
        1820
      ]
    },
    {
      "id": "15c7c0f1-2536-472e-93e0-def860d91bcb",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3920,
        1560
      ],
      "parameters": {
        "width": 860,
        "height": 740,
        "content": "## 2.d Looping\nIf you want to loop over items processing them one at a time, instead of triggering multiple flow executions, you can create a Loop like this.\n\n**Note:** When you examine the Loop node,"
      }
    },
    {
      "id": "ca324b3f-9a00-4e0c-a07e-1561124dad99",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        1560
      ],
      "parameters": {
        "width": 1100,
        "height": 740,
        "content": "## 2."
      }
    },
    {
      "id": "18d2ed51-712f-4f0d-8f50-69ef506978cb",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5100,
        1020
      ],
      "parameters": {
        "width": 780,
        "height": 520,
        "content": "## 1.h Data From Previous Nodes\nYou should notice that so far when we reference a variable from the previous node we did it like this:\n$json.my_value_1h\n\nThis ONLY works for referencing the immediatel"
      }
    },
    {
      "id": "2c2b0e3b-3a3b-4627-aa3a-aa0f5b7a840e",
      "name": "Set Value 1e",
      "type": "n8n-nodes-base.set",
      "position": [
        3060,
        1380
      ]
    },
    {
      "id": "b1fef81b-c671-4033-8a87-915df72321f6",
      "name": "Set Value 1f",
      "type": "n8n-nodes-base.set",
      "position": [
        3720,
        1180
      ]
    },
    {
      "id": "662cf64c-8e0e-401c-976d-b794b135abb0",
      "name": "Set Value 1g",
      "type": "n8n-nodes-base.set",
      "position": [
        4340,
        1180
      ]
    },
    {
      "id": "044b741c-a604-4a26-9eff-31b737de471d",
      "name": "Set Value 1g2",
      "type": "n8n-nodes-base.set",
      "position": [
        4340,
        1380
      ]
    },
    {
      "id": "214aff8e-7620-46d1-ba3f-f916880cd95c",
      "name": "FIRST",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1500,
        1280
      ]
    },
    {
      "id": "3b611737-473d-47a3-93e9-ef43cb2f8ecf",
      "name": "SECOND",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1500,
        1920
      ]
    },
    {
      "id": "ccce50f6-17da-45f6-85c8-4a4b45e65417",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5900,
        1020
      ],
      "parameters": {
        "width": 500,
        "height": 520,
        "content": "## 1.i Logs\nIf you haven't already, click **Logs** in the bottom left of the workflow.\n\nThis will let you inspect every node that ran on this flow, and what data came into and out of it. \n\nThis is a v"
      }
    },
    {
      "id": "c5a1a61f-2aa8-4015-8f18-251059e495aa",
      "name": "Do Something Unrelated",
      "type": "n8n-nodes-base.set",
      "position": [
        5400,
        1340
      ]
    },
    {
      "id": "5f3af10e-5391-4950-b1d1-7e2da8d006e6",
      "name": "Set Value 1h",
      "type": "n8n-nodes-base.set",
      "position": [
        5180,
        1340
      ]
    },
    {
      "id": "a7ce5b64-c460-4760-bcc2-7e30c94f443b",
      "name": "Reference Examples Form",
      "type": "n8n-nodes-base.form",
      "position": [
        5620,
        1340
      ]
    },
    {
      "id": "6d781269-772e-47eb-8036-c69b451e63b8",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2600,
        1560
      ],
      "parameters": {
        "width": 700,
        "height": 740,
        "content": "## 2.b Aggregate\nUsing the Aggregate node we can combine all the separate results into one array. \n\n**Note that \"5 items\" becomes \"1 item\" after the Aggregate step!**\n\nThen we can operate on the whole"
      }
    },
    {
      "id": "c5f36d5b-c316-4ca6-b879-e237650117bc",
      "name": "Aggregate Items",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2880,
        2080
      ]
    },
    {
      "id": "b55d3432-b67d-4bb4-91d9-6af1f3da8f47",
      "name": "Get This Item",
      "type": "n8n-nodes-base.set",
      "position": [
        4400,
        1980
      ]
    },
    {
      "id": "fcd7675b-0ec9-4d3d-bb4d-29a17fdaa72d",
      "name": "Create Four Items",
      "type": "n8n-nodes-base.code",
      "position": [
        3980,
        1820
      ]
    },
    {
      "id": "e206566a-4490-4afe-9a55-406abf9133d0",
      "name": "Sticky Note17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1860,
        1560
      ],
      "parameters": {
        "width": 720,
        "height": 740,
        "content": "## 2.a Each Item Becomes an Execution\nNodes that return multiple data items create multiple downstream executions.\nThis is a key concept to n8n, and one that is hard to grasp. \n\nLet's look at several "
      }
    },
    {
      "id": "1708c618-3c85-4897-a304-b50129a0c2a1",
      "name": "Runs Three Times!",
      "type": "n8n-nodes-base.code",
      "position": [
        2220,
        1760
      ]
    },
    {
      "id": "48542eda-8057-4360-9d91-ac034091199d",
      "name": "Runs Once!",
      "type": "n8n-nodes-base.code",
      "position": [
        2220,
        1920
      ]
    },
    {
      "id": "8d4e9817-31e7-4174-a7b4-12bbbf9412e1",
      "name": "2.a Notes",
      "type": "n8n-nodes-base.form",
      "position": [
        2220,
        2080
      ]
    },
    {
      "id": "7fc22ad3-a112-42f3-865f-af42e0ab65ea",
      "name": "Create Three Items",
      "type": "n8n-nodes-base.code",
      "position": [
        1960,
        1920
      ]
    },
    {
      "id": "c5441c55-4bae-4c81-81de-956d033d4325",
      "name": "Create Five Items",
      "type": "n8n-nodes-base.code",
      "position": [
        2680,
        2080
      ]
    },
    {
      "id": "07337c9c-fc41-469e-8cc7-183d4c58891a",
      "name": "Sticky Note21",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3320,
        1560
      ],
      "parameters": {
        "width": 580,
        "height": 740,
        "content": "## 2.c Split\nThe opposite of Aggregate is Split Out, which lets us execute the next node once per data item again."
      }
    },
    {
      "id": "7567aacc-d3d2-44d0-80fb-781c3f73bda3",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        3380,
        2080
      ]
    },
    {
      "id": "b34f4e64-7038-478f-a7d1-7a34ea296af6",
      "name": "Runs Five Times!",
      "type": "n8n-nodes-base.code",
      "position": [
        3620,
        1880
      ]
    },
    {
      "id": "495b7519-c115-4207-b6ef-045b18ccc738",
      "name": "2.c Notes",
      "type": "n8n-nodes-base.form",
      "position": [
        3620,
        2080
      ]
    },
    {
      "id": "8e2bbca1-642f-409f-be90-db0c7806f6c8",
      "name": "2.b Notes",
      "type": "n8n-nodes-base.form",
      "position": [
        3120,
        1860
      ]
    },
    {
      "id": "74ca982a-ff90-497d-b5cf-c9de11792686",
      "name": "Only Once",
      "type": "n8n-nodes-base.noOp",
      "position": [
        4900,
        1920
      ]
    },
    {
      "id": "5f550dd8-5a04-4da9-9f10-e8dc82189e5c",
      "name": "Sticky Note22",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4800,
        1560
      ],
      "parameters": {
        "width": 540,
        "height": 740,
        "content": "## 2.e Only Once\nNote that the incoming flow is executing four time (4 items) but we only want n8n flow to continue once.\n\nWe can use a NOP with Settings set to \"Only Once\" to reduce the downstream ex"
      }
    },
    {
      "id": "d50b22b8-5389-404e-bd03-ee54dde35cd5",
      "name": "2d Once for Each Form",
      "type": "n8n-nodes-base.form",
      "position": [
        4560,
        1980
      ]
    },
    {
      "id": "aaf09884-bd8f-4267-b18c-d17302824d4e",
      "name": "2e Notes1",
      "type": "n8n-nodes-base.form",
      "position": [
        5120,
        1920
      ]
    },
    {
      "id": "5603cb9c-7a09-4cbd-b725-dc5c44db2792",
      "name": "Sticky Note23",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5360,
        1560
      ],
      "parameters": {
        "width": 2080,
        "height": 740,
        "content": "## 2.f Execution Flows Don't Combine\nYou may be tempted to try something like this from 2 flows together. \n\n**But notice Aggregate outputs 2 items, not 1.**\n\nThis is a misunderstanding of how to think"
      }
    },
    {
      "id": "77b1feb5-b95d-448a-8538-5bad07e00902",
      "name": "NOP",
      "type": "n8n-nodes-base.noOp",
      "position": [
        5440,
        1920
      ]
    },
    {
      "id": "4ca4bc58-f99c-4e9c-9ec0-5559194b374d",
      "name": "Create Set A1",
      "type": "n8n-nodes-base.code",
      "position": [
        5680,
        1800
      ]
    },
    {
      "id": "f9a320d8-f5a7-4cab-94b2-a1c9c74f293d",
      "name": "Create Set B1",
      "type": "n8n-nodes-base.code",
      "position": [
        5680,
        1960
      ]
    },
    {
      "id": "46454cda-b6dd-4b54-a53e-c583a93cfe9b",
      "name": "Aggregate Sets",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        5920,
        1880
      ]
    },
    {
      "id": "4b0e1b31-d259-414c-9abc-3df08c0ccf19",
      "name": "Create Set A",
      "type": "n8n-nodes-base.code",
      "position": [
        6560,
        1640
      ]
    },
    {
      "id": "9a96daad-5079-44ae-9a5e-b7d816bd7195",
      "name": "Create Set B",
      "type": "n8n-nodes-base.code",
      "position": [
        6560,
        1840
      ]
    },
    {
      "id": "1fc18394-1c43-423d-92c3-ba00fefd170e",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        6800,
        1920
      ]
    },
    {
      "id": "3ff48b4e-7ba9-4f59-9e43-5f4faed188ee",
      "name": "FINALLY",
      "type": "n8n-nodes-base.noOp",
      "position": [
        6340,
        2040
      ]
    },
    {
      "id": "2a5678c3-62c4-4b35-9104-e6cfb47fe85f",
      "name": "SECOND TASK",
      "type": "n8n-nodes-base.noOp",
      "position": [
        6340,
        1840
      ]
    },
    {
      "id": "b3b7bf85-356b-4803-9026-6280dfbad57a",
      "name": "FIRST TASK",
      "type": "n8n-nodes-base.noOp",
      "position": [
        6340,
        1640
      ]
    },
    {
      "id": "d1c18ac7-2ccb-44ed-976e-158776c1d474",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        6980,
        1920
      ]
    },
    {
      "id": "b5cabacb-f180-4a09-8b02-f3950731cd3f",
      "name": "2f Notes 1",
      "type": "n8n-nodes-base.form",
      "position": [
        5920,
        2140
      ]
    },
    {
      "id": "d449ef29-f4e0-4892-9ada-92959d7b22a4",
      "name": "2f Notes 2",
      "type": "n8n-nodes-base.form",
      "position": [
        7160,
        1920
      ]
    },
    {
      "id": "1224453e-2736-424b-a870-37b7a9763e9b",
      "name": "NOP2",
      "type": "n8n-nodes-base.noOp",
      "position": [
        5680,
        2140
      ]
    },
    {
      "id": "c501d4a7-071a-4836-8400-b6b013a36ed4",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        2320
      ],
      "parameters": {
        "width": 1100,
        "height": 420,
        "content": "## 3."
      }
    },
    {
      "id": "6d5048ed-0823-4ba8-ac05-04e8cce5b0bc",
      "name": "THIRD",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1500,
        2500
      ]
    },
    {
      "id": "ce898745-4de9-4b04-8f0b-33c2695e1e7a",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1860,
        2320
      ],
      "parameters": {
        "width": 600,
        "height": 420,
        "content": "## Completed Lesson 1"
      }
    },
    {
      "id": "2b2ea7a7-d5a6-4df2-b847-d8a28a543fbe",
      "name": "Logs",
      "type": "n8n-nodes-base.form",
      "position": [
        6100,
        1340
      ]
    },
    {
      "id": "d3c9fa93-f142-49da-a34e-c69a91d1e0e0",
      "name": "Congrats",
      "type": "n8n-nodes-base.form",
      "position": [
        1960,
        2500
      ]
    },
    {
      "id": "5b6b8fe3-a214-4988-b3a4-85cbdbc1362b",
      "name": "End",
      "type": "n8n-nodes-base.form",
      "position": [
        2200,
        2500
      ]
    }
  ],
  "connections": {
    "NOP": {
      "main": [
        [
          {
            "node": "Create Set A1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Create Set B1",
            "type": "main",
            "index": 0
          },
          {
            "node": "NOP2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "NOP2": {
      "main": [
        [
          {
            "node": "2f Notes 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "FIRST": {
      "main": [
        [
          {
            "node": "Next Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Can See Both",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "THIRD": {
      "main": [
        [
          {
            "node": "Congrats",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SECOND": {
      "main": [
        [
          {
            "node": "Create Three Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "FINALLY": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Congrats": {
      "main": [
        [
          {
            "node": "End",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2.a Notes": {
      "main": [
        [
          {
            "node": "Create Five Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2.c Notes": {
      "main": [
        [
          {
            "node": "Create Four Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2e Notes1": {
      "main": [
        [
          {
            "node": "NOP",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "2f Notes 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Next Form": {
      "main": [
        [
          {
            "node": "Do Thing 1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Do Thing 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Only Once": {
      "main": [
        [
          {
            "node": "2e Notes1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Runs Five Times!",
            "type": "main",
            "index": 0
          },
          {
            "node": "2.c Notes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f Notes 1": {
      "main": [
        [
          {
            "node": "FIRST TASK",
            "type": "main",
            "index": 0
          },
          {
            "node": "SECOND TASK",
            "type": "main",
            "index": 0
          },
          {
            "node": "FINALLY",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Do Thing 2": {
      "main": [
        [
          {
            "node": "Set Value 1e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "FIRST TASK": {
      "main": [
        [
          {
            "node": "Create Set A",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Form Start": {
      "main": [
        [
          {
            "node": "THIRD",
            "type": "main",
            "index": 0
          },
          {
            "node": "FIRST",
            "type": "main",
            "index": 0
          },
          {
            "node": "SECOND",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cant See It": {
      "main": [
        [
          {
            "node": "Lets Fix It...",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SECOND TASK": {
      "main": [
        [
          {
            "node": "Create Set B",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Can See Both": {
      "main": [
        [
          {
            "node": "Set Value 1h",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Set A": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Set B": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Set Value 1e": {
      "main": [
        [
          {
            "node": "Value Passed Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Value 1f": {
      "main": [
        [
          {
            "node": "Can See It",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Value 1g": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Value 1h": {
      "main": [
        [
          {
            "node": "Do Something Unrelated",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Set A1": {
      "main": [
        [
          {
            "node": "Aggregate Sets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Set B1": {
      "main": [
        [
          {
            "node": "Aggregate Sets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get This Item": {
      "main": [
        [
          {
            "node": "2d Once for Each Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Value 1g2": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Lets Fix It...": {
      "main": [
        [
          {
            "node": "Set Value 1g2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Set Value 1g",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate Items": {
      "main": [
        [
          {
            "node": "2.b Notes",
            "type": "main",
            "index": 0
          },
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Only Once",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get This Item",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Five Items": {
      "main": [
        [
          {
            "node": "Aggregate Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Four Items": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Value Passed Form": {
      "main": [
        [
          {
            "node": "Set Value 1f",
            "type": "main",
            "index": 0
          },
          {
            "node": "Cant See It",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Three Items": {
      "main": [
        [
          {
            "node": "Runs Three Times!",
            "type": "main",
            "index": 0
          },
          {
            "node": "Runs Once!",
            "type": "main",
            "index": 0
          },
          {
            "node": "2.a Notes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2d Once for Each Form": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Do Something Unrelated": {
      "main": [
        [
          {
            "node": "Reference Examples Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reference Examples Form": {
      "main": [
        [
          {
            "node": "Logs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}