Sai does the part that actually takes time - finding the right people, reading each profile, and writing a message that references something real. The drafts land in a Google Sheet. You send them yourself, from your own inbox.
The recording is a real session. The sheet on the right is what it produced.
Sai opens each profile, pulls the signal, and writes the row, live, in a real browser.

Eight columns, sorted by score, with a source link behind every claim.
Your ICP in plain words - company size, industry, and what makes someone worth messaging. A LinkedIn account you're already signed into.
A Google Sheet with one row per prospect: name, title, company, size, industry, location, profile URL, the specific hook Sai found, and a message under 300 characters written around that hook.
About 12 minutes for 20 prospects.
Re-run weekly and Sai drafts only for people who weren't in last week's sheet.
Most tools that advertise LinkedIn messaging automation mean one thing: sending at volume. You load a list, write a template with a few merge fields, set a daily cap, and the tool clicks send on your behalf.
There's a second, quieter kind of automation - the research and writing that happens before any message exists. Finding the right people. Reading each profile. Deciding whether this person is worth contacting. Locating the one detail that makes an opener land.
That second kind is where the hours actually go, and it's what this task automates.
It can. LinkedIn's own policy prohibits third-party software that automates activity on the platform, and accounts using it risk restriction or permanent loss.
That risk is worth stating plainly because most tool pages skip it. Browser extensions and cloud senders that click through LinkedIn for you are the category LinkedIn names. Vendors manage the risk with daily caps, randomized delays, and dedicated IPs - which reduces exposure but doesn't remove it, because the underlying activity is still automated.
Drafting is a different activity. Text written into your own spreadsheet involves no automated action on LinkedIn at all. When you send, you send - one message, from your account, the way LinkedIn expects.
Because recipients can tell. A merge field is not personalization, and "I see you're a Founder at [Company]" reads as machine-written to anyone who has received a few.
The math is unforgiving. Sending more of a message that doesn't work doesn't produce more replies - it produces more people who now recognize your name as spam. Volume amplifies whatever your message already is.
What earns a reply is specificity: a reference to something the person actually did recently. A post from last week. A role they just opened. A raise they just announced. That's not something a template can hold, because it's different for every single person - which is exactly why it gets skipped when a human is doing it by hand, and why it's the right thing to hand to an agent.
You describe who you're looking for. Sai asks a few clarifying questions - how many, what size company, what industry, and why you're reaching out - then runs.
It searches LinkedIn while signed in as you, opens each candidate profile, and checks it against your criteria, discarding people who don't fit before they reach your sheet. For everyone who does fit, it looks for one specific recent signal: a post, a hiring move, a funding event, a title change. Then it writes a 2-3 sentence message under 300 characters built around that signal.
What comes back is a Google Sheet where the hook and the message sit side by side. You read the hook, judge whether the message earns a send, and send the ones that do.
Those are send-automation platforms. They're built to run sequences at volume, and they're good at it. This task sits at the other end of the same problem.
The honest summary: if you have a message that already converts and you need it in front of two thousand people, a sequencer is the right tool and this is not. If your reply rate is the problem, sending faster won't fix it - and that's the case this task is built for.
Short, specific, and openly about why you're reaching out. Under 300 characters, because that's roughly where LinkedIn connection notes cap out and where longer messages stop getting read.
Each one opens on the hook rather than on you. If Sai found that someone posted about a hiring bottleneck last week, the message starts there - not with your company name. The sheet keeps the hook in its own column so you can see the reasoning behind every draft and overrule it when you disagree.
Read the hook column first, not the message column.
If the hook is concrete - a post, a job opening, a raise - the message next to it is almost always worth sending. If the hook is thin, that row is telling you this person had no recent public activity to work with, and it's your cue to skip them or write that one yourself. Sai marks those rather than inventing a hook to fill the cell.
Twenty rows takes a few minutes to triage this way. Then copy the messages you approved and send them from LinkedIn.
No. Every message is drafted into the sheet for you to review, and sending stays a separate step you take yourself. That's a deliberate boundary, not a missing feature - it's what keeps your account outside LinkedIn's automation policy.
Yes. The sheet exports cleanly, so you can paste approved messages into whatever sending workflow you already use.
No. The task runs against LinkedIn in your browser, signed in as you. Sales Navigator gives you finer filters if you already have it, but it isn't required.
Yes. Add the tone you want to the prompt - warmer, blunter, more technical - and adjust the length or character limit the same way.
Change the number in the prompt. Start at 20 to confirm the drafts sound like you before scaling the run up.