{
  "name": "Invite LinkedIn Connections to Follow Your Company Page",
  "nodes": [
    {
      "parameters": {
        "content": "## \ud83d\ude80 Invite LinkedIn Connections to Follow Your Company Page\n\n**What this workflow does:**\n- Fetches your 1st-degree LinkedIn connections\n- Sends personalized DMs asking them to follow your company page\n- Tracks all outreach in Google Sheets\n- Handles pagination for large connection lists\n- Adds random delays to keep your account safe\n\n**Requirements:**\n- ConnectSafely.ai API Key\n- Google Sheets account\n- LinkedIn account connected to ConnectSafely.ai\n\n**Setup Steps:**\n1. Create Google Sheet with 2 tabs: `Connections` and `Pagination`\n2. Add your ConnectSafely.ai API key\n3. Update company page URL in Code node\n4. Customize message templates\n5. Run workflow!",
        "height": 666,
        "width": 340,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -624,
        832
      ],
      "id": "bd6fd78a-92a8-446f-8ed5-a4013935e8dd",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "## \ud83d\udce5 Step 1: Fetch Connections\n\nCalls ConnectSafely.ai API to get your LinkedIn connections.\n\n**Filters:**\n- `F` = First-degree (direct connections)\n- `S` = Second-degree\n- `O` = Third-degree+\n\n**Tip:** Add keywords to target specific roles like \"marketing manager\"",
        "height": 240,
        "width": 280,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        224,
        880
      ],
      "id": "89d9b144-712c-4e95-a52f-057095cd4e50",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "## \ud83d\udd04 Step 2: Loop & Pagination\n\nProcesses connections one-by-one and handles pagination.\n\n**Output 1:** Check if more connections exist\n**Output 2:** Process current connection",
        "height": 180,
        "width": 280,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        560,
        880
      ],
      "id": "666fb177-afea-437d-b268-727f9a97846b",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "content": "## \u2705 Step 3: Deduplication\n\nChecks Google Sheets to avoid messaging the same person twice.\n\n**Important:** This prevents spam and keeps your account safe!",
        "width": 280,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        896,
        896
      ],
      "id": "cec87c48-0f5d-416c-9e0f-2fee9ea28b61",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "content": "## \u270d\ufe0f Step 4: Message Generation\n\nRandomly selects from 6 message templates and personalizes with recipient's name.\n\n**Customize:**\n- Edit message templates\n- Update company page URL\n- Change your signature",
        "height": 200,
        "width": 280,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1232,
        896
      ],
      "id": "fdc34928-bb23-48f7-ae4c-2d69352405f9",
      "name": "Sticky Note4"
    },
    {
      "parameters": {
        "content": "## \u23f1\ufe0f Step 5: Safety Delay\n\n**CRITICAL:** Random 20-60 minute delay between messages.\n\nThis mimics human behavior and protects your LinkedIn account from restrictions.\n\n\u26a0\ufe0f Don't reduce this delay!",
        "height": 200,
        "width": 280,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        2672,
        160
      ],
      "id": "828ce50f-bfed-4a05-a83a-2705728b86aa",
      "name": "Sticky Note5"
    },
    {
      "parameters": {
        "content": "## \ud83d\udcca Google Sheets Setup\n\n**Sheet 1: Connections**\n| Name | Linkedin URL | Status | Message | Sent At |\n\n**Sheet 2: Pagination**\n| id | Last Start Index | total | hasmore |\n\nAdd a row in Pagination with your unique ID before first run.",
        "height": 252,
        "width": 340,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -176,
        864
      ],
      "id": "b8e02afd-905e-41f4-a066-7560fb539525",
      "name": "Sticky Note6"
    },
    {
      "parameters": {
        "fieldToSplitOut": "people",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        128,
        1520
      ],
      "id": "d986c010-5279-41b3-b863-637045f9a925",
      "name": "Split Visitors Array"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        352,
        1392
      ],
      "id": "a9c8361c-5dab-462b-adea-7949ea886b33",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "149e3e45-fe35-4ef5-bbdd-da8107b82802",
              "leftValue": "={{ $json.isEmpty() }}",
              "rightValue": "",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        800,
        1440
      ],
      "id": "68ce288d-ef27-41f5-90f5-61ec1734c7b7",
      "name": "Skip if Already Contacted"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI",
          "mode": "list",
          "cachedResultName": "Invited User To Follow Company Page",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 1880016315,
          "mode": "list",
          "cachedResultName": "Surender Connections",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit#gid=1880016315"
        },
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "Linkedin URL",
              "lookupValue": "={{ $json.profileUrl }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        576,
        1440
      ],
      "id": "e50c07e2-1c3d-4194-8ef2-453842942936",
      "name": "Check if Already Send Message",
      "alwaysOutputData": true,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "4ba916ad-0386-4aff-92d0-541ca8d2e533",
              "leftValue": "={{ $json.hasmore }}",
              "rightValue": "",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        800,
        1152
      ],
      "id": "976ae71a-09c2-4401-be41-b76f89e58996",
      "name": "If"
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI",
          "mode": "list",
          "cachedResultName": "Invited User To Follow Company Page",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 1840068623,
          "mode": "list",
          "cachedResultName": "Pagination",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit#gid=1840068623"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Last Start Index": "={{ $json.pagination.start }}",
            "id": "SURENDER_PAGINATION",
            "total": "={{ $json.pagination.total }}",
            "hasmore": "={{ $json.hasMore }}"
          },
          "matchingColumns": [
            "id"
          ],
          "schema": [
            {
              "id": "id",
              "displayName": "id",
              "required": false,
              "defaultMatch": true,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "Last Start Index",
              "displayName": "Last Start Index",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "total",
              "displayName": "total",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "hasmore",
              "displayName": "hasmore",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "row_number",
              "displayName": "row_number",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "number",
              "canBeUsedToMatch": true,
              "readOnly": true,
              "removed": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        128,
        1328
      ],
      "id": "b9c055d2-2349-4d9c-bc80-5f9fc8379ac8",
      "name": "Log Last time Called start input",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI",
          "mode": "list",
          "cachedResultName": "Invited User To Follow Company Page",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 1840068623,
          "mode": "list",
          "cachedResultName": "Pagination",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit#gid=1840068623"
        },
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "=id",
              "lookupValue": "=SURENDER_PAGINATION"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        576,
        1152
      ],
      "id": "f4a35850-9f74-482e-972d-ac47b5b1a340",
      "name": "Get pagation log data",
      "alwaysOutputData": true,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI",
          "mode": "list",
          "cachedResultName": "Invited User To Follow Company Page",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 1840068623,
          "mode": "list",
          "cachedResultName": "Pagination",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit#gid=1840068623"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Last Start Index": "={{ $json.pagination.start }}",
            "id": "SURENDER_PAGINATION",
            "total": "={{ $json.pagination.total }}",
            "hasmore": "{{ $json.hasMore }}"
          },
          "matchingColumns": [
            "id"
          ],
          "schema": [
            {
              "id": "id",
              "displayName": "id",
              "required": false,
              "defaultMatch": true,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "Last Start Index",
              "displayName": "Last Start Index",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "total",
              "displayName": "total",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "hasmore",
              "displayName": "hasmore",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "row_number",
              "displayName": "row_number",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "number",
              "canBeUsedToMatch": true,
              "readOnly": true,
              "removed": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        1248,
        1152
      ],
      "id": "9a70e157-8a44-4595-9e82-f136c71100b1",
      "name": "Log Last time Called start input1",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "appendOrUpdate",
        "documentId": {
          "__rl": true,
          "value": "1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI",
          "mode": "list",
          "cachedResultName": "Invited User To Follow Company Page",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 1880016315,
          "mode": "list",
          "cachedResultName": "Surender Connections",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Wx2pcXB4aQ0MBOAo2Wisj7ahEsnUsf9ceHKGQHMdJdI/edit#gid=1880016315"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Name": "={{ $('Loop Over Items').item.json.firstName }}",
            "Linkedin URL": "={{ $('Loop Over Items').item.json.profileUrl }}",
            "Status": "DONE",
            "message": "={{ $('Generate DM for Connected User').item.json.message }}"
          },
          "matchingColumns": [
            "Linkedin URL"
          ],
          "schema": [
            {
              "id": "Name",
              "displayName": "Name",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Linkedin URL",
              "displayName": "Linkedin URL",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "Status",
              "displayName": "Status",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "message",
              "displayName": "message",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        1472,
        1472
      ],
      "id": "6cb19dc7-037e-482b-9fb7-c9891d9be600",
      "name": "Log DM Sent to Sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "amount": "={{ Math.floor(Math.random() * (60 - 20 + 1)) + 20 }}",
        "unit": "minutes"
      },
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        1920,
        1536
      ],
      "id": "272d2595-1fc6-4b59-bebc-d345cc6669ac",
      "name": "Wait Between Messages"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.noOp",
      "name": "Continue to Next Visitor",
      "typeVersion": 1,
      "position": [
        1696,
        1440
      ],
      "id": "1322d00f-6e49-44e7-8b6c-f564691649f5"
    },
    {
      "parameters": {
        "jsCode": "// Get recipient name\nconst rawName = $('Loop Over Items').first().json.firstName || 'there';\nconst name = rawName.trim();\n\n// Sender footer\nconst footer = `\\n\\n\u2014 Surender`;\n\n// Message bodies asking for support to follow company page\nconst messages = [\n  \"Hope you\u2019re doing well. I wanted to share that I\u2019m working on a new initiative called ConnectSafely.ai, focused on safer digital interactions. If you\u2019d like to support, it would mean a lot if you could follow our company page: https://www.linkedin.com/company/connectsafelyai/\",\n\n  \"Hey! I\u2019m currently building ConnectSafely.ai \u2014 a product focused on digital safety and trust. We\u2019ve just started sharing updates, and I\u2019d really appreciate your support by following our company page: https://www.linkedin.com/company/connectsafelyai/\",\n\n  \"Just a quick note \u2014 I\u2019ve been working on ConnectSafely.ai, where we\u2019re building solutions around online safety. If you\u2019re open to it, I\u2019d appreciate your support by following our page: https://www.linkedin.com/company/connectsafelyai/\",\n\n  \"Hope all\u2019s well. I wanted to share that I\u2019m part of a new venture, ConnectSafely.ai. We\u2019re starting to post product updates and insights, and I\u2019d truly appreciate your support by following our company page: https://www.linkedin.com/company/connectsafelyai/\",\n\n  \"Quick ask for support \u2014 I\u2019m building ConnectSafely.ai, focused on safer online experiences. If you find the space interesting, I\u2019d really appreciate a follow on our company page: https://www.linkedin.com/company/connectsafelyai/\",\n\n  \"Sharing something I\u2019ve been working on \u2014 ConnectSafely.ai. We\u2019re just getting started and posting regularly. If you\u2019d like to support the journey, a follow on our company page would mean a lot: https://www.linkedin.com/company/connectsafelyai/\"\n];\n\n// Pick random body\nconst body = messages[Math.floor(Math.random() * messages.length)];\n\n// Final message\nconst finalMessage = `Hey ${name},\\n\\n${body}${footer}`;\n\nreturn {\n  message: finalMessage,\n};\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1024,
        1472
      ],
      "id": "4ea96ca6-9207-476f-9a68-5d278518b3aa",
      "name": "Generate DM for Connected User"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.connectsafely.ai/linkedin/message",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "recipientProfileId",
              "value": "={{ $('Loop Over Items').item.json.profileId }}"
            },
            {
              "name": "message",
              "value": "={{ $json.message }}"
            },
            {
              "name": "messageType",
              "value": "inmail"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1248,
        1472
      ],
      "id": "388b434a-de1c-4340-bdaa-bd25fd2c0aed",
      "name": "Send DM to Connected User",
      "credentials": {
        "httpBearerAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.connectsafely.ai/linkedin/search/people",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\n  \"keywords\": \"software engineer\",\n  \"filters\": {\n    \"connectionDegree\": [\n      \"F\"\n      \n    ]\n  },\n  \"start\":0\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -96,
        1424
      ],
      "id": "8a44d590-baa3-46d1-9519-6b66e40291f6",
      "name": "Fetch Connections",
      "credentials": {
        "httpBearerAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.connectsafely.ai/linkedin/search/people",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBearerAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"keywords\": \"software engineer\",\n  \"filters\": {\n    \"connectionDegree\": [\n      \"F\"\n      \n    ]\n  },\n  \"start\":{{ $json['Last Start Index' ] ||1 + 25  }}\n} \n\n",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1024,
        1152
      ],
      "id": "179dcb47-b613-4ad2-8fa1-99eb2f8c7ac7",
      "name": "Fetch Connections1",
      "credentials": {
        "httpBearerAuth": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Split Visitors Array": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Get pagation log data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Check if Already Send Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Skip if Already Contacted": {
      "main": [
        [
          {
            "node": "Generate DM for Connected User",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Continue to Next Visitor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if Already Send Message": {
      "main": [
        [
          {
            "node": "Skip if Already Contacted",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Fetch Connections1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get pagation log data": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log DM Sent to Sheet": {
      "main": [
        [
          {
            "node": "Continue to Next Visitor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait Between Messages": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Continue to Next Visitor": {
      "main": [
        [
          {
            "node": "Wait Between Messages",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate DM for Connected User": {
      "main": [
        [
          {
            "node": "Send DM to Connected User",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send DM to Connected User": {
      "main": [
        [
          {
            "node": "Log DM Sent to Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Connections": {
      "main": [
        [
          {
            "node": "Split Visitors Array",
            "type": "main",
            "index": 0
          },
          {
            "node": "Log Last time Called start input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Connections1": {
      "main": [
        [
          {
            "node": "Log Last time Called start input1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Split Visitors Array",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}