What happens if a campaign pauses unexpectedly
If you log in and find a campaign in a paused state you didn't trigger yourself, here's how WarmySender's auto-pause works, why it does what it does, and what to expect during recovery.
When WarmySender auto-pauses a campaign
Auto-pause is a safety mechanism, not a fault state. The platform pauses a campaign when continuing to send would put your LinkedIn account at risk or when the campaign cannot make progress. Specifically:
- Your LinkedIn account disconnected (Unipile detected that LinkedIn rotated your session token, your password changed, you triggered a 2FA prompt, or your IP region changed). LinkedIn rotates session tokens on a roughly 30-day rhythm; this is normal.
- A high-failure-rate window was detected. If invites or messages keep getting rejected, we pause to investigate before continuing — sustained failure rates are a strong ban-risk signal on LinkedIn.
- The account was restricted by LinkedIn (warning, jail, or partial restriction). Continuing to send during a restriction would likely escalate it.
- The subscription on the workspace lapsed. We hold campaign state but don't send.
What the dashboard shows
Every paused campaign has a paused_reason chip on the campaign detail page. Hover over it for the full explanation. If you ever see a paused campaign without a reason chip, that's a bug — we ship a CHECK constraint on the database that prevents writes without a reason, but if you encounter one, please email support and we'll investigate.
Reasons you might see (and what each means):
- linkedin_account_disconnected — Your LinkedIn account was disconnected. Click Reconnect on the LinkedIn Accounts page; the campaign will auto-resume within ~5 minutes.
- linkedin_high_failure_rate — Too many sends failed in a recent window. We pause to protect the account; once the underlying cause is fixed (e.g., a template typo, a Sales Nav credit refill, an Open Profile mismatch), click Resume.
- account_restricted — LinkedIn restricted the account. DO NOT immediately resume; wait until the LinkedIn restriction lifts and contact support before resuming so we can verify the account is healthy.
- subscription_canceled — The workspace subscription lapsed. Re-subscribe and the campaign will auto-resume.
- manual — You (or another workspace member) clicked Pause. Resume when ready.
What happens to your prospects during a pause
Paused campaigns hold all per-prospect state in place. Prospects that were scheduled for tomorrow will still be scheduled for tomorrow when you resume; the scheduler doesn't burst-send a backlog the moment Resume is clicked. Specifically:
- Prospects with a future next-action timestamp that fell during the pause window get re-clamped forward to the next valid sending window using the campaign's schedule_days, sending_window, timezone, and randomize_within_window settings.
- Prospects already accepted are not re-invited.
- Pending invites are tracked on Unipile's side and detected automatically when the recipient accepts.
Multichannel campaigns and email sends
If you have a multichannel campaign (email + LinkedIn) and your LinkedIn account disconnects, the campaign now correctly continues sending email steps for prospects whose current step is an email step. Earlier versions of the platform paused all multichannel campaigns when any linked LinkedIn account disconnected — that's now gated by an EXISTS check, so if no active step in your campaign uses LinkedIn, the disconnect won't pause it.
Manual recovery
If a campaign is paused and the underlying issue is resolved, click Resume on the campaign detail page. Resume re-evaluates through the canonical pause helper, which respects all safety gates (account health, daily/weekly cap, ramp schedule, subscription status). If Resume fails, the API returns a structured error with the specific reason, surfaced as an inline Alert on the page.
Why we don't auto-resume after a manual pause
If you paused a campaign manually, we don't know whether you wanted to pause it for an hour or for a quarter. Manual pause stays paused until you click Resume. The auto-resume sweepers only re-resume reasons we explicitly know are recoverable (linkedin_account_disconnected once the account reconnects, linkedin_high_failure_rate once the failure rate normalizes).