Guide · Using CampaignStack

LinkedIn accounts: which one reads, which one sends, and how rotation works

Everything in CampaignStack runs through a LinkedIn account that is not the product's: a client's, or an SDR's. This guide is about that account. What connecting it does, why its daily budget belongs to it and not to the workspace, how a campaign workflow or a signal agent decides which account touches which lead, what round-robin actually rotates, and the housekeeping that keeps the account alive. Read this one before the others.

01 · Connecting

What happens when you connect an account

Two ways in. The Chrome extension connects the account you are signed into, in one click. Or you paste the li_at session cookie on the account page. Either way the same four things happen, in order.

  1. A static residential proxy is reserved for the account, in a location consistent with the owner. It stays with the account; it is never shared and never rotated.
  2. The session is validated through that proxy. Only a confirmed sign-in creates the account; a network error is not a failure, it is a retry.
  3. The cookie is consumed into an encrypted browser profile on our server, one per account. Every later job runs as a tab inside that profile, so LinkedIn sees one device, day after day. The cookie itself is not stored in the database.
  4. The account's plan (free, Premium, Sales Navigator, Recruiter) and connection count are read, because the daily limits are computed from them.
The Accounts page under Operations, listing two connected LinkedIn accounts with their status and the workspaces each is linked to
Operations, Accounts. Every LinkedIn and Google account you have connected, with its status and the workspaces it serves.
One account, several workspaces. An account is linked to one or more workspaces and any of them can use it. One of them is the owner workspace, the one billed for the account's housekeeping and for messages you write by hand. Nothing about the account is copied per workspace: the budgets, the proxy, the profile and the session are the account's.
02 · The budget

The budget belongs to the account, not to the client

Every kind of action has its own daily limit on every account: connection requests, messages, replies, likes, comments, profile views, enrichments, searches. The limits are recomputed each night from the account's plan and connection count, ramped up over the first weeks, and reduced on weekends. The account page shows today's numbers as they stand.

An account's Overview tab: the activity timeline for the past seven days and today's budget bars per action type
The Overview tab. The timeline is what the account did, hour by hour; the budget bars are how much of each daily limit is used. A paused row means a security check stopped that family of actions for 24 hours.

This is the fact that shapes everything else in this guide. If two client workspaces both put the same account in their pools, they are drawing from one budget, not two. The account does not know or care which workspace asked. That is deliberate: LinkedIn only sees the account, so the limit has to live where LinkedIn looks.

Reads and writes are budgeted separately. Viewing a profile or reading a group costs read budget; sending anything costs write budget. One account can do both, and often should, but a read-heavy job eats read budget the account might have wanted for enrichment before a send. That is the reason the pools below exist.

03 · Reading and sending

Which account reads, which one sends

A campaign workflow has one list of LinkedIn accounts, and every enabled account in it can send. A signal agent has two lists: the accounts that read (a post, a group, an inbox) and the accounts that act (connect, comment, reply). Whether you can edit those lists depends on what the agent watches, because some things can only be read by one specific account.

Runs fromReads withActs withLocked?
Campaign workflowNot applicable. Profile reads for enrichment use the same pool.The workflow's LinkedIn accounts. Several enabled accounts rotate.No. Edit the list any time; leads already bound to an account keep it.
Post engagerA free pool: any accounts you pick read the post.A free pool, chosen per lead by remaining budget.No.
Group watcherExactly one account, the group member. Only a member can see the group.A free pool.The read side is. Sourcing stops silently if that account goes down; outreach continues.
Connection watcherThe one account it watches.The same account. The connection was accepted by that account, so the welcome comes from it.Yes, for life. Pauses when the account is unavailable, resumes when it recovers.
Message watcherThe one inbox it watches.The same account. A reply from any other account is a different conversation.Yes, for life. Same pause and resume.
The LinkedIn Accounts card in a workflow's settings, with two accounts enabled for rotation
A campaign workflow's Settings tab. Every enabled account here can send for this workflow; with more than one, new leads rotate across them. The email sending account is a separate choice below it.
The Accounts card on a signal agent's settings page, with the reading pool and one of two accounts selected
A signal agent's Accounts card, here the reading pool of a post engager. The card's own hint says it: a secondary account for reading keeps the outreach identity safe. A connection or message watcher shows one bound account instead, because the thing it watches belongs to that account.
Why the watchers are locked. A connection was accepted by a specific account, and a message thread belongs to a specific inbox. A welcome or a reply from any other account is a stranger writing in. So those agents read and act from the one account, and if it goes down they pause and resume by themselves rather than borrowing another.
04 · Rotation

What round-robin actually rotates

Enable several accounts on a workflow and new leads are spread across them. But the word round-robin undersells what happens, and oversells it. Four rules.

Most headroom wins

For a lead with no account yet, the executor ranks the enabled accounts by remaining daily budget for the action about to run, and picks the roomiest. Headroom is the minimum remaining across the action types the step needs.

Once bound, always bound

The first touch stamps the account on the lead. From then on that lead's steps run from that account, even when it has no budget left today. The lead waits for tomorrow rather than moving, because a follow-up from a second account is a stranger writing in.

Warm path first

If one enabled account is already a first-degree connection of the lead, it is preferred over the load balancer, as long as it still has at least five actions of headroom. Below that, the preference yields, so a whole list cannot pile onto one account.

One write per step per tick

Even with budget to spare, a step dispatches one LinkedIn write per tick. The daily budget bounds the day; this bounds the burst.

What this means for a client with three accounts. It is not one campaign whose messages come from whoever is free. It is three interleaved campaigns, each conversation staying on the account that opened it, sharing one list and one review queue. That is the difference between rotation that keeps accounts alive and rotation that makes three accounts look like one bot.
05 · Housekeeping

The three things that run per account, not per campaign

Some automation is bound to one account for life and has nothing to do with any campaign. It lives on the account's Automation tab, and it is split into two groups because one of them sends messages under the account's name and the other does not.

The Automation tab of an account: the invitation hygiene switch under Housekeeping, and the connection and message watchers under Automated outreach
The Automation tab. Housekeeping only ever withdraws the account's own invitations. Automated outreach drafts messages to people, which is why it is a separate group with its own consequence stated.
  • Invitation hygiene. On by default. LinkedIn caps pending invitations near 400, and an account above that sends nothing. The daily sweep withdraws the oldest sent invitations to keep the account under the cap, never one younger than seven days. Withdrawals have their own budget and never touch the connection-request budget.
  • Auto-welcome new connections. Off until you switch it on. Notices newly accepted connections and welcomes them through a reviewed workflow. The preview under the switch shows the brief the first message is written against, so you know what will go out under the account's name.
  • Auto-reply to new messages. Off until you switch it on. Drafts replies to inbound messages from people who are not already in a sequence. Drafts wait for review unless you chose otherwise.

All three are billed to the account's owner workspace, which is why that workspace is chosen here. One watcher per kind per account, across all workspaces: if another workspace already runs the watcher for this account, the card says so and the switch is theirs.

06 · Settings

The proxy, the country, and reconnecting

The Settings tab is where the account's plumbing lives. Most accounts never need it after the first day.

An account's Settings tab with the proxy card and the session controls
The Settings tab: saved credentials for automatic session recovery, the proxy card, the linked workspaces with today's action count per workspace, and the linked Google accounts.

The proxy is assigned from our pool by default. If the client insists on their own, or you already run one, attach it here: it is validated before it is saved, it is never shared with any other account, and if it stops responding the account fails over to a pool proxy and tells you. The country sets the account's local time, which is what business hours and the daily budget reset are computed from; an account with no country runs on UTC and says so on its Overview tab.

Sessions are re-validated before each day's actions. When one is confirmed dead, the account is marked expired, its budgets go to zero, and every lead bound to it waits. Paste a new cookie, or reconnect from the extension, and the same profile picks up where it stopped. If you save the account's LinkedIn credentials here, encrypted, the system tries to restore an expired session by itself before asking you.

07 · Where each thing lives

The short version

Connect or reconnect an accountOperations, Accounts, then the account
Daily budgets and the activity timelineThe account's Overview tab
Invitation hygiene, auto-welcome, auto-replyThe account's Automation tab
The owner workspaceThe account's Automation tab, top of the card
Proxy, saved credentials, linked workspacesThe account's Settings tab
Which accounts a campaign workflow rotatesThe workflow editor, Settings, LinkedIn Accounts
Which accounts a signal agent reads and acts withThe agent's Settings page, Accounts card
Which Google account emails send fromThe workflow editor, Settings, Email Sending

Frequently asked questions

Can one LinkedIn account serve several client workspaces?

Yes. An account is linked to one or more workspaces and any of them can put it in a pool. Its daily budget does not multiply: every workspace draws from the same per-account limits, so two clients rotating the same account share its day.

What is the owner workspace?

The workspace that pays for the account's maintenance, meaning invitation hygiene and the two watchers, and for messages you write by hand from the inbox. It has to be one of the workspaces the account is linked to. Change it from the account's Automation tab.

Is round-robin the same as spreading one campaign across accounts?

Only for new leads. Rotation picks the account with the most remaining budget for each new lead, then binds the lead to it. A campaign on three accounts is three interleaved campaigns, each conversation staying on the account that started it, not one campaign whose messages come from whoever is free.

What happens to a workflow when one of its accounts expires?

Leads bound to that account wait; nothing is failed and nothing moves to another account. New leads are routed to the accounts still usable. When the session is reconnected, the waiting leads resume where they stopped. Signal agents bound to that account pause and resume on their own.

Do I need a separate account for reading and a separate one for sending?

Not as a rule. Reads and writes have separate budgets on the same account, so one account can do both. The split makes sense when a read-heavy job, such as watching a busy group, would eat into an account you want kept quiet for outreach, or when the group is only visible to one specific member.

Where does my session cookie go?

It is used once, to open an encrypted browser profile on our server bound to the account's proxy, and it is not stored in the database. Reconnecting means pasting a fresh one. Disconnecting ends the session from LinkedIn's side as well, if you revoke it there.

Get started

Start building your stack.

Your LinkedIn accounts will be safer with CampaignStack than doing it by hand. That's not a pitch. It's a measurable claim.