Build a sequence across email, LinkedIn and WhatsApp on one timeline — then let the launch-readiness panel block the send when a variable is missing, the opener would render blank, or every sender sits on one domain.
An email, a wait, a LinkedIn connection request, a LinkedIn message and a WhatsApp message are all just steps on the same timeline, each with its own delay. You are not maintaining a separate LinkedIn cadence that has to be mentally reconciled with an email cadence — the day-by-day view shows what a prospect actually experiences.
The expensive campaign failures are all knowable in advance: a merge variable that does not exist in your data, an AI opener with no brief behind it, no leads actually queued, a workspace with no postal address, every sender sitting on one domain. Warmerly checks all of it and shows you what passes, what warns and what blocks — with a link straight to the tab that fixes it.
Sent, opened, replied, bounced, failed — with the lead-side view beside it: queued, in progress, completed, replied, bounced, unsubscribed. Two views of the same campaign, one from the message's perspective and one from the person's, because 'reply rate' alone hides whether the problem is your copy or the fact that half your list never got a first send.
Most sequence builders are a form with a send button. The interesting engineering is not in composing steps — it is in everything that stops a campaign from burning two thousand prospects and a domain's reputation on a mistake that was visible before the first message went out.
Before a campaign can send, it is checked against a fixed list. Some checks block the launch, some only warn, and the difference is whether proceeding would waste your list or merely be worth reconsidering.
Each failing check links to the tab that resolves it. A blocking check cannot be dismissed. That is occasionally annoying and it is the entire point — the alternative is a warning banner that everyone learns to scroll past.
Nothing looks worse than 'Hi ,' arriving at two thousand inboxes. The check compares every variable in your copy against the fields your audience actually has, before the first send rather than after the first reply pointing it out.
This one is a warning rather than a block, and it is the most useful thing on the panel. It counts how many of the campaign's sending mailboxes sit on the same domain and tells you plainly what that means: if that domain's reputation drops, all of those senders stop delivering at the same moment.
It is a warning because there are legitimate reasons to run that way, particularly early on. It is on the panel because almost nobody thinks about it while adding the eighth mailbox to a domain, and everybody thinks about it during the week the domain goes bad.
A campaign sends inside a window you define — working hours in the timezone that matters, with a daily cap. Between messages there is a wait, so a mailbox is not dispatching a hundred sends in ninety seconds, which is a pattern receivers notice.
The daily cap is a ceiling, not a target. The mailbox's own allowance, derived from domain age and current health, is applied underneath it, and the lower of the two wins. Setting a campaign to 375 a day across mailboxes that can safely carry 40 each does not produce 375 sends; it produces the safe number and a campaign that takes longer.
For campaigns on newer infrastructure there is an opt-in ramp that raises each mailbox's campaign volume across its first sending days rather than starting at the cap. It counts sending days, not calendar days, so a campaign paused for a week resumes where it left off instead of pretending it has been building reputation while idle.
It is opt-in because it slows a launch down, and it is worth switching on for anything sending from domains under a couple of months old.
The campaign view separates bounced from failed. A bounce is the receiving side rejecting the address; a failure is a send that never left — an authentication problem, a disconnected mailbox, a mailbox that hit its limit. Merging the two into one number is common and it hides the single most actionable category, because failures are almost always your infrastructure and almost always fixable today.
There is also a hard rule about the AI opener. If a campaign's copy depends on a generated opener and the generation fails, the send is refused rather than proceeding with a blank line. This was learned the expensive way: an unfunded AI account once produced empty openers and thirty-five headless emails went out before anyone noticed. The path now fails closed.
Sending volume is not metered. Plans are sold on how many mailboxes you connect and how many leads a campaign can hold, because those are the things that correspond to real cost and real risk. A pricing model that charges per email quietly encourages sending more email, which is the opposite of what a deliverability product should be optimising for.
Yes. Email, wait, LinkedIn connection, LinkedIn message and WhatsApp are all step types on the same timeline, each with its own delay, so the cadence a prospect experiences is the one you designed.
The launch-readiness panel names the blocking check and links to the tab that fixes it. The most common causes are no leads queued, a merge variable that does not exist in the audience, and no workspace postal address on file.
As many as your mailboxes can safely carry. You set a campaign cap, and each mailbox's own allowance — derived from domain age and current health — is applied underneath it. The lower number wins.
No. Sending is unmetered. Plans are priced on connected mailboxes and leads per campaign.
Bounced means the receiving server rejected the message. Failed means the send never left — a disconnected mailbox, an authentication error, or a limit reached. Failures are usually your infrastructure and usually fixable immediately, which is why they are shown separately.
Ten checks run before the first message leaves, and the send is blocked rather than wasted when one of them fails.