AutomationFlowsAI & RAG › Automate Hyper-personalized Outreach at Scale with Bright Data and Llms

Automate Hyper-personalized Outreach at Scale with Bright Data and Llms

ByYaron Been @yaron-nofluff on n8n.io

For SDRs, growth marketers, and founders looking to scale personalized outreach. This workflow enriches LinkedIn profile data using Bright Data and generates AI-powered ice breakers using Claude (Anthropic). It automates research and messaging to help you connect smarter and…

Event trigger★★★★☆ complexityAI-powered21 nodesGoogle SheetsAnthropic ChatChain LlmHTTP Request
AI & RAG Trigger: Event Nodes: 21 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Chainllm → Google Sheets recipe pattern — see all workflows that pair these two integrations.

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
{
  "meta": {
    "templateId": "3561"
  },
  "nodes": [
    {
      "id": "f3641141-a880-4400-bad7-909558848c20",
      "name": "When clicking \"Test workflow\"",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        2260,
        820
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7b1ddbd1-f918-4ef9-a05e-2c02e6de75df",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        580
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 2698,
        "content": "=======================================\n         WORKFLOW DETAILS & GUIDELINES\n=======================================\nName:\n    LinkedIn Enrichment & Ice Breaker Generator\n\nPurpose:\n    Automate the process of enriching LinkedIn profiles using Bright Data,\n    generate personalized ice breakers with an LLM, and update Google Sheets.\n\nTools Needed:\n    - n8n Nodes:\n        \u2022 Manual Trigger or Schedule Trigger\n        \u2022 Set\n        \u2022 SplitInBatches\n        \u2022 HTTP Request\n        \u2022 If\n        \u2022 Wait\n        \u2022 Google Sheets\n        \u2022 LangChain LLM (Claude via Anthropic)\n    - External Services:\n        \u2022 Bright Data (Dataset API)\n        \u2022 Anthropic Claude (Haiku)\n        \u2022 Google Sheets API\n\nAPI Keys & Authentication Required:\n    \u2022 Bright Data API Key\n        \u2192 Used in HTTP Request headers as:\n           `Authorization: Bearer YOUR_TOKEN_HERE`\n    \u2022 Google Sheets OAuth2 Credentials\n        \u2192 Connects n8n to your Google account for reading/writing to Sheets.\n    \u2022 Anthropic API Key\n        \u2192 Used for generating ice breakers via Claude models.\n        \u2192 Must be set in the Anthropic credential section in n8n.\n\nGeneral Guidelines:\n    \u2022 Use descriptive and consistent naming for all nodes.\n    \u2022 Add retry limits to polling loops to avoid infinite cycles.\n    \u2022 Ensure each LinkedIn URL maps to a unique `row_number`.\n    \u2022 Obfuscate any keys before sharing the workflow publicly.\n\nThings to be Aware Of:\n    \u2022 Bright Data may require some delay (via Wait node) before snapshot is ready.\n    \u2022 Retry logic should not exceed API rate limits.\n    \u2022 If snapshot fails or times out, ensure fallback logging is in place.\n    \u2022 Claude model IDs and prompt formats may change \u2014 validate before updates.\n\nAdditional Notes:\n    \u2022 Make a copy of the Google Sheet template before use.\n    \u2022 Replace placeholders in `Authorization` headers and credentials section.\n    \u2022 Use test data first to avoid exhausting API quotas during setup.\n\n=======================================\n\nThis workflow allows you to enrich LinkedIn profiles using Bright Data,\ngenerate AI-written ice breakers with Claude, and log everything into Google Sheets.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "215cd515-149b-41b1-adbe-fa203cbc9b5d",
      "name": "Get rows to enrich",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2540,
        820
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1g8Dum0tfZ1nQdd3b6sLhZX2aMu6FzwoVvD0EAXMpPx8/edit#gid=0",
          "cachedResultName": "input"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1g8Dum0tfZ1nQdd3b6sLhZX2aMu6FzwoVvD0EAXMpPx8",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1g8Dum0tfZ1nQdd3b6sLhZX2aMu6FzwoVvD0EAXMpPx8/edit?usp=drivesdk",
          "cachedResultName": "NoFluff-N8N-Sheet-Template-Hyper Personalization"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "f140e851-6409-4169-b5af-28ab6f16d99c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3220,
        680
      ],
      "parameters": {
        "width": 1420,
        "height": 460,
        "content": "Personal Data"
      },
      "typeVersion": 1
    },
    {
      "id": "8878ae56-0772-498a-b153-b628222f6688",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2220,
        680
      ],
      "parameters": {
        "width": 266.12865147126786,
        "height": 627.5654650079845,
        "content": "Run the workflow manually or activate it to run on schedule\n"
      },
      "typeVersion": 1
    },
    {
      "id": "df3f1f83-1092-40fe-bc5d-301e9a118601",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2500,
        460
      ],
      "parameters": {
        "width": 194.6864335083109,
        "height": 525.6560478822986,
        "content": "In this workflow, I use Google Sheets to store the results. \n\nYou can use my template to get started faster:\n\n1. [Click on this link to get the template](https://docs.google.com/spreadsheets/d/1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4/edit?usp=sharing)\n2. Make a copy of the Sheets\n3. Add the URL to this node and the node **\"Google Sheets - Update Row with data\"**\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1c294196-206a-4add-8d47-8558ba99515d",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        240
      ],
      "parameters": {
        "color": 4,
        "width": 1280,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3491b2bf-83a0-4966-9ff5-9c7c55f316e0",
      "name": "Anthropic Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        4800,
        1240
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-3-5-haiku-20241022",
          "cachedResultName": "Claude 3.5 Haiku"
        },
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "66b79bfc-3447-4b42-9617-308e490079bb",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4720,
        880
      ],
      "parameters": {
        "width": 1120,
        "height": 580,
        "content": "ICE BREAKER\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7557e53f-b898-4831-a52e-be9eeb0f4964",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2940,
        560
      ],
      "parameters": {
        "color": 4,
        "width": 2980,
        "height": 1000,
        "content": "LOOP"
      },
      "typeVersion": 1
    },
    {
      "id": "0119ee4c-bc70-4aef-84e0-881cdea57aa9",
      "name": "Basic LLM Chain- Ice Breaker",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        4920,
        900
      ],
      "parameters": {
        "text": "=Help me with writing a witty Ice breaker to try to persuade  {{ $json.name }} from{{ $('BrightData_Get_Linkedin').item.json.city }}. His About section in his Linkedin profile says:{{ $('BrightData_Get_Linkedin').item.json.about }}. \nHe also had a recent post about:{{ $('BrightData_Get_Linkedin').item.json.posts[0].title }}\n\nMake it 4 lines maximum. Focus more on his recent post, not the about. Just to make it feel personalized yet respectful and not creepy.\n\nWRITE THE ICE BREAKER Straight away. Dont write \"here's a draft\" or any other text before your actual response.",
        "promptType": "define"
      },
      "retryOnFail": true,
      "typeVersion": 1.6
    },
    {
      "id": "e3965132-4d21-4252-ab26-525128d79d29",
      "name": "BrightData_Get_Linkedin",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        4120,
        740
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <BRIGHT_DATA_API_KEY>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0e55b67e-7ddb-4431-8250-59be59c6c557",
      "name": "Adjust_input_for_loop",
      "type": "n8n-nodes-base.set",
      "position": [
        2740,
        820
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "fcc97354-b9f6-4459-a004-46e87902c77c",
              "name": "person_input",
              "type": "string",
              "value": "={{ $json.Linkedin_URL_Person }}"
            },
            {
              "id": "e5415c49-5204-45b1-a0e9-814157127b12",
              "name": "row_number",
              "type": "number",
              "value": "={{ $json.row_number }}"
            }
          ]
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "0cc85426-64f7-41f8-bd9a-215aaaad3299",
      "name": "HTTP_Request_Post_Request_BrightData",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3300,
        740
      ],
      "parameters": {
        "url": "https://api.brightdata.com/datasets/v3/trigger",
        "method": "POST",
        "options": {},
        "jsonBody": "=[\n  {\n    \"url\": \"{{ $json.person_input }}\"\n  }\n]",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "dataset_id",
              "value": "gd_l1viktl72bvl7bjuj0"
            },
            {
              "name": "include_errors",
              "value": "true"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <BRIGHT_DATA_API_KEY>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "851b23e0-6a1b-4a47-95e9-d2f769243a57",
      "name": "Wait_For_API_Call_Results",
      "type": "n8n-nodes-base.wait",
      "position": [
        3500,
        740
      ],
      "parameters": {
        "amount": 10
      },
      "executeOnce": false,
      "typeVersion": 1.1
    },
    {
      "id": "294a7c03-2268-4d7a-b4e7-a52faa78d929",
      "name": "API_Call_Snapshot_Progress",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3660,
        840
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <Bright_Data_API_KEY>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d568403b-c323-4798-b7e5-e4a89dfe7830",
      "name": "IF-Checking_Status_API_Call",
      "type": "n8n-nodes-base.if",
      "position": [
        3860,
        900
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7932282b-71bb-4bbb-ab73-4978e554de7e",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "running"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b44b5f4b-8aef-4ea3-bbd7-1e72548dda64",
      "name": "Google Sheets - Update Row with data From API",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        4500,
        940
      ],
      "parameters": {
        "columns": {
          "value": {
            "city": "={{ $json.city }}",
            "name": "={{ $json.name }}",
            "about": "={{ $json.about }}",
            "row_number": "={{ $('Loop Over Items- All Prospects').item.json.row_number }}",
            "country_code": "={{ $json.country_code }}",
            "Linkedin_URL_Person": "={{ $json.input.url }}",
            "current_company.name": "={{ $json.current_company.name }}"
          },
          "schema": [
            {
              "id": "Linkedin_URL_Person",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Linkedin_URL_Person",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "city",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "city",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "country_code",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "country_code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Position",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "about",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "about",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "current_company.name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "current_company.name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post 1",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Post 1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post 2",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Post 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post 3",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Post 3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ice Breaker 1",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Ice Breaker 1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ice Breaker 2",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Ice Breaker 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "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/1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4/edit#gid=0",
          "cachedResultName": "input"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4/edit?usp=drivesdk",
          "cachedResultName": "NoFluff-N8N-Sheet-Template"
        }
      },
      "typeVersion": 4.3,
      "alwaysOutputData": true
    },
    {
      "id": "081f9e1d-6325-4645-bb0c-368a8ac3be99",
      "name": "Google Sheets - Update Row with Ice Breaker",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        5400,
        1340
      ],
      "parameters": {
        "columns": {
          "value": {
            "row_number": "={{ $('Loop Over Items- All Prospects').item.json.row_number }}",
            "Ice Breaker 1": "={{ $json.text }}"
          },
          "schema": [
            {
              "id": "Linkedin_URL_Person",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Linkedin_URL_Person",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "city",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "city",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "country_code",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "country_code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Position",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "about",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "about",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "current_company.name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "current_company.name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post 1",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Post 1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post 2",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Post 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post 3",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Post 3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ice Breaker 1",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Ice Breaker 1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Ice Breaker 2",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Ice Breaker 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "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/1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4/edit#gid=0",
          "cachedResultName": "input"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4/edit?usp=drivesdk",
          "cachedResultName": "NoFluff-N8N-Sheet-Template"
        }
      },
      "typeVersion": 4.3,
      "alwaysOutputData": true
    },
    {
      "id": "7709c869-5283-4760-b929-fde27167f040",
      "name": "Run Workflow on a certain Schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        2260,
        1000
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "84e08531-b548-43f2-a17a-b2809f833d32",
      "name": "Loop Over Items- All Prospects",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        2980,
        720
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    }
  ],
  "connections": {
    "Get rows to enrich": {
      "main": [
        [
          {
            "node": "Adjust_input_for_loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain- Ice Breaker",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Adjust_input_for_loop": {
      "main": [
        [
          {
            "node": "Loop Over Items- All Prospects",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "BrightData_Get_Linkedin": {
      "main": [
        [
          {
            "node": "Google Sheets - Update Row with data From API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait_For_API_Call_Results": {
      "main": [
        [
          {
            "node": "API_Call_Snapshot_Progress",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "API_Call_Snapshot_Progress": {
      "main": [
        [
          {
            "node": "IF-Checking_Status_API_Call",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF-Checking_Status_API_Call": {
      "main": [
        [
          {
            "node": "Wait_For_API_Call_Results",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "BrightData_Get_Linkedin",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain- Ice Breaker": {
      "main": [
        [
          {
            "node": "Google Sheets - Update Row with Ice Breaker",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \"Test workflow\"": {
      "main": [
        [
          {
            "node": "Get rows to enrich",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items- All Prospects": {
      "main": [
        [],
        [
          {
            "node": "HTTP_Request_Post_Request_BrightData",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run Workflow on a certain Schedule": {
      "main": [
        [
          {
            "node": "Get rows to enrich",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP_Request_Post_Request_BrightData": {
      "main": [
        [
          {
            "node": "Wait_For_API_Call_Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Update Row with Ice Breaker": {
      "main": [
        [
          {
            "node": "Loop Over Items- All Prospects",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Update Row with data From API": {
      "main": [
        [
          {
            "node": "Basic LLM Chain- Ice Breaker",
            "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

For SDRs, growth marketers, and founders looking to scale personalized outreach. This workflow enriches LinkedIn profile data using Bright Data and generates AI-powered ice breakers using Claude (Anthropic). It automates research and messaging to help you connect smarter and…

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

This workflow automates publishing content from any RSS feed directly to Facebook and Instagram. It reads new RSS entries, extracts the article content, generates a short social-media-friendly summary

Rss Feed Read Trigger, Google Sheets, HTTP Request +5
AI & RAG

This workflow automates the process of generating and scheduling social media posts using content from a WordPress blog. It leverages advanced AI (OpenAI & Anthropic Claude), Google Sheets, and the Po

Google Sheets, Output Parser Structured, OpenAI +5
AI & RAG

Workflow 3561. Uses googleSheets, lmChatAnthropic, chainLlm, httpRequest. Event-driven trigger; 21 nodes.

Google Sheets, Anthropic Chat, Chain Llm +1
AI & RAG

This workflow creates a multi-talented AI assistant named Simran that interacts with users via Telegram. It can handle text and voice messages, understand the user's intent, and perform various tasks.

MongoDB, Chain Llm, Google Gemini Chat +11
AI & RAG

This workflow automates Invoice & Payment Tracking (with Approvals) across Notion and Slack. Ingest — You drop invoices/receipts (PDF/IMG/JSON) into the flow. Extract — OCR + parsing pulls out key fie

HTTP Request, Chain Llm, Anthropic Chat +5