{
  "name": "Design scalable sync workflows with Data Tables, ProspectPro and HubSpot",
  "nodes": [
    {
      "id": "ae48b41e-015c-4bbf-b3af-93d2fb900635",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -2560
      ],
      "parameters": {
        "width": 560,
        "height": 784,
        "content": "## A. Triggers basics\nMost triggers output one or more items that need to be processed individually, like:\n- DMs / Emails / Notifications\n- Companies / Contacts / Prospects\n- Website Visits / Form Sub"
      }
    },
    {
      "id": "ec1d57b4-9f70-4a53-90d1-821a81968a18",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        -2160
      ],
      "parameters": {
        "width": 656,
        "height": 384,
        "content": "### A2 - Rate-limited individual processing\nUse this pattern when your trigger can output a sufficiently large number of items that it will trigger rate limits in the services you're using."
      }
    },
    {
      "id": "94a342d2-bb06-49f3-919b-12d62274ed5b",
      "name": "Create Batches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        848,
        -2048
      ]
    },
    {
      "id": "8b9320b4-47c1-47f7-81dd-adaa697f9c83",
      "name": "Process one item at a time - (1)",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1056,
        -2384
      ]
    },
    {
      "id": "22e3ca38-0900-4a39-94b3-1386e08b19e4",
      "name": "Process one item at a time (2)",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1056,
        -1984
      ]
    },
    {
      "id": "80c5cc01-6bd8-444c-b553-9e1b76e56bfb",
      "name": "Delay after each batch",
      "type": "n8n-nodes-base.wait",
      "position": [
        1248,
        -1984
      ]
    },
    {
      "id": "72c80fa2-cc15-4c57-98c2-afd90e80f400",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -2560
      ],
      "parameters": {
        "width": 1520,
        "height": 784,
        "content": ""
      }
    },
    {
      "id": "4ab99321-2720-4a1b-b723-fe0227f6afdf",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        -2560
      ],
      "parameters": {
        "width": 656,
        "height": 384,
        "content": "### A1 - Simple, individual processing.\nUse this pattern if:\n- your trigger always outputs 1 item per execution (like a webhook/webhook-style trigger that triggers for each individual event)\n- your tr"
      }
    },
    {
      "id": "df602886-27ae-4698-8643-2eea0906ef68",
      "name": "New Website Visitors",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectproTrigger",
      "position": [
        560,
        -2048
      ]
    },
    {
      "id": "0292f068-57fd-4f48-8c87-f3a452085356",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -1440
      ],
      "parameters": {
        "width": 560,
        "height": 784,
        "content": "## B1. Custom polling 1: simple, versatile, limited\nWhen your trigger doesn't support batching events, you'll quickly spent a lot of n8n-executions. In such cases, polling manually is usually more cos"
      }
    },
    {
      "id": "43d2e748-1f55-4854-a406-8bb992faaf5f",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -1440
      ],
      "parameters": {
        "width": 384,
        "height": 304,
        "content": "### B1 - Start sync\nSelect your timer interval and choose a name for your data table variable."
      }
    },
    {
      "id": "c05baf28-1891-4781-85a6-23709af3bdfd",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -1440
      ],
      "parameters": {
        "width": 384,
        "height": 304,
        "content": "### B1 - Get/set lastSync\nGet the time of the last execution or start from 0 (first run only)."
      }
    },
    {
      "id": "5f4d67fc-e1b2-4a26-b26c-4fb8aafe30f2",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -1120
      ],
      "parameters": {
        "width": 688,
        "height": 464,
        "content": "### B1 - Create/update database entry\nStore the current time in the database (for next cycle). *This is not perfect: as the timestamp is set before the items are even retrieved, you could potentially "
      }
    },
    {
      "id": "eea5a090-fa37-4545-b0d1-ac16f7412a14",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        -1440
      ],
      "parameters": {
        "width": 288,
        "height": 304,
        "content": "### B1 - Fetch new items\nRetrieve items that have been created/updated/.. since this workflow last ran."
      }
    },
    {
      "id": "d51f664e-7359-47ca-aff1-71396a028816",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1584,
        -1440
      ],
      "parameters": {
        "width": 576,
        "height": 304,
        "content": "### B1 - Validate, prepare & filter items\nTo cover all grounds, this is where you modify the results you get from the service you're using. ***Completely optional, probably even redundant.***"
      }
    },
    {
      "id": "9270e421-ec97-448e-89af-ca6724e94c31",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -1440
      ],
      "parameters": {
        "width": 2592,
        "height": 784,
        "content": ""
      }
    },
    {
      "id": "3ae65551-ed5e-4e84-a593-5838e0e1521b",
      "name": "B1 - Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        528,
        -1312
      ]
    },
    {
      "id": "879262aa-164a-4621-a55e-f982e8d79345",
      "name": "B1 - Set variables",
      "type": "n8n-nodes-base.set",
      "position": [
        720,
        -1312
      ]
    },
    {
      "id": "6512b302-61e2-423c-905a-929586324312",
      "name": "B1 - Get timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        928,
        -1312
      ]
    },
    {
      "id": "3b149e14-a590-473c-8d75-8eaf0421116b",
      "name": "B1 - Set lastSync",
      "type": "n8n-nodes-base.code",
      "position": [
        1120,
        -1312
      ]
    },
    {
      "id": "86d67791-a274-4399-a67e-edbdab78d907",
      "name": "B1 - Get Items",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1360,
        -1312
      ]
    },
    {
      "id": "ab792986-dbfa-4958-95b3-ecdb79c05720",
      "name": "B1 - Has Items?",
      "type": "n8n-nodes-base.if",
      "position": [
        1632,
        -1312
      ]
    },
    {
      "id": "7d6ce11a-bc53-4450-a695-34d24c71b5b7",
      "name": "B1 - Items",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1824,
        -1312
      ]
    },
    {
      "id": "971fdcbf-d4f9-4db5-b14f-b4b6c7802d40",
      "name": "B1 - Filter Items",
      "type": "n8n-nodes-base.filter",
      "position": [
        2000,
        -1312
      ]
    },
    {
      "id": "e4c2e7bd-9c6e-4e71-8ee1-fe6017ae3528",
      "name": "B1 - Update timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        1168,
        -1008
      ]
    },
    {
      "id": "8dca0ece-c3ad-4b3c-980f-efbbc49ea20f",
      "name": "B1 - Create timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        1168,
        -848
      ]
    },
    {
      "id": "9ed19bca-32a9-4ac0-980a-c2dd8056dbd2",
      "name": "B1 - No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1360,
        -848
      ]
    },
    {
      "id": "5e092d72-ddda-4e6d-87c2-4c229667aef7",
      "name": "Sticky Note17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -624
      ],
      "parameters": {
        "width": 384,
        "height": 304,
        "content": "### B2 - Start sync\nSelect your timer interval, choose a name for your data table variable and (optionally) set a max. number of results per page."
      }
    },
    {
      "id": "c8ce4dc0-4993-40b6-8105-099cf97fdb66",
      "name": "Sticky Note18",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -624
      ],
      "parameters": {
        "width": 384,
        "height": 304,
        "content": "### B2 - Get/set lastSync\nGet the time of the last execution or start from 0 (first run only)."
      }
    },
    {
      "id": "c9bfe048-6dfd-45bb-a7cd-b99ae6917844",
      "name": "Sticky Note19",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        -304
      ],
      "parameters": {
        "width": 880,
        "height": 464,
        "content": "### B2 - Create/update database entry\nGet the timestamp that corresponds with the most recent result in the response. This works because the HTTP node is setup in a away results are filtered by \"date\""
      }
    },
    {
      "id": "0cd5f950-4db7-47ab-8b91-011925176ec2",
      "name": "Sticky Note20",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        -624
      ],
      "parameters": {
        "width": 288,
        "height": 304,
        "content": "### B2 - Fetch new items\nRetrieve items that have been created/updated/.. since this workflow last ran."
      }
    },
    {
      "id": "456c5100-d977-4145-9f60-b52c3844b22e",
      "name": "Sticky Note21",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1584,
        -624
      ],
      "parameters": {
        "width": 576,
        "height": 304,
        "content": "### B2 - Validate, prepare & filter items\nTo cover all grounds, this is where you modify the results you get from the service you're using. ***Completely optional, probably even redundant.***"
      }
    },
    {
      "id": "0caee12c-64e4-4f5e-8dfd-7b0271a20500",
      "name": "B2 - Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        528,
        -496
      ]
    },
    {
      "id": "78c02fa2-a370-4e21-afb4-dcc21fefd90f",
      "name": "B2 - Set variables",
      "type": "n8n-nodes-base.set",
      "position": [
        720,
        -496
      ]
    },
    {
      "id": "b513e8a7-d3d1-43ad-b8b0-79e70ab509f3",
      "name": "B2 - Get timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        928,
        -496
      ]
    },
    {
      "id": "5767ad43-3ea9-4b15-a2e0-2d8109a143ee",
      "name": "B2 - Set lastSync",
      "type": "n8n-nodes-base.code",
      "position": [
        1120,
        -496
      ]
    },
    {
      "id": "783eed8e-99df-4ec5-9856-464b1b6b2fe0",
      "name": "B2 - Get Items",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1360,
        -496
      ]
    },
    {
      "id": "738d864a-f043-4ab4-883d-89914e454a0b",
      "name": "B2 - Has Items?",
      "type": "n8n-nodes-base.if",
      "position": [
        1632,
        -496
      ]
    },
    {
      "id": "997c9384-5e22-48a9-a717-58787d008453",
      "name": "B2 - Items",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1824,
        -496
      ]
    },
    {
      "id": "1337fe34-a90c-4d32-8541-55597228a7e3",
      "name": "B2 - Filter Items",
      "type": "n8n-nodes-base.filter",
      "position": [
        2000,
        -496
      ]
    },
    {
      "id": "f4ecb10b-7d61-47a3-8092-10f0857f7fb0",
      "name": "B2 - Update timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        1760,
        -176
      ]
    },
    {
      "id": "ff5209a7-8160-49fa-8a2f-8f6d0d7ecc99",
      "name": "B2 - Create timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        1760,
        -16
      ]
    },
    {
      "id": "1cbdf0ed-ddad-4133-9552-17158f108c9b",
      "name": "B2 - No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1952,
        -16
      ]
    },
    {
      "id": "a5c87103-139e-4d6b-a7b8-f335baf336a2",
      "name": "B1 - Has timestamp / not first run?",
      "type": "n8n-nodes-base.if",
      "position": [
        976,
        -1008
      ]
    },
    {
      "id": "1baf0a76-1565-4490-8be6-104ebb5b71aa",
      "name": "B2 - Has timestamp / not first run?",
      "type": "n8n-nodes-base.if",
      "position": [
        1568,
        -176
      ]
    },
    {
      "id": "b9a38f00-1707-4e87-ac2c-29221b3f63c9",
      "name": "B2 - Update lastSync",
      "type": "n8n-nodes-base.code",
      "position": [
        1376,
        -176
      ]
    },
    {
      "id": "47215474-0718-4f5f-b952-32d8842ec1ab",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -624
      ],
      "parameters": {
        "width": 560,
        "height": 784,
        "content": "## B2. Custom polling 2: optimal, more config\nWhen you're working with unstable API's, \"B1\" doesn't cover all edge cases. Sometimes there's nothing you can do about that. But when your source meets th"
      }
    },
    {
      "id": "1c9c09de-b493-40b2-8bd5-be72ced75449",
      "name": "Sticky Note22",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2176,
        -1440
      ],
      "parameters": {
        "width": 320,
        "height": 304,
        "content": "### Choose: A1 or A2?"
      }
    },
    {
      "id": "5905d68d-17c5-4f7d-8668-ad7347f0e999",
      "name": "Sticky Note23",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2176,
        -624
      ],
      "parameters": {
        "width": 320,
        "height": 304,
        "content": "### Choose: A1 or A2?"
      }
    },
    {
      "id": "d279116f-0350-49d3-a387-f861fe08ec3e",
      "name": "Sticky Note24",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -304
      ],
      "parameters": {
        "width": 384,
        "height": 304,
        "content": "### B2 - Enable looping (optional)\nAllow this workflow to call itself. **Warning:** be very careful when creating loops.\n\n\n[ Add a 2nd trigger here (\"When executed by another workflow\") ]"
      }
    },
    {
      "id": "3ca4985c-d4c9-4cb5-92d0-e4cd21fda19a",
      "name": "Sticky Note25",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2512,
        -624
      ],
      "parameters": {
        "width": 400,
        "height": 304,
        "content": "### DANGER ZONE (optional): repeat\nWarning: be very careful when creating (potentially infinite) loops. It's your responsibility to close them!"
      }
    },
    {
      "id": "783242c9-4e16-4cd8-a800-a0cae4e577b8",
      "name": "Sticky Note26",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        192
      ],
      "parameters": {
        "width": 384,
        "height": 304,
        "content": "### B3 - Start sync\nSelect your timer interval, choose a name for your data table variable and (optionally) set a max. number of results per page."
      }
    },
    {
      "id": "dda2f123-2527-4631-9233-f37bc4e31749",
      "name": "Sticky Note27",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        192
      ],
      "parameters": {
        "width": 624,
        "height": 304,
        "content": "### B3 - Get/set lastSync & setup pagination\nGet the time of the last execution or start from 0 (first run only). Also; reset the pagination for the last run."
      }
    },
    {
      "id": "17c308ff-5869-4d7a-a174-1bf967ab608a",
      "name": "Sticky Note28",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1920,
        832
      ],
      "parameters": {
        "width": 880,
        "height": 464,
        "content": "### B3 - Create/update database entry\nGet the timestamp that corresponds with the most recent result in the response. This works because the HTTP node is setup in a away results are filtered by \"date\""
      }
    },
    {
      "id": "81464c02-5d3e-4b3c-861a-fe06a8afe03e",
      "name": "Sticky Note29",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1920,
        512
      ],
      "parameters": {
        "width": 288,
        "height": 304,
        "content": "### B3 - Fetch new items\nRetrieve items that have been created/updated/.. since this workflow last ran."
      }
    },
    {
      "id": "ca7ec11e-88c1-452c-b332-c44b2f2950e8",
      "name": "Sticky Note30",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2528,
        512
      ],
      "parameters": {
        "width": 576,
        "height": 304,
        "content": "### B3 - Validate, prepare & filter items\nTo cover all grounds, this is where you modify the results you get from the service you're using. ***Completely optional, probably even redundant.***"
      }
    },
    {
      "id": "63f3210b-acc5-4220-b6cb-351d1e2611fd",
      "name": "Sticky Note31",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        192
      ],
      "parameters": {
        "width": 560,
        "height": 1104,
        "content": "## B3 - Custom polling 3: complete, most config\nSometimes you just need it all; full control over everything. This manual polling setup gives you just that. Use it only in cases where you actually nee"
      }
    },
    {
      "id": "90dac894-c3b7-4b16-aef4-8035e4acbf8d",
      "name": "Sticky Note35",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -624
      ],
      "parameters": {
        "width": 3008,
        "height": 784,
        "content": ""
      }
    },
    {
      "id": "bf60abd5-74b2-4b48-84cc-14feae60f954",
      "name": "Sticky Note36",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        192
      ],
      "parameters": {
        "width": 3872,
        "height": 1104,
        "content": ""
      }
    },
    {
      "id": "af297466-0573-4f71-b536-93da81f05280",
      "name": "B3 - Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        528,
        320
      ]
    },
    {
      "id": "e15709de-4b98-42be-8dab-c0c18dc0af1d",
      "name": "B3 - Set variables",
      "type": "n8n-nodes-base.set",
      "position": [
        720,
        320
      ]
    },
    {
      "id": "c6b0396e-e320-4882-8b5e-416ccffb2508",
      "name": "B3 - Get timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        944,
        320
      ]
    },
    {
      "id": "6026d602-c3e8-4836-a366-1cbef97c669b",
      "name": "B3 - Set lastSync",
      "type": "n8n-nodes-base.code",
      "position": [
        1152,
        320
      ]
    },
    {
      "id": "498860cb-49ff-498b-bada-97a54b58700e",
      "name": "B3 - Get Items",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2000,
        640
      ]
    },
    {
      "id": "2172335e-50c1-450d-b994-256dd5f4bc20",
      "name": "Sticky Note33",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1520,
        192
      ],
      "parameters": {
        "width": 384,
        "height": 304,
        "content": "### B3 - Pagination\nInitiate pagination."
      }
    },
    {
      "id": "c69f89f1-7af3-43f4-992a-f12a31ac1840",
      "name": "B3 - Has Items?",
      "type": "n8n-nodes-base.if",
      "position": [
        2576,
        640
      ]
    },
    {
      "id": "d1098c8c-e0d2-42d6-89f8-fc8972d70b96",
      "name": "B3 - Items",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2768,
        640
      ]
    },
    {
      "id": "aa62c8c7-8cc3-4037-9641-f58d37eb1a54",
      "name": "B3 - Filter Items",
      "type": "n8n-nodes-base.filter",
      "position": [
        2944,
        640
      ]
    },
    {
      "id": "f7c0c135-723f-4e6d-81c1-734e622df93a",
      "name": "B3 - Update lastSync",
      "type": "n8n-nodes-base.code",
      "position": [
        2016,
        960
      ]
    },
    {
      "id": "07b6216f-8a09-438c-8eb9-19fb810a4605",
      "name": "B3 - Has timestamp / not first run?",
      "type": "n8n-nodes-base.if",
      "position": [
        2208,
        960
      ]
    },
    {
      "id": "20743066-2664-4e04-ab8c-2cd9d384ef0d",
      "name": "B3 - Update timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        2400,
        960
      ]
    },
    {
      "id": "be7eb158-fa65-45c0-8b9e-a747efa4e9a5",
      "name": "B3 - Create timestamp",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        2400,
        1120
      ]
    },
    {
      "id": "62e8e8e2-cd18-4349-9304-94769bfcc345",
      "name": "B3 - No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2592,
        1120
      ]
    },
    {
      "id": "428f272f-292b-44ac-a60a-6a6dc7c52fb7",
      "name": "B3 - Set pagination",
      "type": "n8n-nodes-base.code",
      "position": [
        1568,
        320
      ]
    },
    {
      "id": "4b78191c-004e-4935-82d1-e362beb66d52",
      "name": "B3 - Done looping?",
      "type": "n8n-nodes-base.if",
      "position": [
        1760,
        320
      ]
    },
    {
      "id": "702a7097-4bbe-480c-9d00-725c25fc0fc9",
      "name": "Sticky Note34",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2224,
        512
      ],
      "parameters": {
        "width": 288,
        "height": 304,
        "content": "### B3 - Update pagination\nDetermine whether this is the last page. Needs customization depending on the service you use."
      }
    },
    {
      "id": "d5d6fedf-d616-427b-a51c-790dbabbc901",
      "name": "B3 - Update pagination",
      "type": "n8n-nodes-base.code",
      "position": [
        2320,
        640
      ]
    },
    {
      "id": "813c9b0e-46e7-4ab9-9bb3-63850d520c1d",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1664,
        640
      ]
    },
    {
      "id": "bcf9478c-2f5d-4bbb-8383-a692344a2609",
      "name": "Sticky Note37",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3120,
        512
      ],
      "parameters": {
        "width": 656,
        "height": 384,
        "content": "### A2 - Rate-limited individual processing\nUse this pattern when your trigger can output a sufficiently large number of items that it will trigger rate limits in the services you're using."
      }
    },
    {
      "id": "b9089c70-b198-474f-99a3-c9ab0d947262",
      "name": "B3 - Create Batches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        3200,
        624
      ]
    },
    {
      "id": "2593cc27-7b52-4150-b4a3-3a70a5fa2b9b",
      "name": "B3 - Process one item at a time",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        3408,
        688
      ]
    },
    {
      "id": "b456e9e2-705a-4ba3-8658-b46ef21a67f7",
      "name": "B3 - Delay after each batch",
      "type": "n8n-nodes-base.wait",
      "position": [
        3600,
        688
      ]
    },
    {
      "id": "755a3d90-6edc-4adf-879e-44f846ec9bca",
      "name": "Sticky Note38",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1520,
        512
      ],
      "parameters": {
        "width": 384,
        "height": 304,
        "content": "### B3 - Pagination delay\nDelay after each page that has been processed."
      }
    },
    {
      "id": "57f88a7a-1e1a-4656-8f27-d9f8e2285a1d",
      "name": "Sticky Note32",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        1328
      ],
      "parameters": {
        "width": 566,
        "height": 400,
        "content": "## C. Manual triggers: introduction\n\"But what do we do with the data that's already there?\" Sooner or later this question arises. Because when your automation \"works\", someone is going to want to appl"
      }
    },
    {
      "id": "2f70df4e-5295-448b-a2ac-4bfa045bfd84",
      "name": "Sticky Note40",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        1328
      ],
      "parameters": {
        "width": 1152,
        "height": 400,
        "content": ""
      }
    },
    {
      "id": "13e8922b-7d20-4465-8440-7e636f881d48",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        560,
        1472
      ]
    },
    {
      "id": "0e951a9d-dfe1-43c1-995e-80278b20fc8d",
      "name": "Sticky Note39",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        1744
      ],
      "parameters": {
        "width": 566,
        "height": 384,
        "content": "## C2. Manual triggers: throttled, no pagination\nUse this loop when:\n- Your service doesn't support pagination\n- There's only few items to process incidentally\n\n\n**What's \"throttling\"?**\n- Most APIs h"
      }
    },
    {
      "id": "4da72402-a55d-4881-a0ea-c63c4e085a76",
      "name": "Sticky Note41",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        1744
      ],
      "parameters": {
        "width": 2416,
        "height": 384,
        "content": ""
      }
    },
    {
      "id": "ecbac8ac-23ea-468c-9879-ab00deb6dff8",
      "name": "Sticky Note42",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        2144
      ],
      "parameters": {
        "width": 566,
        "height": 432,
        "content": "## C3. Manual triggers: throttled and paginated\nUse this loop when:\n- Your service supports pagination\n- You need a stable, scalable solution\n\n\nWhy not use a \"recursive\" pattern?\n-  true; having the w"
      }
    },
    {
      "id": "6b9958ae-1a95-4c5f-ac17-12eee9f6f0ce",
      "name": "Sticky Note43",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        2144
      ],
      "parameters": {
        "width": 3328,
        "height": 432,
        "content": ""
      }
    },
    {
      "id": "6b312db7-77d6-4af9-aa8a-89f9b1b3a864",
      "name": "C2 - Get Items",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        864,
        1888
      ]
    },
    {
      "id": "1af798e5-d8c7-4320-b9f9-3abbba287570",
      "name": "C2 - Has Items?",
      "type": "n8n-nodes-base.if",
      "position": [
        1136,
        1888
      ]
    },
    {
      "id": "ea86e299-1a34-45a0-bb27-c4398bd49e95",
      "name": "C2 - Items",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1328,
        1888
      ]
    },
    {
      "id": "620a6db7-b92b-4c95-83a5-7bc72d0e6c7d",
      "name": "C2 - Filter Items",
      "type": "n8n-nodes-base.filter",
      "position": [
        1504,
        1888
      ]
    },
    {
      "id": "96ce4295-38f2-4a19-84d7-046eb320cccb",
      "name": "C2 - Create Batches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1744,
        1856
      ]
    },
    {
      "id": "81b97338-8b57-432e-bed9-8556113b1fb3",
      "name": "C2 - Process one item at a time",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1952,
        1920
      ]
    },
    {
      "id": "61ec2ff6-4482-472c-9100-4adc3b79d691",
      "name": "C1 - Process one item at a time",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        864,
        1472
      ]
    },
    {
      "id": "f7389dec-d2f8-4b0e-a9db-45abdc7de3a7",
      "name": "C2 - Delay after each batch",
      "type": "n8n-nodes-base.wait",
      "position": [
        2144,
        1920
      ]
    },
    {
      "id": "0ca8f1e4-5334-4d35-a604-66e3df54f2cf",
      "name": "C3 - Set variables",
      "type": "n8n-nodes-base.set",
      "position": [
        864,
        2288
      ]
    },
    {
      "id": "7666390c-597a-41f5-b580-7bb49fb752a5",
      "name": "C3 - Set pagination",
      "type": "n8n-nodes-base.code",
      "position": [
        1168,
        2288
      ]
    },
    {
      "id": "f318f494-9063-4970-9f93-b122ead9ee41",
      "name": "C3 - Get Items",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1472,
        2288
      ]
    },
    {
      "id": "42f38b67-5ddb-4459-bb1d-59cc513a8268",
      "name": "C3 - Has Items?",
      "type": "n8n-nodes-base.if",
      "position": [
        1728,
        2288
      ]
    },
    {
      "id": "4898248b-b3ce-414a-87d0-a4a7166938c3",
      "name": "C3 - Items",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1936,
        2288
      ]
    },
    {
      "id": "52a89633-8f9c-437f-95ec-2a1e0328b017",
      "name": "C3 - Filter Items",
      "type": "n8n-nodes-base.filter",
      "position": [
        2112,
        2288
      ]
    },
    {
      "id": "964595fd-c626-4514-b37b-1c8a59447859",
      "name": "C3 - Create Batches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        2352,
        2272
      ]
    },
    {
      "id": "46b2dc19-f9f4-43e4-bc29-abfeb25530eb",
      "name": "C3 - Process one item at a time",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        2560,
        2336
      ]
    },
    {
      "id": "ea6b3241-c39c-4f6e-a66b-0df0ef751c52",
      "name": "C3 - Delay after each batch",
      "type": "n8n-nodes-base.wait",
      "position": [
        2752,
        2336
      ]
    },
    {
      "id": "7ca87e28-407f-4895-b6d0-6b1e0409c7e9",
      "name": "C3 - Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        3040,
        2288
      ]
    },
    {
      "id": "e00e521c-5912-45e5-a4d8-1fd9dcd75804",
      "name": "B2 - Needs loop?",
      "type": "n8n-nodes-base.if",
      "position": [
        2560,
        -496
      ]
    },
    {
      "id": "bf1a5cab-062f-44db-b242-6a0f7c1c7cbe",
      "name": "B2 - Call [this workflow]",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        2768,
        -496
      ]
    },
    {
      "id": "fda99e89-be08-4e62-9df0-fdb3d0c736ce",
      "name": "Sticky Note47",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        3024
      ],
      "parameters": {
        "width": 566,
        "height": 768,
        "content": "## D. Workflow types: \"Managers\"\nManagers orchestrate multi-step processes that should be applied to an item. Managers always receive the item from the trigger.\n\n**Managers are intended for 2 things:*"
      }
    },
    {
      "id": "f92efe4a-3af0-4f19-97a8-e7c1a70bf526",
      "name": "Sticky Note48",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        3024
      ],
      "parameters": {
        "width": 2496,
        "height": 768,
        "content": ""
      }
    },
    {
      "id": "5e34d286-03ad-41d2-abc5-79f01ac80b78",
      "name": "Sticky Note49",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        5904
      ],
      "parameters": {
        "width": 566,
        "height": 752,
        "content": "## E. Workflow types: \"Functions\"\nFunction workflows perform one well-defined task on an item in a self-contained, reusable way. Nice. But what does it mean?\n\n1. Functions are called by manager-workfl"
      }
    },
    {
      "id": "b5464f6d-3e9e-4b27-83ea-c39b586c201c",
      "name": "Sticky Note50",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        5904
      ],
      "parameters": {
        "width": 3696,
        "height": 752,
        "content": ""
      }
    },
    {
      "id": "16bd78dd-98a4-486f-a823-db4a2b0f0c60",
      "name": "Sticky Note51",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        6672
      ],
      "parameters": {
        "width": 566,
        "height": 416,
        "content": "## F. Workflow types: \"Utilities\"\nUtility workflows provide helper functionality for other workflows.\n\nUtility workflows:\n1. Are called by manager- and/or function-workflows to perform tasks\n2. Return"
      }
    },
    {
      "id": "d2497604-b165-4e81-9772-1a2f9a60d109",
      "name": "Sticky Note52",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        6672
      ],
      "parameters": {
        "width": 2704,
        "height": 416,
        "content": ""
      }
    },
    {
      "id": "f75fa59e-45b9-4d2f-b20f-c3eb1d306758",
      "name": "Sticky Note53",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        1328
      ],
      "parameters": {
        "width": 288,
        "height": 400,
        "content": "### C1 - Simple example."
      }
    },
    {
      "id": "968c5d04-6880-45d0-b409-da59aa62898d",
      "name": "Sticky Note54",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        1744
      ],
      "parameters": {
        "width": 288,
        "height": 384,
        "content": "### C2 - All items\nRetrieve items all items at once."
      }
    },
    {
      "id": "80c7a10e-7987-49d8-998b-052f396d005b",
      "name": "Sticky Note55",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1072,
        1744
      ],
      "parameters": {
        "width": 576,
        "height": 384,
        "content": "### C2 - Validate, prepare & filter items\nTo cover all grounds, this is where you modify the results you get from the service you're using. ***Completely optional, probably even redundant.***"
      }
    },
    {
      "id": "83ee65a1-4e24-4d51-ab76-d0af2ca98c1e",
      "name": "Sticky Note56",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1664,
        1744
      ],
      "parameters": {
        "width": 656,
        "height": 384,
        "content": "### C2 - Rate-limited individual processing\nUse this pattern when your trigger can output a sufficiently large number of items that it will trigger rate limits in the services you're using."
      }
    },
    {
      "id": "fb1f6f56-1b60-474a-b9a0-92a7ce5608e7",
      "name": "Sticky Note57",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        2144
      ],
      "parameters": {
        "width": 288,
        "height": 432,
        "content": "### C3 - Setup\nSetup workflow variables."
      }
    },
    {
      "id": "0471651a-7a1f-43c0-8376-fc166c7a7a06",
      "name": "Sticky Note58",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1072,
        2144
      ],
      "parameters": {
        "width": 288,
        "height": 432,
        "content": "### C3 - Loop\n(re-)Initiate loop."
      }
    },
    {
      "id": "2f6c9511-d75e-4050-b46e-59a6f03a09bd",
      "name": "Sticky Note59",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1376,
        2144
      ],
      "parameters": {
        "width": 288,
        "height": 432,
        "content": "### C3 - Get Items\nGet items from the current page. Customize according to your service's requirements."
      }
    },
    {
      "id": "70e3c125-a6e1-477c-a43b-0bd0525bbbd0",
      "name": "Sticky Note60",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        2144
      ],
      "parameters": {
        "width": 576,
        "height": 432,
        "content": "### C3 - Validate, prepare & filter items\nTo cover all grounds, this is where you modify the results you get from the service you're using. ***Completely optional, probably even redundant.***"
      }
    },
    {
      "id": "38d640a4-c4bc-4778-8392-c5ac3ce3478e",
      "name": "Sticky Note61",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2272,
        2144
      ],
      "parameters": {
        "width": 656,
        "height": 432,
        "content": "### C3 - Rate-limited individual processing\nUse this pattern when your trigger can output a sufficiently large number of items that it will trigger rate limits in the services you're using."
      }
    },
    {
      "id": "b523fbd5-4104-4e78-803d-4b48280deb6b",
      "name": "Sticky Note62",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2944,
        2144
      ],
      "parameters": {
        "width": 288,
        "height": 432,
        "content": "### C3 - Pagination delay\nDelay after each page that has been processed."
      }
    },
    {
      "id": "54318d07-032c-4109-b281-440364ee3965",
      "name": "Sticky Note63",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        2640
      ],
      "parameters": {
        "width": 566,
        "height": 336,
        "content": "# Part 2: Workflows\nTriggers manage the items in an execution. But they don't perform actions on individual items. That's the job of manager/function/utility-workflows.\n\nAs scalability is the trigger'"
      }
    },
    {
      "id": "c8151a08-01b8-446f-b4fb-21b0de04384e",
      "name": "Sticky Note64",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -2976
      ],
      "parameters": {
        "width": 566,
        "height": 384,
        "content": "# Part 1: Trigger Workflows\nTriggers are simple; if you're dealing with a single item. But if you're not, firing up an automation can require an unholy amount of boilerplate. Because triggers are wher"
      }
    },
    {
      "id": "d5c61652-c496-4a99-8528-058ea140312f",
      "name": "Sticky Note44",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -4352
      ],
      "parameters": {
        "width": 560,
        "height": 1248,
        "content": "# Part 0: Introduction\nIn n8n, you’ve got infinite ways to reach your goal. But some are more efficient than others. More often than not, the “optimal” way follows a similar path. This document contai"
      }
    },
    {
      "id": "f4d89747-2266-4977-88be-7c9a9c2b930a",
      "name": "Sticky Note67",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        -4352
      ],
      "parameters": {
        "width": 880,
        "height": 816,
        "content": "## Modularity example 1: New Prospect"
      }
    },
    {
      "id": "e6f79aac-c981-44d4-bac7-db483c734372",
      "name": "Sticky Note68",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        -4288
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Trigger-workflow\nOnce a day, get all new prospects."
      }
    },
    {
      "id": "8e8656e4-ff15-4ee0-b525-7b8ac1de0ab0",
      "name": "Sticky Note69",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        608,
        -4192
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Manager-workflow\nProcess one new prospect."
      }
    },
    {
      "id": "f8797c70-ed1e-4c8d-9ef2-73abc9ce37e7",
      "name": "Sticky Note70",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        -4096
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Function-workflow 1\nQualify the new prospect based on data and website content."
      }
    },
    {
      "id": "e54d7674-44bd-4162-a297-c4d9f7df0ddc",
      "name": "Sticky Note71",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        -4000
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Function-workflow 2\nFind the people in the Decision Making Unit of the new prospect."
      }
    },
    {
      "id": "22c780f5-2ec8-4357-8d69-0fa1eed302e0",
      "name": "Sticky Note73",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        -3904
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Function-workflow 3\nSync Company & Contacts to Hubspot."
      }
    },
    {
      "id": "ea4281c8-775e-448c-8559-c46111cfa236",
      "name": "Sticky Note75",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -3440
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Trigger-workflow\nWhen I receive a new email from a customer."
      }
    },
    {
      "id": "df7f01c5-e0f6-4095-8dea-f14cb007461f",
      "name": "Sticky Note76",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        -3344
      ],
      "parameters": {
        "width": 496,
        "height": 80,
        "content": "### Function-workflow\nI draft a response tailored to this customer."
      }
    },
    {
      "id": "162709d1-bf1e-4f34-b9db-b34a6e902f0b",
      "name": "Sticky Note77",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        -3248
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Utility-workflow\nGet customer data from Hubspot to use in the response."
      }
    },
    {
      "id": "d8be627b-80a9-4d4e-9486-bb8559b67adc",
      "name": "Sticky Note78",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -3712
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Utility-workflow 1\nCheck if Company already exists in Hubspot"
      }
    },
    {
      "id": "36adfbca-fde6-4aec-aa6f-f1fc74c47b59",
      "name": "Sticky Note66",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        -3232
      ],
      "parameters": {
        "width": 528,
        "height": 96,
        "content": "### Utility workflows\n**Managers** and **functions** sometimes ask my help for a highly specific task. Usually, they're responsible for processing my results."
      }
    },
    {
      "id": "62b2cf04-654d-4696-b7c9-0afee0c2e9ab",
      "name": "Sticky Note65",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -3392
      ],
      "parameters": {
        "width": 528,
        "height": 144,
        "content": "### Function workflows\nThe **manager** uses me to perform **one task** in it's process. I perform my task from A-to-Z: sometimes I report my result back, but all that needs to happen is my responsibil"
      }
    },
    {
      "id": "10c33ea3-a4a2-4875-848e-a230e6d1c7be",
      "name": "Sticky Note46",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        -3504
      ],
      "parameters": {
        "width": 528,
        "height": 96,
        "content": "### Manager workflows\nThe **trigger** feeds me **one item**. I guide this item through a multi step process, using **functions** & **utilities** along the way."
      }
    },
    {
      "id": "93e65219-ba26-485e-bb27-39a8d17531dc",
      "name": "Sticky Note45",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        -3616
      ],
      "parameters": {
        "width": 528,
        "height": 96,
        "content": "### Trigger workflows\nI start processing one or more items by activating a **manager** for each item individually."
      }
    },
    {
      "id": "bb20f95e-cbcb-458d-be51-bb9d00dd91b5",
      "name": "Sticky Note74",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        -3808
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Function-workflow 4\nSync Company to Hubspot."
      }
    },
    {
      "id": "a26e4a8d-36f9-4a48-a0ef-d9ba37047f37",
      "name": "Sticky Note72",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        -3520
      ],
      "parameters": {
        "width": 880,
        "height": 416,
        "content": "## Modularity example 2: Customer Email"
      }
    },
    {
      "id": "b96a7ab4-18ee-4027-b8a2-5a011db3a453",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3216,
        3856
      ],
      "parameters": {
        "width": 624,
        "height": 368,
        "content": "### D1 - Completed successfully\nRemove the \"in progress\"-indicator and optionally add a success-indicator to prevent duplicate runs.\n\n**Important:** As you can see we \"refresh\" the item before setting"
      }
    },
    {
      "id": "bc177e89-a742-4e98-9bec-482dc88cff16",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1872,
        3856
      ],
      "parameters": {
        "width": 1328,
        "height": 368,
        "content": "### D1 - Your process\nHere you add the steps (function-workflows) in your process."
      }
    },
    {
      "id": "f15387bb-6e35-429a-9cb6-375c4429c245",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3216,
        4240
      ],
      "parameters": {
        "width": 624,
        "height": 368,
        "content": "### D1 - Completed with errors\nRemove the \"in progress\"-indicator and add an error-indicator to prevent unnecessary re-runs."
      }
    },
    {
      "id": "25ee2379-4919-4740-9bc5-07c524a4e140",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1072,
        3856
      ],
      "parameters": {
        "width": 784,
        "height": 368,
        "content": "### D1 - Set \"in progress\"-indicator\nPrevent duplicate runs and user error by setting an indicator."
      }
    },
    {
      "id": "f9422fc6-ea22-4189-9c3e-926377c10686",
      "name": "Sticky Note79",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        3024
      ],
      "parameters": {
        "width": 1328,
        "height": 352,
        "content": "### D - Example: simple manager\nThis is what proper automation looks like: clean processes with clean steps and the tiniest bit of conditional logic. Why? So you can add a step. Remove one. Or hustle "
      }
    },
    {
      "id": "c9d0e505-d583-4db0-ad04-8959c5286d9b",
      "name": "Sticky Note80",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        3024
      ],
      "parameters": {
        "width": 288,
        "height": 400,
        "content": "### D - Set output\nIt's crucially important you always output one item. In doing so, you confirm the trigger knows this workflow has been completed.\n\n*More details? Check \"D1 - Set output\" (below).*"
      }
    },
    {
      "id": "cdbd2917-8bc9-483c-8efd-08b6b9a21aca",
      "name": "Sticky Note81",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        3856
      ],
      "parameters": {
        "width": 566,
        "height": 1248,
        "content": "## D1. How \"manager-workflows\" prevent common issues\nManager-workflows offer solutions for three complicated problems that often have a high impact. Only apply this pattern if any one these cases appl"
      }
    },
    {
      "id": "80e7bcd5-ec60-47cf-bb90-73d99429bb3b",
      "name": "Sticky Note82",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        3856
      ],
      "parameters": {
        "width": 4240,
        "height": 1248,
        "content": ""
      }
    },
    {
      "id": "8fadf507-b48f-4870-a16e-8e40d82e825f",
      "name": "Sticky Note83",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        3856
      ],
      "parameters": {
        "width": 288,
        "height": 368,
        "content": "### D1 - Set variables\nManage indicators centrally."
      }
    },
    {
      "id": "837295aa-d7f9-4f21-99e1-0d850f94ec22",
      "name": "D - Qualify Prospect",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        880,
        3200
      ]
    },
    {
      "id": "c4fd3b01-f95b-44c9-ad2c-9d6396ce5482",
      "name": "D - Qualification Successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        1088,
        3200
      ]
    },
    {
      "id": "468344d1-8e9a-43d0-a1ec-d7c452af0858",
      "name": "D - Identify DMU",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1296,
        3200
      ]
    },
    {
      "id": "68218d28-7186-46ae-b60c-a4cd54fafda5",
      "name": "D - DMU identification successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        1488,
        3200
      ]
    },
    {
      "id": "6e3e7274-f900-450c-9734-eecec0232697",
      "name": "D - Sync Hubspot",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1680,
        3200
      ]
    },
    {
      "id": "9d6a59ae-faa8-4add-a1b0-4c2319701b82",
      "name": "D - Hubspot sync successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        1872,
        3200
      ]
    },
    {
      "id": "b3aa5278-6036-4eaa-a41e-f47e0596f246",
      "name": "D - Set output",
      "type": "n8n-nodes-base.set",
      "position": [
        2208,
        3200
      ]
    },
    {
      "id": "f28ab5a5-3867-4d8d-abb2-ef1f61b278af",
      "name": "D1 - Set variables",
      "type": "n8n-nodes-base.set",
      "position": [
        864,
        4016
      ]
    },
    {
      "id": "1d67d0b8-fee5-4320-b058-33e3b30a5d3e",
      "name": "D1 - Get prospect",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        1120,
        4016
      ]
    },
    {
      "id": "a467ec0e-e736-4837-beee-893a7211e096",
      "name": "D1 - Continue?",
      "type": "n8n-nodes-base.if",
      "position": [
        1312,
        4016
      ]
    },
    {
      "id": "a3a36c23-3999-400a-869a-8717d7cc04a9",
      "name": "D1 - Add \"tag_in_progress\"",
      "type": "n8n-nodes-base.code",
      "position": [
        1504,
        4016
      ]
    },
    {
      "id": "16603f46-8282-43c6-9b61-b4c688294af1",
      "name": "D1 - Update prospect",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        1696,
        4016
      ]
    },
    {
      "id": "ff93ed38-9103-4cc2-9fbc-6c52ed2e9602",
      "name": "D1 - Automatically Qualify Prospect",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        2000,
        4016
      ]
    },
    {
      "id": "0faafa67-4dc0-4b44-9985-f74f63a76f26",
      "name": "D1 - Qualification Successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        2192,
        4016
      ]
    },
    {
      "id": "a1fff0d7-e0db-4662-97a7-408f67c35c0b",
      "name": "D1 - Get Contacts",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        2400,
        4016
      ]
    },
    {
      "id": "bffd83db-4f22-4299-ab9a-6a65b085db54",
      "name": "D1 - Contacts search successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        2592,
        4016
      ]
    },
    {
      "id": "274e6a7a-4657-4dd6-afd0-47f90e749090",
      "name": "D1 - Sync Hubspot",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        2784,
        4016
      ]
    },
    {
      "id": "dd8b301b-f7c0-41a1-a11d-e9b74d8808e0",
      "name": "D1 - Hubspot sync successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        2976,
        4016
      ]
    },
    {
      "id": "64a4b182-edfc-42b2-8d58-d2b2c1e01e9b",
      "name": "D1 - Get prospect for final update: Success",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        3296,
        4016
      ]
    },
    {
      "id": "9ee62d21-d787-4658-b006-4e1a4f29c566",
      "name": "D1 - Add \"tag_success\", remove \"tag_in_processing\"",
      "type": "n8n-nodes-base.code",
      "position": [
        3488,
        4016
      ]
    },
    {
      "id": "6afd7dc3-b9df-484a-934f-002875e664cf",
      "name": "D1 - Update Tags: Success",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        3680,
        4016
      ]
    },
    {
      "id": "33f78a05-2d16-4cbb-9c00-ae49ed3fa621",
      "name": "D1 - Get prospect for final update: Fail",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        3296,
        4400
      ]
    },
    {
      "id": "05494b19-29a1-4c6a-8860-90bd3f8833ac",
      "name": "D1 - Add \"tag_error\", remove \"tag_in_progress\"",
      "type": "n8n-nodes-base.code",
      "position": [
        3488,
        4400
      ]
    },
    {
      "id": "e596ba86-f841-42f1-9b01-e2fa83ffed0b",
      "name": "D1 - Update Tags: Fail",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        3680,
        4400
      ]
    },
    {
      "id": "8f40b0d6-7c32-4b48-9c1c-33f2fcdc0928",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1872,
        4240
      ],
      "parameters": {
        "width": 352,
        "height": 368,
        "content": "### D1 - Guard Error\nWhen an item can't be retrieved or updated, or a guard is activated, your manager should quit the automation immediately. In such cases, it's required to let the trigger-workflow "
      }
    },
    {
      "id": "4eb80f14-4b1e-486b-96cc-f141f7038607",
      "name": "D1 - Stop and Error",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        2000,
        4416
      ]
    },
    {
      "id": "cfce8485-6ea7-46da-a167-b6e57ff1ee6a",
      "name": "Sticky Note84",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3856,
        3856
      ],
      "parameters": {
        "width": 288,
        "height": 752,
        "content": "### D1 - Set output\nIt's crucially important you always output **one item**.\n\n**Why?**\n- Consider the trigger-workflow that calls this manager workflow.\n- When the trigger-workflow is processing multi"
      }
    },
    {
      "id": "21aa9159-4f5f-4d29-a5a2-0dc24aff2d87",
      "name": "When Executed by [trigger workflow]",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        560,
        3200
      ]
    },
    {
      "id": "439f2f0c-fc56-451d-a3fe-1d73c5977075",
      "name": "D - Qualify Prospect (var b)",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1088,
        3440
      ]
    },
    {
      "id": "49e9289d-7625-439a-ba30-30aad94b1163",
      "name": "D - Identify DMU (var b)",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1504,
        3600
      ]
    },
    {
      "id": "d388a027-bbf5-4e8b-aa45-7e2996ed120c",
      "name": "D - Switch (var b)",
      "type": "n8n-nodes-base.switch",
      "position": [
        880,
        3440
      ]
    },
    {
      "id": "a1c81c43-7a26-4967-8ffd-11e36d543d91",
      "name": "D - Qualification Successful? (var b)",
      "type": "n8n-nodes-base.if",
      "position": [
        1296,
        3440
      ]
    },
    {
      "id": "0658dd0f-6334-4b9b-a084-1c0553882209",
      "name": "D - Sync Hubspot (var b)",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1680,
        3456
      ]
    },
    {
      "id": "8bdec009-fc02-4237-a0b6-f5df5966e4f2",
      "name": "D - Hubspot sync successful? (var b)",
      "type": "n8n-nodes-base.if",
      "position": [
        1872,
        3456
      ]
    },
    {
      "id": "ee52058c-b3c1-4ad3-9eba-4898f72efb50",
      "name": "Sticky Note85",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        5152
      ],
      "parameters": {
        "width": 566,
        "height": 720,
        "content": "## Quick recap & introduction E + F\nSo far we've been dealing exclusively with \"overhead\": stuff to ensure consistency, optimize cost and prevent issues. Now it's time to actually do stuff. But before"
      }
    },
    {
      "id": "e4406e4f-2e7d-4cac-860e-0cff8f1e3fc3",
      "name": "Sticky Note86",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        -3616
      ],
      "parameters": {
        "width": 528,
        "height": 80,
        "content": "### Utility-workflow 2\nSync Contact to Hubspot."
      }
    },
    {
      "id": "75b26fb8-e429-48df-97ae-d270ead7ce0e",
      "name": "Sticky Note87",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        3392
      ],
      "parameters": {
        "width": 1328,
        "height": 400,
        "content": ""
      }
    },
    {
      "id": "3962532d-d8aa-451b-b88a-c539d70f84dd",
      "name": "Sticky Note88",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1072,
        5904
      ],
      "parameters": {
        "width": 288,
        "height": 368,
        "content": "### E1 - Refresh item\nYou probably get the gist of this by now; before doing important stuff, make sure you fetch any that have been made to the item between the moment the trigger-workflow started an"
      }
    },
    {
      "id": "b50424fb-c3fd-4c62-8874-8f77d0cba662",
      "name": "Sticky Note89",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3344,
        5904
      ],
      "parameters": {
        "width": 256,
        "height": 752,
        "content": "### E1 - Set output\nIt's crucially important you always output one item. In doing so, you confirm the trigger knows this workflow has been completed.\n\n*More details? Check \"D1 - Set output\" (below).*"
      }
    },
    {
      "id": "e46a50b9-f668-431f-b04d-a4dcc408cd44",
      "name": "Sticky Note90",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1376,
        5904
      ],
      "parameters": {
        "width": 432,
        "height": 368,
        "content": "### E1 - Guard your workflow\nAlways double check if you should perform actions before you actually do it. Yes; this might seem redundant. But remember: when you scale your automation, everything that "
      }
    },
    {
      "id": "2d138bbb-d20f-448a-9d42-26f35eadc4c7",
      "name": "Sticky Note91",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2352,
        5904
      ],
      "parameters": {
        "width": 512,
        "height": 368,
        "content": "### E1 - Your workflow\nThis is just for demonstration purposes. Replace with your own workflow."
      }
    },
    {
      "id": "def52fb8-f08b-49b4-87a6-5de2c8f29ae9",
      "name": "Sticky Note92",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2352,
        6288
      ],
      "parameters": {
        "width": 512,
        "height": 368,
        "content": "### E1 - Your workflow\nThis is just for demonstration purposes. Replace with your own workflow."
      }
    },
    {
      "id": "57451652-aff3-4b7c-a606-822db5694a00",
      "name": "Sticky Note93",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2880,
        6288
      ],
      "parameters": {
        "width": 448,
        "height": 368,
        "content": "### E1 - Add a error indicator (optional)\nIf you want to prevent this function to be executed for this item again, you should indicate this job has already been done.\n\n**Please note:** unlike earlier "
      }
    },
    {
      "id": "df5481b3-1db2-4b2d-8d09-aa4a7523b4b0",
      "name": "Sticky Note95",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2880,
        5904
      ],
      "parameters": {
        "width": 448,
        "height": 368,
        "content": "### E1 - Add a success indicator (optional)\nIf you want to prevent this function to be executed for this item again, you should indicate this job has already been done.\n\n**Please note:** unlike earlie"
      }
    },
    {
      "id": "676f7506-a920-41e1-be88-bea4f1d5f7db",
      "name": "Sticky Note96",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1824,
        5904
      ],
      "parameters": {
        "width": 512,
        "height": 368,
        "content": "### E1 - Your workflow\nThis is just for demonstration purposes. Replace with your own workflow.\n\n*\"E1 - Find Company in Hubspot\" is a reference to the function workflow (F1, below). Follow the path to"
      }
    },
    {
      "id": "343a5c66-0238-4546-b425-df991f85638a",
      "name": "Sticky Note94",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1824,
        6288
      ],
      "parameters": {
        "width": 512,
        "height": 368,
        "content": "### E1 - Guard Error\nWhen an item can't be retrieved or a guard is activated, your workflow should be quit. For simplicity's sake we just throw an error in this example.\n\n**However;** if the workflow "
      }
    },
    {
      "id": "691309f0-d9ef-4d22-a776-b7e15189dc7a",
      "name": "E1 - Stop and Error",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        2032,
        6512
      ]
    },
    {
      "id": "a420f9a9-488f-4596-9f5f-4e9c6b5340ac",
      "name": "Search Companies by Bedrijfsdata ID",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        848,
        6848
      ]
    },
    {
      "id": "7b81fd4c-8eab-489a-8aac-a4ce3dfc4a3c",
      "name": "Found by ID?",
      "type": "n8n-nodes-base.if",
      "position": [
        1056,
        6848
      ]
    },
    {
      "id": "a35cd042-2c4c-4c00-9d40-5ba89a90c984",
      "name": "Search Companies by Domain",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1472,
        6848
      ]
    },
    {
      "id": "d924425e-8a6a-4c90-bedf-24b57bab0350",
      "name": "Has Domain?",
      "type": "n8n-nodes-base.if",
      "position": [
        1264,
        6848
      ]
    },
    {
      "id": "95a3cbfb-7515-4034-af9b-d293b589cdb3",
      "name": "Found by Domain?",
      "type": "n8n-nodes-base.if",
      "position": [
        1680,
        6848
      ]
    },
    {
      "id": "dc1ffcbd-43b0-4be9-9126-5c42171e7911",
      "name": "Sticky Note97",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        6672
      ],
      "parameters": {
        "width": 1280,
        "height": 416,
        "content": "### F1 - Your workflow\nThis is just for demonstration purposes. Replace with your own workflow.\n\n*Example workflow below is an extension of the function-workflow example in E1. Which in turn is an ext"
      }
    },
    {
      "id": "0333525b-9593-434a-86bc-0ff618b60c5a",
      "name": "Sticky Note98",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        5904
      ],
      "parameters": {
        "width": 224,
        "height": 368,
        "content": "### E1 - Example input\n`{\n \"id\": 1234567890\n}`"
      }
    },
    {
      "id": "7931da8d-b44b-4a6e-8716-74263487d3e8",
      "name": "Sticky Note99",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        6672
      ],
      "parameters": {
        "width": 224,
        "height": 416,
        "content": "### F1 - Example input\n\n`{\n \"id\": 1234567890,\n \"domain\": \"bedrijfsdata.nl\",\n\"name\": \"Bedrijfsdata.nl B.V.\",\n...\n}`"
      }
    },
    {
      "id": "d30f3819-0a5d-47ee-8c7f-3dbc2bc55401",
      "name": "Sticky Note100",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2064,
        6672
      ],
      "parameters": {
        "width": 272,
        "height": 416,
        "content": "### F1 - Set output\nIt's crucially important you always output one item that contains the results the parent workflow needs. We suggest using a default structure, like in the example, that allows you "
      }
    },
    {
      "id": "426c96c5-8da5-4ccf-81ae-38cbcad627f5",
      "name": "E1 - Get prospect",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        1168,
        6080
      ]
    },
    {
      "id": "21a6754c-ba76-4d02-a6f6-c0fa5056092a",
      "name": "E1 - No Existing Errors?",
      "type": "n8n-nodes-base.if",
      "position": [
        1440,
        6080
      ]
    },
    {
      "id": "7763fc88-3950-4891-9b1b-7055452d5009",
      "name": "E1 - Continue?",
      "type": "n8n-nodes-base.if",
      "position": [
        1648,
        6080
      ]
    },
    {
      "id": "09f6ba92-176e-46c4-bdb7-5745b15bd728",
      "name": "E1 - Find Company in Hubspot",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        1904,
        6080
      ]
    },
    {
      "id": "39cdbb67-3691-4770-a378-1ee65b934d08",
      "name": "E1 - Found?",
      "type": "n8n-nodes-base.if",
      "position": [
        2112,
        6032
      ]
    },
    {
      "id": "0872b866-f194-4332-97dd-f9479d7fc5da",
      "name": "E1 - Update a company",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        2448,
        6080
      ]
    },
    {
      "id": "0726c340-cd22-4582-85de-00ddc34a6d00",
      "name": "E1 - Update Successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        2656,
        6080
      ]
    },
    {
      "id": "bebc10ae-8681-4135-a189-79c2fd5bb135",
      "name": "E1 - Create a company",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        2448,
        6464
      ]
    },
    {
      "id": "e439c1c0-1075-43ad-8a56-0a5529366782",
      "name": "E1 - Creation Successful?",
      "type": "n8n-nodes-base.if",
      "position": [
        2656,
        6464
      ]
    },
    {
      "id": "1ae2f474-8406-438e-91ea-305b0b795dcf",
      "name": "E1 - Update Tags: Fail",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        3152,
        6496
      ]
    },
    {
      "id": "788bc02c-99ed-4ec3-a80f-763bfae3f5ce",
      "name": "E1 - Update Tags: Success",
      "type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
      "position": [
        3152,
        6112
      ]
    },
    {
      "id": "ff1feadb-a483-4178-92e0-0dd1644c7e04",
      "name": "E1 - return { result: false };",
      "type": "n8n-nodes-base.code",
      "position": [
        3424,
        6496
      ]
    },
    {
      "id": "798c354d-35a1-4174-a332-64eac5018394",
      "name": "F1 - return Hubspot Company object",
      "type": "n8n-nodes-base.code",
      "position": [
        1872,
        6848
      ]
    },
    {
      "id": "859ca841-b7c3-4d42-898e-36ecd7a4d755",
      "name": "F1 - return { result: false };",
      "type": "n8n-nodes-base.code",
      "position": [
        2416,
        6912
      ]
    },
    {
      "id": "e36293c3-16b6-43fd-8576-c8cdf2ab9ca3",
      "name": "F1 - return { result: true, hsCompany: Object };",
      "type": "n8n-nodes-base.code",
      "position": [
        2416,
        6720
      ]
    },
    {
      "id": "fcca107e-54b4-42f6-87ee-84506b1023ba",
      "name": "Sticky Note101",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        3856
      ],
      "parameters": {
        "width": 224,
        "height": 368,
        "content": "### E1 - Example input\n\n`{\n \"id\": 1234567890\n}`"
      }
    },
    {
      "id": "4beb6014-46a9-4b52-b2df-c3a1e7957539",
      "name": "Sticky Note102",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        5904
      ],
      "parameters": {
        "width": 288,
        "height": 368,
        "content": "### E1 - Set variables\nManage indicators centrally."
      }
    },
    {
      "id": "a4190e75-9081-45d1-b514-1d649aa3c436",
      "name": "E1 - Set variables",
      "type": "n8n-nodes-base.set",
      "position": [
        864,
        6080
      ]
    },
    {
      "id": "cd01cfbd-0dc2-47ed-a5da-d6d180745c9c",
      "name": "E1 - Add \"tag_success\"",
      "type": "n8n-nodes-base.code",
      "position": [
        2960,
        6112
      ]
    },
    {
      "id": "2e188da5-9f27-426d-acac-d88d917430a5",
      "name": "E1 - Add \"tag_error\"",
      "type": "n8n-nodes-base.code",
      "position": [
        2960,
        6496
      ]
    },
    {
      "id": "9125eea6-7a26-4e41-8a4f-0f0588c713de",
      "name": "E1 - return { result: true };",
      "type": "n8n-nodes-base.code",
      "position": [
        3424,
        6112
      ]
    },
    {
      "id": "7920b54c-a141-4ffa-89f1-459698f3603e",
      "name": "B3 - Initiate pagination",
      "type": "n8n-nodes-base.code",
      "position": [
        1344,
        320
      ]
    },
    {
      "id": "a33d6916-8adb-4a89-9259-a084c6725d1f",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        560,
        -2384
      ]
    },
    {
      "id": "286e77f0-2534-4e73-9253-981e6687956a",
      "name": "Sticky Note104",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -1760
      ],
      "parameters": {
        "width": 560,
        "height": 80,
        "content": "*On your first read, B and C. Go directly to \"Part 2: Workflows\". It's important to first understand the mechanics of the basic pattern before you dive into details.*"
      }
    },
    {
      "id": "8f6f400d-27ee-40cf-9085-276874d38657",
      "name": "Sticky Note105",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        7104
      ],
      "parameters": {
        "width": 560,
        "height": 80,
        "content": "*It must seem like ages ago, but do you remember skipping B and C? Going straight to \"Part 2: Workflows\"? It doesn't matter: if you haved read B/C yet, you should!*"
      }
    },
    {
      "id": "2185b3c7-4a02-4272-bae3-c3432ead1c44",
      "name": "Sticky Note103",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        7408
      ],
      "parameters": {
        "width": 566,
        "height": 416,
        "content": "## 1 - Errors\nSome errors, you just can't prevent. In such cases, you need to get notified. Immediately.\n\nWe suggest you use something like this.\n\n**Please note** you shouldn't assume your messaging-c"
      }
    },
    {
      "id": "66455aeb-05e2-456f-9199-279440d67f46",
      "name": "Sticky Note106",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        7408
      ],
      "parameters": {
        "width": 1680,
        "height": 400,
        "content": ""
      }
    },
    {
      "id": "c17dfa88-09cf-4dbe-aab1-2d6fa3c3873d",
      "name": "Sticky Note107",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1296,
        7408
      ],
      "parameters": {
        "width": 288,
        "height": 192,
        "content": "### 1 - Errors - Log the issue\nLog the issue in a local error log."
      }
    },
    {
      "id": "5e85acb5-c5df-45c6-b3c2-fcbb2f151dc8",
      "name": "Sticky Note108",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        7264
      ],
      "parameters": {
        "width": 566,
        "height": 112,
        "content": "# Bonus\nMisc. re-usable patterns. Well. For now it's just one. But more will follow."
      }
    },
    {
      "id": "0d2068d6-66f2-4eb5-8c9d-bc4b52722470",
      "name": "1 - Errors - Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        560,
        7552
      ]
    },
    {
      "id": "c8a5be3b-5f71-4ad0-b503-5589ecd5bd2d",
      "name": "1 - Errors - Insert row",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        1040,
        7472
      ]
    },
    {
      "id": "785531af-c7ae-4978-bb2d-a6ada3ad0f91",
      "name": "1 - Errors - Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1040,
        7632
      ]
    },
    {
      "id": "6f92af84-d384-463a-bbc2-756ba3feaa5f",
      "name": "Sticky Note109",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1296,
        7616
      ],
      "parameters": {
        "width": 288,
        "height": 192,
        "content": "### 1 - Errors - Notify yourself\nNotify yourself. Add a fallback channel to ensure the message gets through."
      }
    },
    {
      "id": "78c90357-25e3-4458-a0dd-a4edf6b441a0",
      "name": "Sticky Note110",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -4832
      ],
      "parameters": {
        "width": 566,
        "height": 448,
        "content": "## About this document\nWe’ve rit rate limits. We’ve had workflows spin out of control. And we’ve made many other mistakes in n8n.\n\nOver time, a system developed. A system that works. Even if you enric"
      }
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "B3 - Set pagination",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Process one item at a time - (1)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Wait": {
      "main": [
        [
          {
            "node": "C3 - Set pagination",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Items": {
      "main": [
        [
          {
            "node": "B1 - Filter Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Items": {
      "main": [
        [
          {
            "node": "B2 - Filter Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Items": {
      "main": [
        [
          {
            "node": "B3 - Filter Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C2 - Items": {
      "main": [
        [
          {
            "node": "C2 - Filter Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Items": {
      "main": [
        [
          {
            "node": "C3 - Filter Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Found?": {
      "main": [
        [
          {
            "node": "E1 - Update a company",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Create a company",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Has Domain?": {
      "main": [
        [
          {
            "node": "Search Companies by Domain",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "F1 - return { result: false };",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Found by ID?": {
      "main": [
        [
          {
            "node": "F1 - return Hubspot Company object",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Has Domain?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Get Items": {
      "main": [
        [
          {
            "node": "B1 - Has Items?",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "B2 - Get Items": {
      "main": [
        [
          {
            "node": "B2 - Has Items?",
            "type": "main",
            "index": 0
          },
          {
            "node": "B2 - Update lastSync",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Get Items": {
      "main": [
        [
          {
            "node": "B3 - Update lastSync",
            "type": "main",
            "index": 0
          },
          {
            "node": "B3 - Update pagination",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C2 - Get Items": {
      "main": [
        [
          {
            "node": "C2 - Has Items?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Get Items": {
      "main": [
        [
          {
            "node": "C3 - Has Items?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Batches": {
      "main": [
        [],
        [
          {
            "node": "Process one item at a time (2)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Continue?": {
      "main": [
        [
          {
            "node": "D1 - Add \"tag_in_progress\"",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "E1 - Continue?": {
      "main": [
        [
          {
            "node": "E1 - Find Company in Hubspot",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Has Items?": {
      "main": [
        [
          {
            "node": "B1 - Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Has Items?": {
      "main": [
        [
          {
            "node": "B2 - Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Has Items?": {
      "main": [
        [
          {
            "node": "B3 - Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C2 - Has Items?": {
      "main": [
        [
          {
            "node": "C2 - Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Has Items?": {
      "main": [
        [
          {
            "node": "C3 - Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Needs loop?": {
      "main": [
        [
          {
            "node": "B2 - Call [this workflow]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Identify DMU": {
      "main": [
        [
          {
            "node": "D - DMU identification successful?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - DMU identification successful?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Sync Hubspot": {
      "main": [
        [
          {
            "node": "D - Hubspot sync successful?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Set output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Found by Domain?": {
      "main": [
        [
          {
            "node": "F1 - return Hubspot Company object",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "F1 - return { result: false };",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Set lastSync": {
      "main": [
        [
          {
            "node": "B1 - Get Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Filter Items": {
      "main": [
        [
          {
            "node": "B2 - Needs loop?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Set lastSync": {
      "main": [
        [
          {
            "node": "B2 - Get Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Filter Items": {
      "main": [
        [
          {
            "node": "B3 - Create Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Set lastSync": {
      "main": [
        [
          {
            "node": "B3 - Initiate pagination",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C2 - Filter Items": {
      "main": [
        [
          {
            "node": "C2 - Create Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Filter Items": {
      "main": [
        [
          {
            "node": "C3 - Create Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Get Contacts": {
      "main": [
        [
          {
            "node": "D1 - Contacts search successful?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D1 - Get prospect for final update: Fail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Get prospect": {
      "main": [
        [
          {
            "node": "D1 - Continue?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D1 - Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Sync Hubspot": {
      "main": [
        [
          {
            "node": "D1 - Hubspot sync successful?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D1 - Get prospect for final update: Fail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Get prospect": {
      "main": [
        [
          {
            "node": "E1 - No Existing Errors?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Get timestamp": {
      "main": [
        [
          {
            "node": "B1 - Set lastSync",
            "type": "main",
            "index": 0
          },
          {
            "node": "B1 - Has timestamp / not first run?",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "B1 - Set variables": {
      "main": [
        [
          {
            "node": "B1 - Get timestamp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Get timestamp": {
      "main": [
        [
          {
            "node": "B2 - Set lastSync",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "B2 - Set lastSync",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Set variables": {
      "main": [
        [
          {
            "node": "B2 - Get timestamp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Done looping?": {
      "main": [
        [],
        [
          {
            "node": "B3 - Get Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Get timestamp": {
      "main": [
        [
          {
            "node": "B3 - Set lastSync",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Set variables": {
      "main": [
        [
          {
            "node": "B3 - Get timestamp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Set variables": {
      "main": [
        [
          {
            "node": "C3 - Set pagination",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Switch (var b)": {
      "main": [
        [
          {
            "node": "D - Qualify Prospect (var b)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Identify DMU (var b)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Set variables": {
      "main": [
        [
          {
            "node": "D1 - Get prospect",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Set variables": {
      "main": [
        [
          {
            "node": "E1 - Get prospect",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Create Batches": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "B3 - Process one item at a time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Set pagination": {
      "main": [
        [
          {
            "node": "B3 - Done looping?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C2 - Create Batches": {
      "main": [
        [],
        [
          {
            "node": "C2 - Process one item at a time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Create Batches": {
      "main": [
        [
          {
            "node": "C3 - Wait",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "C3 - Process one item at a time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Set pagination": {
      "main": [
        [
          {
            "node": "C3 - Get Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Update lastSync": {
      "main": [
        [
          {
            "node": "B2 - Has timestamp / not first run?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Update lastSync": {
      "main": [
        [
          {
            "node": "B3 - Has timestamp / not first run?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Qualify Prospect": {
      "main": [
        [
          {
            "node": "D - Qualification Successful?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Qualification Successful?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Update prospect": {
      "main": [
        [
          {
            "node": "D1 - Automatically Qualify Prospect",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D1 - Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Add \"tag_error\"": {
      "main": [
        [
          {
            "node": "E1 - Update Tags: Fail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New Website Visitors": {
      "main": [
        [
          {
            "node": "Process one item at a time - (1)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Create Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Create timestamp": {
      "main": [
        [
          {
            "node": "B1 - No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Schedule Trigger": {
      "main": [
        [
          {
            "node": "B1 - Set variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Update timestamp": {
      "main": [
        [
          {
            "node": "B1 - No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Create timestamp": {
      "main": [
        [
          {
            "node": "B2 - No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Schedule Trigger": {
      "main": [
        [
          {
            "node": "B2 - Set variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Update timestamp": {
      "main": [
        [
          {
            "node": "B2 - No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Create timestamp": {
      "main": [
        [
          {
            "node": "B3 - No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Schedule Trigger": {
      "main": [
        [
          {
            "node": "B3 - Set variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Update timestamp": {
      "main": [
        [
          {
            "node": "B3 - No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Create a company": {
      "main": [
        [
          {
            "node": "E1 - Creation Successful?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Add \"tag_error\"",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Update a company": {
      "main": [
        [
          {
            "node": "E1 - Update Successful?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Add \"tag_error\"",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Update pagination": {
      "main": [
        [
          {
            "node": "B3 - Has Items?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delay after each batch": {
      "main": [
        [
          {
            "node": "Create Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Add \"tag_success\"": {
      "main": [
        [
          {
            "node": "E1 - Update Tags: Success",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Update Tags: Fail": {
      "main": [
        [
          {
            "node": "E1 - return { result: false };",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1 - Errors - Insert row": {
      "main": [
        []
      ]
    },
    "E1 - Update Successful?": {
      "main": [
        [
          {
            "node": "E1 - Add \"tag_success\"",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Add \"tag_error\"",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Initiate pagination": {
      "main": [
        [
          {
            "node": "B3 - Set pagination",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Identify DMU (var b)": {
      "main": [
        [
          {
            "node": "D - Sync Hubspot (var b)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Sync Hubspot (var b)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Sync Hubspot (var b)": {
      "main": [
        [
          {
            "node": "D - Hubspot sync successful? (var b)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Set output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - No Existing Errors?": {
      "main": [
        [
          {
            "node": "E1 - Continue?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Call [this workflow]": {
      "main": [
        []
      ]
    },
    "E1 - Creation Successful?": {
      "main": [
        [
          {
            "node": "E1 - Add \"tag_success\"",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Add \"tag_error\"",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Update Tags: Success": {
      "main": [
        [
          {
            "node": "E1 - return { result: true };",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1 - Errors - Error Trigger": {
      "main": [
        [
          {
            "node": "1 - Errors - Insert row",
            "type": "main",
            "index": 0
          },
          {
            "node": "1 - Errors - Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Add \"tag_in_progress\"": {
      "main": [
        [
          {
            "node": "D1 - Update prospect",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Companies by Domain": {
      "main": [
        [
          {
            "node": "Found by Domain?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "F1 - return { result: false };",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Delay after each batch": {
      "main": [
        [
          {
            "node": "B3 - Create Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C2 - Delay after each batch": {
      "main": [
        [
          {
            "node": "C2 - Create Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Delay after each batch": {
      "main": [
        [
          {
            "node": "C3 - Create Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Hubspot sync successful?": {
      "main": [
        [
          {
            "node": "D - Set output",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Set output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Qualify Prospect (var b)": {
      "main": [
        [
          {
            "node": "D - Qualification Successful? (var b)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Sync Hubspot (var b)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "E1 - Find Company in Hubspot": {
      "main": [
        [
          {
            "node": "E1 - Found?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "E1 - Create a company",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Qualification Successful?": {
      "main": [
        [
          {
            "node": "D - Identify DMU",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Sync Hubspot",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Hubspot sync successful?": {
      "main": [
        [
          {
            "node": "D1 - Get prospect for final update: Success",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D1 - Get prospect for final update: Success",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Qualification Successful?": {
      "main": [
        [
          {
            "node": "D1 - Get Contacts",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D1 - Get Contacts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process one item at a time (2)": {
      "main": [
        [
          {
            "node": "Delay after each batch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Process one item at a time": {
      "main": [
        [
          {
            "node": "B3 - Delay after each batch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C2 - Process one item at a time": {
      "main": [
        [
          {
            "node": "C2 - Delay after each batch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "C3 - Process one item at a time": {
      "main": [
        [
          {
            "node": "C3 - Delay after each batch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Contacts search successful?": {
      "main": [
        [
          {
            "node": "D1 - Sync Hubspot",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D1 - Sync Hubspot",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - DMU identification successful?": {
      "main": [
        [
          {
            "node": "D - Sync Hubspot",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Set output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "F1 - return Hubspot Company object": {
      "main": [
        [
          {
            "node": "F1 - return { result: true, hsCompany: Object };",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B1 - Has timestamp / not first run?": {
      "main": [
        [
          {
            "node": "B1 - Update timestamp",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "B1 - Create timestamp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B2 - Has timestamp / not first run?": {
      "main": [
        [
          {
            "node": "B2 - Update timestamp",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "B2 - Create timestamp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "B3 - Has timestamp / not first run?": {
      "main": [
        [
          {
            "node": "B3 - Update timestamp",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "B3 - Create timestamp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Automatically Qualify Prospect": {
      "main": [
        [
          {
            "node": "D1 - Qualification Successful?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D1 - Get prospect for final update: Fail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Companies by Bedrijfsdata ID": {
      "main": [
        [
          {
            "node": "Found by ID?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Has Domain?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by [trigger workflow]": {
      "main": [
        [
          {
            "node": "D - Qualify Prospect",
            "type": "main",
            "index": 0
          },
          {
            "node": "D - Switch (var b)",
            "type": "main",
            "index": 0
          },
          {
            "node": "D1 - Set variables",
            "type": "main",
            "index": 0
          },
          {
            "node": "E1 - Get prospect",
            "type": "main",
            "index": 0
          },
          {
            "node": "Search Companies by Bedrijfsdata ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Hubspot sync successful? (var b)": {
      "main": [
        [
          {
            "node": "D - Set output",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Set output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "C1 - Process one item at a time",
            "type": "main",
            "index": 0
          },
          {
            "node": "C2 - Get Items",
            "type": "main",
            "index": 0
          },
          {
            "node": "C3 - Set variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D - Qualification Successful? (var b)": {
      "main": [
        [
          {
            "node": "D - Identify DMU (var b)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "D - Set output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Get prospect for final update: Fail": {
      "main": [
        [
          {
            "node": "D1 - Add \"tag_error\", remove \"tag_in_progress\"",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Get prospect for final update: Success": {
      "main": [
        [
          {
            "node": "D1 - Add \"tag_success\", remove \"tag_in_processing\"",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Add \"tag_error\", remove \"tag_in_progress\"": {
      "main": [
        [
          {
            "node": "D1 - Update Tags: Fail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "D1 - Add \"tag_success\", remove \"tag_in_processing\"": {
      "main": [
        [
          {
            "node": "D1 - Update Tags: Success",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}