Freelance OS's LinkedIn executor. Invites, messages, comments, reactions, profile visits, everything runs in your real browser, on your session, from your IP. Nothing goes through a third-party service.
Overview
LinkedIn replaces Waalaxy, Lemlist or a cloud layer like Unipile with a local executor. The Kernel never touches LinkedIn. It pushes jobs into a queue, a paired Chrome extension runs them in a LinkedIn tab open on your real session. To LinkedIn it looks like you: same cookies, same IP, same fingerprint.
Automating an authenticated account breaks LinkedIn's terms, that stays a risk. The module doesn't deny it, it bounds it. An anti-ban policy lives server-side: hard per-action daily ceilings, a sending window, a ramp-up for a fresh account, randomized gaps between actions, a per-device circuit breaker, and a kill-switch when LinkedIn's internal API changes.
On top of the executor, three uses: multi-step outreach sequences to your contacts, a closer that replies to inbound DMs, and automatic feed engagement. Each use is opt-in and off by default. Everything scraped (reactions, profiles, replies) flows back into the CRM and the Inbox.
What the module does
Runs in your browser
A Manifest V3 extension paired to your workspace. Its service worker polls the Kernel about every 75 seconds, picks up one action, has a content script run it by calling LinkedIn's internal Voyager API the way the site does, then reports back the result. One action per cycle, at human pace. A device carries one LinkedIn identity but can serve several workspaces: your multi-brand case, or an agency with one browser per client.
- Actions: invite, message, comment, reaction, visit, profile scrape
- Post publishing, search-result import, reactions and feed scraping
- connect, visit and scrape_profile are the most stable; message, comment, react are best-effort
- Developer-mode install for now, unpackaged extension
Anti-ban policy
The heart of the module. It decides what a device may do, right now. Hard per-action, per-identity ceilings can never be exceeded, even by an over-set config, because that is how an account gets banned. The daily count is a rolling 24-hour window, with no timezone arithmetic.
- Hard daily ceilings: 30 invites, 40 messages, 25 comments, 60 reactions
- Per-device sending window, in its own timezone
- 3-day ramp-up for a freshly paired account (35 then 55 then 75 %)
- Randomized 45 to 180 second gaps between actions, batches of 3 max per poll
- Per-device circuit breaker that pauses then auto-resumes
Multi-step outreach sequences
The direct Waalaxy replacement. A sequence chains steps: profile visit to warm up, invitation, message. You enroll contacts, a state machine walks them forward over time, each step goes through the queue and therefore the caps. The sequence pauses as soon as the prospect replies. Per-sequence daily cap on top of the device ceilings.
Closer bot on inbound DMs
When a prospect replies, the closer can draft the follow-up in your voice. Three modes: off (default), draft (it suggests, you approve before sending), send (it queues the reply straight as a normal message job, so under the same caps). The prompt carries the workspace's offer name, promise and CTA. The output is stripped of em-dashes and AI tropes before it is offered.
Automatic feed engagement
Optional, off by default. Three modes: off, like, like plus a short AI comment. The module selects relevant feed posts, bounds the number of likes and comments per pass, and never engages an excluded author. In parallel, a pass scrapes the reactions on your own published posts so reactors and commenters drop into the CRM.
Platform health and action queue
Distinct from the per-account breaker: when the same action fails at scale across several devices, that signals LinkedIn changed its API. A kill-switch disables that action fleet-wide, re-probes it after a cooldown, disables it again if still broken. A reaper frees jobs stuck mid-run. A per-action table shows successes, failures, pending and success rate over 7 days.
How to use it
- 01
Pair a browser
In Settings, Integrations, LinkedIn (extension), generate a code. Open the extension, paste the code, connect. Keep a LinkedIn tab open and logged in.
- 02
Pick the workspaces
A device serves one or more of your workspaces. You tick which ones. Caps aggregate per device, jobs stay per workspace.
- 03
Create a sequence
In Outreach, LinkedIn, you build a sequence: visit, invitation with a note, message, with delays between steps and a per-day cap.
- 04
Enroll contacts
You bulk-enroll contacts from the CRM. The state machine walks them forward, one step at a time, under the anti-ban caps.
- 05
Turn on closer or feed
Optional. Set the closer to draft or send, feed engagement to like or like plus comment. Off by default, explicit opt-in.
- 06
Watch the queue and stats
The page shows device health, the action queue and a per-action table over 7 days. The kill-switch disables a broken action fleet-wide.