Send AI-personalized LinkedIn connection requests from a spreadsheet

It works through your prospect list, writes a personalized LinkedIn message for each person with AI, and sends the connection request.

How the work actually flows

It repeats. Repeats moves to next pending prospect; runs once per each pending prospect in spreadsheet.

Pattern: Structured Loop (21) ยท Multiple Instances with a priori Run-Time Knowledge (14)

flowchart TD trig[\"new pending prospect in spreadsheet"\]:::trigdata s0[["Mark prospect in progress"]]:::mi s1["Pull prospect profile details"]:::svc s2["Write personalized message"]:::task s3["Send connection request and update spreadsheet"]:::task trig --> s0 s0 --> s1 s1 --> s2 s2 --> s3 lp{"until pending prospects are exhausted"}:::gate s3 --> lp lp -. "moves to next pending prospect" .-> s0 lp -->|"finished"| out out[/"Personalized connection requests sent"/]:::out pay{{"Scaled outreach without manual writing"}}:::pay out --> pay classDef task fill:#e7f6fe,stroke:#34b8f0,color:#2c2a29 classDef svc fill:#f6f8fa,stroke:#7c8795,color:#2c2a29 classDef mi fill:#e7f6fe,stroke:#0079a8,color:#2c2a29,stroke-width:2px classDef human fill:#fff,stroke:#0079a8,color:#0079a8 classDef store fill:#f6f8fa,stroke:#0079a8,color:#2c2a29 classDef trig fill:#00a4eb,stroke:#0079a8,color:#fff,font-weight:bold classDef trigtime fill:#00a4eb,stroke:#0079a8,color:#fff,font-weight:bold classDef trigdata fill:#8ad4f5,stroke:#0079a8,color:#06314c,font-weight:bold classDef gate fill:#fff,stroke:#e8a23d,color:#6b4708,font-weight:bold classDef out fill:#1f9d6b,stroke:#167a53,color:#fff,font-weight:bold classDef pay fill:#06314c,stroke:#021f33,color:#fff
Starts itA stepAn outside serviceRuns once per itemRepeat or finishResultPayoff
Build size
Advanced

A larger build with multiple systems, AI reasoning, and custom rules.

Business functions
AI Agents & Autonomous SystemsCRM & Sales PipelineSpreadsheet & Database Ops
Connects
Google SheetsLinkedInGoogle Gemini

The problem it solves

Reaching out to hundreds of prospects on LinkedIn means either sending the same generic message to everyone, which gets ignored, or spending hours writing something personal for each person. Neither option scales when you have a real pipeline to build.

Who it fits

Sales professionals, recruiters, and founders doing LinkedIn outreach at scale.

How it works

  1. It reads the next pending prospect from your Google Sheet
  2. It marks that row as in progress so no one gets contacted twice
  3. It pulls that person's LinkedIn profile details
  4. AI writes a personalized connection message based on their profile
  5. It sends the connection request and updates the sheet with the message and status
What you get

Connection requests sent to every prospect on your list

Each prospect on your list gets a personalized LinkedIn connection request written for them and sent automatically on your behalf.

What you get

A spreadsheet showing exactly who was contacted, with the personalized message sent to each.

What you need

A Google Sheets account, a LinkedIn account, and a Google Gemini API key.

We can build this. But should you?

The hard question is not how to build it. It is whether this is the right thing to build first.

That is what a Fractional Chief AI Officer figures out with you, before anyone writes a line of code.

Let's Talk Strategy

Related automations

Back to the AI Playbook