Dashboard
What the machine did while you were not watching, and whether anything needs you today.
Today
both channels, last 24 hoursNeeds you
what is standing in the way right nowThe two channels
Detail
where the sending stands, and what the system has been doingMailbox load, last 24 hours
Recent activity
Campaigns
A campaign is a sequence pointed at a list. It sends nothing until it is started and sending is armed.
Start one
a sequence pointed at a listSequences
The emails themselves, and how many days sit between them. Reply steps land in the same thread as the first.
Start one
Your sequences
edit the copy, then save each oneContacts
Import a CSV and every column beyond the six known ones becomes a merge field of the same name.
Import
unknown columns become merge fields of the same nameAny column that is not email, first name, last name, company, title or domain
becomes a custom merge field, so a trigger column arrives as
{{trigger}}.
Browse
Lists
A list is who a campaign writes to. Contacts can sit on as many as you like.
Create one
Your lists
Mailboxes
Each mailbox sends on its own schedule and within its own daily cap. Add as many as you need capacity for.
Add one
any SMTP host works; passwords are encrypted before storageYour mailboxes
each sends on its own schedule and capReplies
Anything that comes back, and everyone you have promised never to write to again.
What came back
a reply stops that contact automaticallySuppression
nobody here is ever written to againSettings
The compliance footer, the safety switch, and who else can use this.
Compliance footer
appended to every sendCAN-SPAM requires a real postal address and a working opt-out in every commercial message. The postal address is set per mailbox, on the Mailboxes tab, because the sender differs. This opt-out line is used by all of them, and the address below is only a fallback for a mailbox that has none of its own.
Unsubscribe links are built from this, so it has to be the address a recipient can actually reach.
Used only where a mailbox has no address of its own. Same fields as the per-mailbox one, so a sparse address still reads correctly.
Reply forwarding
send every reply straight to whoever is handling themWhen someone replies, the whole message is forwarded on, with the original attached and Reply-To set to the person who wrote. Whoever receives it can simply hit reply and answer them directly. Bounces are not forwarded.
Safety
Three switches stand between an import and an email going out, and all three must be on. The global switch in the header, the mailbox's own arm switch on the Mailboxes tab, and the campaign being started rather than drafted. Any one of them off means nothing sends. Only an administrator can arm either switch.
API access
for connecting to this platform directlyA single key that stands in for your administrator account, sent as an
x-ops-key header. Anything the console can do can be done over HTTPS with it,
which is how Claude connects to this platform without a browser session. Treat it like a
password. Rotating it takes effect immediately and breaks anything still using the old one.
Team
you are the only administratorYou are the only administrator. Everyone else can run campaigns, import contacts and handle replies, but cannot arm sending or manage accounts.
Add someone
Worklist
Everything waiting to be done on LinkedIn. Open the profile, do the one thing, mark it off. The extension does the same work automatically for campaigns set to run themselves.
Your account
Waiting
oldest firstCampaigns
A sequence pointed at a list of profiles, run by one teammate's account. Daily ceilings are capped below what LinkedIn tolerates, whatever you type in.
Start one
Sequences
The steps: view a profile, send a connection request, message once connected. Shared across the team, so a good sequence is written once.
Start one
Prospects
People, keyed by their profile URL. Any column beyond the known ones becomes a merge field, exactly as on the email side.
Import
a Profile URL column is requiredBrowse
Lists
Who a LinkedIn campaign works through.
Create one
Your lists
Inbox
Your own conversations, read and answered from here. The extension mirrors them across from your browser, and a reply you write is queued and sent from that same browser, as you. Nothing is sent from this server, and nobody else on the team can see this.
Nothing has been mirrored across yet. Once the extension is installed and switched on it keeps this in step with your LinkedIn by itself, every few minutes, with no asking. This button is only for right now.
Choose a conversation on the left.
Accounts
Each teammate connects their own LinkedIn from their own browser. Nobody shares a login, and work is only ever handed to the browser it belongs to.
The team
This browser
Looking for the extension...
checkingIf it is already installed in this browser it will answer in a moment, and pick up your key on its own.
Download it, put the folder somewhere permanent, and load it from your browser's extensions page. It takes about a minute, and there is still nothing to type into the extension afterwards.
- Unzip it somewhere it can stay. The browser reads the extension from that folder every time it starts, so it cannot go in Downloads and then be tidied away. Your user folder is a good home.
- Open
edge://extensionsorchrome://extensions. - Turn on Developer mode, at the bottom left in Edge and the top right in Chrome.
- Choose Load unpacked and pick the unzipped
ccc-network-extensionfolder.
Then come back to this page. The extension says hello, this console hands it your own key, and it connects itself.
Developer mode is the ordinary way to run an extension that did not come from a shop, and your browser will remind you it is on each time it starts. That reminder is expected. Leave developer mode switched on, because turning it off switches the extension off with it.
Other ways to install it
On Windows, this one line downloads the extension and puts the folder in its permanent home for you, so all that is left is the three clicks on the extensions page. It needs no administrator rights and it writes nothing but that folder. Run it again whenever you want the newest version.
It puts the folder at
%LOCALAPPDATA%\OMI Firm\CCC Network and prints the path to load.
Your personal key
The extension holds this key. It identifies you to this console, claims only your work, and reports back what it did. It never sees anyone else's. You should not need to touch it; it is here in case you ever do.
Inbox
Everything anybody has said back, on whichever channel they said it. A reply on LinkedIn and a reply by email are the same event, so they are the same row here, and answering one goes back out the way it came in.
Choose a conversation.
Pipeline
Where each conversation has got to. A reply stops the sequence automatically; this is the part where somebody actually does something about it.
Deliverability
What each sending domain publishes, checked from outside the way a receiving server checks it, and how each mailbox is actually performing. A check that cannot be made is reported as unknown, never as a pass.
Sending domains
SPF, DKIM, DMARC and MXMailboxes
the last 200 sends from eachGuard and warmup
Growth
Read a company's own site, turn it into one specific opening line, take a website form straight into a list, and hand somebody a report they cannot send from.
Read a company
Opening lines
stored on the contact as {{opener}}Website forms
Brand reports
read-only, no account neededBrands
Two businesses share this machine and must never share a send. A brand owns its mailboxes, its lists, its campaigns, its social accounts and its posts.
The brands
Add one
The voice is handed to the writing help, so an opener sounds like the brand rather than like a machine.
Queue
You do not pick a time for every post. You set the times you are willing to post on each weekday, once, and posts fall into the next empty slot. The gaps below are the point: they are what is missing from the plan.
Posting times
this account's own clockQueue actions
Calendar
The same queue laid out by month. This is the view that answers "is next week thin?", which a list never can. Click a day to write something for it.
Composer
Write once and send it everywhere, or change the words for one network. The counter shows the tightest limit of whatever is selected, because one number that is right beats four nobody reads.
A new post
How it will look
Bulk upload
text, image_url, tags, posting_timeOne row per post. Leave the time blank to put a post in the queue. A tag has to exist already, so a typo cannot invent one.
Ideas
Somewhere to put a half-thought that is not the queue. Drag one along as it firms up, and turn it into a draft when it is ready.
Feeds
the cheapest way to keep this board fullAnalytics
What happened after the post went out, this period against the one before it. Publishing without measurement is just typing.
Day by day
Post by post
most seen firstGoals
Engagement
Comments and mentions on our own posts, in one list. A reply is queued for the browser, the same as everything else: the server cannot post as the account and should not pretend it can.
Accounts
Each account belongs to one brand and is driven from a browser signed in as it. Connecting means the extension has said who it is, not that we hold a password.