Seguimiento automático de invitaciones de LinkedIn usando Browserflow y Google Sheets

Avanzado

Este es unLead Nurturing, Miscellaneous, Multimodal AIflujo de automatización del dominio deautomatización que contiene 23 nodos.Utiliza principalmente nodos como If, Set, Wait, Limit, Filter. Seguimiento de invitaciones automatizadas de LinkedIn con Browserflow y Google Sheets

Requisitos previos
  • Credenciales de API de Google Sheets
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "e2b72466a589dd1250fc94a8e861457e040bf25b07f6b069958c036d3f2bfe77",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "9ee2794b-b0ca-45f3-af78-5089b156a4bc",
      "name": "Al hacer clic en 'Ejecutar flujo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -784,
        -592
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d1e6e3bd-8ad2-4415-8c9a-f3bd035fd4ed",
      "name": "Límite",
      "type": "n8n-nodes-base.limit",
      "position": [
        288,
        -592
      ],
      "parameters": {
        "maxItems": 5
      },
      "typeVersion": 1
    },
    {
      "id": "59fef9a9-9191-4af8-b050-4eb80c91cedf",
      "name": "isnotconnected",
      "type": "n8n-nodes-browserflow.browserflow",
      "position": [
        -464,
        -48
      ],
      "parameters": {
        "linkedinUrl": "={{ $('contacts').item.json.url }}"
      },
      "credentials": {
        "browserflowApi": {
          "id": "xVoYL8fNGAXfZvQX",
          "name": "Browserflow account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5b597bf1-d128-4c56-aa5b-50e9a875f4f7",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -224,
        -48
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a71cb67c-639f-49e5-9d64-30b19a067e20",
              "operator": {
                "type": "boolean",
                "operation": "false",
                "singleValue": true
              },
              "leftValue": "={{ $json.is_connection }}",
              "rightValue": ""
            },
            {
              "id": "52065840-16a5-4492-b914-c09383cae858",
              "operator": {
                "type": "boolean",
                "operation": "false",
                "singleValue": true
              },
              "leftValue": "={{ $json.is_pending }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "cc8cfe32-d384-4d22-9f71-8f238771dede",
      "name": "sendinvite",
      "type": "n8n-nodes-browserflow.browserflow",
      "position": [
        288,
        -240
      ],
      "parameters": {
        "message": "={{ $json.message }}",
        "operation": "sendConnectionInvite",
        "addMessage": true,
        "linkedinUrl": "={{ $('contacts').item.json.url }}"
      },
      "credentials": {
        "browserflowApi": {
          "id": "xVoYL8fNGAXfZvQX",
          "name": "Browserflow account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6ae4df3c-92fb-4330-b185-7c2cc18097fc",
      "name": "message",
      "type": "n8n-nodes-base.set",
      "position": [
        16,
        -240
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "499bbff5-88f0-4c51-acae-71106cd32c4d",
              "name": "message",
              "type": "string",
              "value": "=Dear {{ $('contacts').item.json.firstname }},\nRight now building a framework to help revenu teams to drive efficient outbound strategies. This n8n automation is part of the solution. Happy to connect and get your feedback !\nThe n8n About team."
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "d1e4c9c7-805e-4d16-956f-fe2b49ae4cbf",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -752,
        -64
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "072908e0-eb3a-429e-9b93-b61c5520b423",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        800,
        128
      ],
      "webhookId": "39849edd-3556-4405-a12c-24634d5d61b9",
      "parameters": {
        "amount": 60
      },
      "typeVersion": 1.1
    },
    {
      "id": "f977bbc7-1841-4157-9caf-de34b7bac7af",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1072,
        -784
      ],
      "parameters": {
        "color": 7,
        "width": 688,
        "height": 1472,
        "content": "# Manage LinkedIn Invitations with Browserflow\n**Automate personalized LinkedIn outreach while maintaining human-like behavior**\n\n## Overview\nThis workflow helps you send targeted LinkedIn invitations with customized messages, automatically checking existing connections to avoid duplicate requests. Perfect for recruiters, sales professionals, and anyone building their professional network systematically.\n\n## How It Works\n1. **Contact Management**: Store your prospects in a Google Sheet with their LinkedIn profile URLs\n2. **Connection Verification**: Automatically check if you're already connected to avoid duplicate invitations\n3. **Smart Invitations**: Send personalized invitations to new contacts\n4. **Progress Tracking**: Update the Google Sheet with invitation status\n\n## Setup Instructions\n\n### Prerequisites\n- **Google account** with Sheets access\n- **Browserflow account** with available credits ([sign up here](https://browserflow.io/))\n- **n8n instance** (tested on version 1.109.1)\n\n### Step-by-Step Setup\n1. **Prepare Your Contact List**\n   - Download the [Google Sheet Template](https://docs.google.com/spreadsheets/d/1mFKp3wmbV9qp2tpGGsN72zdiC32y8H1nhjdgP885y-U/edit?usp=sharing)\n   - Make a copy to your Google Drive\n   - Extract the Sheet ID from your URL (the string between `/d/` and `/edit`)\n\n2. **Configure Workflow Settings**\n   - Open the `settings` node and enter your Google Sheet ID\n   - Customize your invitation message in the `message` node\n   - Set up your Google Sheets credentials\n   - Configure your Browserflow credentials\n\n3. **Populate Your Data**\n   - Add contacts to your Google Sheet with their LinkedIn profile URLs\n\n4. **Test & Deploy**\n   - Run a test with 1-2 contacts first (update the `Limit` node)\n   - Monitor execution and adjust `Wait` if needed \n\n## Important Considerations\n\n- **Responsible Usage**: This tool mimics human behavior and respects LinkedIn's natural usage patterns. It's designed for quality networking, not mass spamming.\n\n- **Rate Limits**: Stay within LinkedIn's acceptable limits.\n\n- **Account Safety**: Excessive automation can result in LinkedIn restrictions. Always prioritize authentic, valuable connections.\n\n\n## Support & Community\n\nNeed assistance? Here's how to get help:\n- **LinkedIn Discussion**: Comment on this [workflow post](https://www.linkedin.com/posts/n8n-about_n8n-browserflow-activity-7368758690025320448-zupZ/)\n- **Direct Contact**: Connect with me on [LinkedIn](https://www.linkedin.com/in/stephaneheckel/)\n- **Community Forum**: Ask questions in the [n8n Community](https://community.n8n.io/)\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "490770f2-7aa1-420e-9c5c-e40357f548a7",
      "name": "contacts",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -256,
        -592
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1877973285,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VPUd7xbigvW4dIjyvsSRn3Y3jpITjyZneCIEU0HK_Hw/edit#gid=1877973285",
          "cachedResultName": "contacts"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.googlesheetid }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "0xG6VARJ6hnHx2T1",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "43996334-8e32-4f69-88d4-1ff420baa73c",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        -720
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 96,
        "content": "\n[Google Sheet Template](https://docs.google.com/spreadsheets/d/1mFKp3wmbV9qp2tpGGsN72zdiC32y8H1nhjdgP885y-U/edit?usp=sharing)\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d071f42c-af34-4e17-8f12-19dbc2d65f74",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        -720
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 96,
        "content": "Set the Google Sheet ID you want to use"
      },
      "typeVersion": 1
    },
    {
      "id": "086470a9-e3c7-455c-89c6-4c16c432a0b8",
      "name": "settings",
      "type": "n8n-nodes-base.set",
      "position": [
        -496,
        -592
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4b74909d-6a40-422f-9d5a-1d72f5577f3f",
              "name": "googlesheetid",
              "type": "string",
              "value": "<input your google sheet ID here>"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "2fbf5436-3336-47c5-b4b3-d58399b7f588",
      "name": "updatecontact",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        576,
        128
      ],
      "parameters": {
        "columns": {
          "value": {
            "invitation": "={{ $('isnotconnected').item.json.is_pending ? \"pending\" : \"connected\" }}",
            "row_number": "={{ $('contacts').item.json.row_number }}"
          },
          "schema": [
            {
              "id": "email",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "firstname",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "firstname",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "lastname",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "lastname",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "process",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "process",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "err",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "err",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "invitation",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "invitation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "url",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "url",
              "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": "name",
          "value": "contacts"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('settings').item.json.googlesheetid }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "0xG6VARJ6hnHx2T1",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "49059013-0634-40f4-981b-35abae3f50f4",
      "name": "updateinvitation",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        576,
        -240
      ],
      "parameters": {
        "columns": {
          "value": {
            "invitation": "Y",
            "row_number": "={{ $('contacts').item.json.row_number }}"
          },
          "schema": [
            {
              "id": "email",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "firstname",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "firstname",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "lastname",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "lastname",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "process",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "process",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "err",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "err",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "invitation",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "invitation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "url",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "url",
              "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": "name",
          "value": "contacts"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('settings').item.json.googlesheetid }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "0xG6VARJ6hnHx2T1",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "8142467b-f381-418c-b60b-ce3d3302bd2a",
      "name": "alreadyconnectedorpending",
      "type": "n8n-nodes-base.noOp",
      "position": [
        16,
        128
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1e374508-72e5-44ef-bc64-e02e63ccffd9",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        -720
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 96,
        "content": "Only contacts with empty \"invitation\""
      },
      "typeVersion": 1
    },
    {
      "id": "c44aa167-8328-4360-ad92-a4c8b840ae47",
      "name": "finallist",
      "type": "n8n-nodes-base.filter",
      "position": [
        16,
        -592
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "d1bb2dee-2f47-43df-afe7-99a558791923",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.invitation }}",
              "rightValue": "={{ $('settings').item.json.employee }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a101058d-12b1-478c-8df5-795b1df17759",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        -352
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 368,
        "content": "Update the invitation message in this node !"
      },
      "typeVersion": 1
    },
    {
      "id": "aca1f550-7b02-49e2-867f-5834379cc176",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        -352
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 96,
        "content": "Flag the contact as   invited. invitation = \"Y\""
      },
      "typeVersion": 1
    },
    {
      "id": "8985a78d-08a1-4f27-9271-98f2ad09cf44",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        -720
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 96,
        "content": "Only for test / debug"
      },
      "typeVersion": 1
    },
    {
      "id": "72db3d5a-c0f2-4dc4-b6e1-8fe11255832a",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        320
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 96,
        "content": "Flag the contact as   \"connected\" or \"pending\""
      },
      "typeVersion": 1
    },
    {
      "id": "ff214055-3496-4feb-9d7a-528ea54064a3",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        752,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 192,
        "height": 96,
        "content": "Update the Wait amount here"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "5b597bf1-d128-4c56-aa5b-50e9a875f4f7": {
      "main": [
        [
          {
            "node": "6ae4df3c-92fb-4330-b185-7c2cc18097fc",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "8142467b-f381-418c-b60b-ce3d3302bd2a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "072908e0-eb3a-429e-9b93-b61c5520b423": {
      "main": [
        [
          {
            "node": "d1e4c9c7-805e-4d16-956f-fe2b49ae4cbf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d1e6e3bd-8ad2-4415-8c9a-f3bd035fd4ed": {
      "main": [
        [
          {
            "node": "d1e4c9c7-805e-4d16-956f-fe2b49ae4cbf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6ae4df3c-92fb-4330-b185-7c2cc18097fc": {
      "main": [
        [
          {
            "node": "cc8cfe32-d384-4d22-9f71-8f238771dede",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "490770f2-7aa1-420e-9c5c-e40357f548a7": {
      "main": [
        [
          {
            "node": "c44aa167-8328-4360-ad92-a4c8b840ae47",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "086470a9-e3c7-455c-89c6-4c16c432a0b8": {
      "main": [
        [
          {
            "node": "490770f2-7aa1-420e-9c5c-e40357f548a7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c44aa167-8328-4360-ad92-a4c8b840ae47": {
      "main": [
        [
          {
            "node": "d1e6e3bd-8ad2-4415-8c9a-f3bd035fd4ed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cc8cfe32-d384-4d22-9f71-8f238771dede": {
      "main": [
        [
          {
            "node": "49059013-0634-40f4-981b-35abae3f50f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2fbf5436-3336-47c5-b4b3-d58399b7f588": {
      "main": [
        [
          {
            "node": "072908e0-eb3a-429e-9b93-b61c5520b423",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "59fef9a9-9191-4af8-b050-4eb80c91cedf": {
      "main": [
        [
          {
            "node": "5b597bf1-d128-4c56-aa5b-50e9a875f4f7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d1e4c9c7-805e-4d16-956f-fe2b49ae4cbf": {
      "main": [
        [],
        [
          {
            "node": "59fef9a9-9191-4af8-b050-4eb80c91cedf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "49059013-0634-40f4-981b-35abae3f50f4": {
      "main": [
        [
          {
            "node": "072908e0-eb3a-429e-9b93-b61c5520b423",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8142467b-f381-418c-b60b-ce3d3302bd2a": {
      "main": [
        [
          {
            "node": "2fbf5436-3336-47c5-b4b3-d58399b7f588",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9ee2794b-b0ca-45f3-af78-5089b156a4bc": {
      "main": [
        [
          {
            "node": "086470a9-e3c7-455c-89c6-4c16c432a0b8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Nutrición de leads, Varios, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos23
Categoría3
Tipos de nodos11
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Stéphane Heckel

Stéphane Heckel

@stephaneheckel

Data Sommelier | Sales Architect | Advisor | GTM

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34