AutomationFlowsSocial Media › Automate Linkedin Profile Following with Google Sheets and Connectsafely

Automate Linkedin Profile Following with Google Sheets and Connectsafely

ByConnectSafely @connectsafely on n8n.io

This workflow is designed for sales professionals, recruiters, marketers, and business development teams who need to scale their LinkedIn networking efforts. Perfect for anyone managing lead generation campaigns, building industry connections, or conducting competitor research…

Event trigger★★★☆☆ complexity8 nodesGoogle SheetsN8N Nodes Connectsafely Ai
Social Media Trigger: Event Nodes: 8 Complexity: ★★★☆☆ Added:

This workflow corresponds to n8n.io template #11068 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "504a3f79-b689-4e0b-93b0-3eea71a10bfd",
      "name": "When clicking 'Execute workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        912,
        176
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0cea2ef6-800b-4aee-9873-e445abbf0d31",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1136,
        176
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mplIjFsFMOWMeYKr6z2Aq9ryKGhoVcBNd0e72t0z2P0/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1mplIjFsFMOWMeYKr6z2Aq9ryKGhoVcBNd0e72t0z2P0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mplIjFsFMOWMeYKr6z2Aq9ryKGhoVcBNd0e72t0z2P0/edit?usp=drivesdk",
          "cachedResultName": "Linkedin-connection-request"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "08a9a1a8-a012-43b9-8e0c-4f5519c7fa01",
      "name": "ConnectSafely LinkedIn",
      "type": "n8n-nodes-connectsafely-ai.connectSafelyLinkedIn",
      "position": [
        1360,
        176
      ],
      "parameters": {
        "accountId": "68e8a6885da2306b99698d3e",
        "operation": "followUser",
        "profileId": "={{ $json['LinkedIn Url'] }}"
      },
      "credentials": {
        "connectSafelyApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bef59820-6e6c-4701-9736-311834e3cb74",
      "name": "Update row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1584,
        176
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "done",
            "row_number": "={{ $('Get row(s) in sheet').item.json.row_number }}"
          },
          "schema": [
            {
              "id": "First Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "First Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LinkedIn Url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "LinkedIn Url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Tagline",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Tagline",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mplIjFsFMOWMeYKr6z2Aq9ryKGhoVcBNd0e72t0z2P0/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1mplIjFsFMOWMeYKr6z2Aq9ryKGhoVcBNd0e72t0z2P0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1mplIjFsFMOWMeYKr6z2Aq9ryKGhoVcBNd0e72t0z2P0/edit?usp=drivesdk",
          "cachedResultName": "Linkedin-connection-request"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "43179737-a317-4417-95e0-95e90a08e243",
      "name": "Sticky Note - Main Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        -256
      ],
      "parameters": {
        "width": 630,
        "height": 973,
        "content": "## LinkedIn Profile Follow Automation\n\n@[youtube](b4G47AJX418)\n\nThis workflow automates following LinkedIn profiles at scale using ConnectSafely.ai's platform-compliant automation.\n\n### How it works\nThe workflow reads LinkedIn profile URLs from Google Sheets, processes each profile through ConnectSafely.ai's API to execute follow actions, and updates your spreadsheet with completion status. This eliminates manual clicking while maintaining LinkedIn's compliance standards.\n\n### Setup steps\n1. Install community node: `n8n-nodes-connectsafely.ai` (Settings > Community Nodes, then restart n8n)\n2. Prepare Google Sheet with columns: LinkedIn Url, Status, row_number\n3. Connect Google Sheets credentials and select your document\n4. Add ConnectSafely.ai API credentials from dashboard (Settings > API Keys)\n5. Map Profile ID to `{{ $json['LinkedIn Url'] }}`\n6. Configure status tracking to mark processed rows as \"done\"\n\n### Customization\n- Add delay nodes for large batches (500+ profiles)\n- Implement error handling for failed attempts\n- Extend to CRM integration or connection requests\n- Add analytics tracking for follow-back monitoring\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d0f53c23-6d60-4a90-94af-c8b64a04f62e",
      "name": "Sticky Note - Get Profiles",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        32
      ],
      "parameters": {
        "color": 6,
        "height": 100,
        "content": "### Get Target Profiles\n\nRetrieves pending LinkedIn profiles from Google Sheets"
      },
      "typeVersion": 1
    },
    {
      "id": "fb083233-45bd-433f-a6c7-2006b8a83d3c",
      "name": "Sticky Note - Execute Follow",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        352
      ],
      "parameters": {
        "color": 6,
        "height": 100,
        "content": "### Execute Follow Action\n\nProcesses each profile through ConnectSafely.ai API"
      },
      "typeVersion": 1
    },
    {
      "id": "205cd5b5-95b9-42e7-a640-1faec849efe6",
      "name": "Sticky Note - Update Status",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1536,
        32
      ],
      "parameters": {
        "color": 6,
        "height": 100,
        "content": "### Update Status\n\nMarks processed profiles as \"done\" in spreadsheet"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "ConnectSafely LinkedIn",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ConnectSafely LinkedIn": {
      "main": [
        [
          {
            "node": "Update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow is designed for sales professionals, recruiters, marketers, and business development teams who need to scale their LinkedIn networking efforts. Perfect for anyone managing lead generation campaigns, building industry connections, or conducting competitor research…

Source: https://n8n.io/workflows/11068/ — original creator credit. Request a take-down →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

The Airtop Facebook Automations workflow solves the challenge of managing and posting content across multiple Facebook groups effortlessly. Leveraging Airtop for browser automation, Google Sheets for

Airtop, Telegram Trigger, Google Sheets +1
Social Media

This workflow automatically retrieves engagement data (likes, comments, and shares) from a Facebook Page and stores the results in a Google Sheets document for reporting and analysis.

Facebook Graph Api, Google Sheets
Social Media

Automate personalized LinkedIn outreach while maintaining human-like behavior

N8N Nodes Browserflow, Google Sheets
Social Media

Generate traffic and grow your audience effortlessly with this plug-and-play n8n automation template. Automatically fetch TikTok videos, upload them to YouTube Shorts, save logs to Google Sheets, and

HTTP Request, Google Sheets, Telegram +1
Social Media

How is works This template makes it possible to extract Search Results from LinkedIn and import them into a Google Sheet.

N8N Nodes Sourcegeek, Form Trigger, Google Sheets