Why is my LinkedIn account disconnected?

If your LinkedIn account dashboard shows 'Reconnect needed', 'Linking — finishing connection', or 'Linking — taking longer than expected', this guide explains what each badge means, why it happens, and how to fix it in under a minute. The platform always tells the truth about current state — the pill never lies about the row's actual health.

The short version

LinkedIn rotates the session tokens that authenticate your account roughly every 30 days, plus immediately on any suspicious-login signal (new device or IP, password change, 2FA reset, security challenge). When the token expires, our integration partner Unipile reports the account as needing fresh credentials — and we surface that to you as 'Reconnect needed'. A 1-hour orphan watcher also detects accounts that finished OAuth on Unipile's side but never linked back to our database (a rare race condition), so even if a row is stuck in 'Linking…', it self-heals within an hour.

What each status pill means

Why LinkedIn forces re-authentication (the real reason)

LinkedIn issues every authenticated session a short-lived token. That token is what proves to LinkedIn each action (sending an invite, fetching a profile, posting a comment) is coming from you, not a bot. LinkedIn rotates these tokens for security — the same way your bank logs you out periodically. When the token expires or is invalidated, Unipile reports the account's source status as 'CREDENTIALS', meaning the LinkedIn-side credential check failed and a fresh login is required. (See https://developer.unipile.com/docs/getting-started for technical detail.)

Common triggers, all initiated by LinkedIn — not by WarmySender:

Premium and Sales Navigator accounts get longer windows than free accounts, but every account eventually rotates.

The auto-relink guarantee (1-hour orphan watcher)

If an account ever gets stuck in 'Linking — finishing connection' for more than 5 minutes, the platform's orphan watcher (introduced 2026-04-30 alongside the Unipile-link integrity fixes) detects it and self-heals automatically. The watcher runs hourly and looks for accounts that finished the OAuth handshake on Unipile's side but never received the linking callback on our side (a rare network race). When it finds one, it links the row back to the live Unipile account, flips status to 'connected', writes an audit row, and resumes any paused campaigns.

In practice this means: even if you see 'Linking — taking longer than expected' right now, you do not need to do anything. Wait up to 60 minutes and the watcher will fix it. If it still hasn't relinked after an hour, then click Reconnect or contact support.

How to reconnect (4 steps, ~30 seconds)

1. Open WarmySender and click LinkedIn → Accounts in the sidebar (or click the link in the reconnect email).
2. Find the affected account showing the amber 'Reconnect needed' badge. Click the menu (⋮) on that row and choose 'Reconnect'.
3. You'll be routed to a hosted re-authentication page. Enter your LinkedIn email and password. If 2FA is enabled, enter the code. If LinkedIn shows a security challenge or CAPTCHA, complete it as you would any normal LinkedIn login. WarmySender never sees your password — Unipile handles the secure handshake with LinkedIn directly.
4. Return to WarmySender. The pill flips to green 'Connected · last activity moments ago' within seconds. Campaigns auto-resume within 5 minutes.

What happens after you reconnect

The self-heal sweeper runs every 5 minutes and automatically resumes any campaign paused with reason 'linkedin_account_disconnected' once the underlying account is back to 'connected'. You do not need to manually click Resume on each campaign. The platform also clears the failure-rate window so dead-account-era errors don't immediately re-pause anything. Account safety still wins on resume — sends respect your daily and weekly LinkedIn caps, sending window, ramp schedule, and active days. There is no burst catch-up of held-back invites, ever.

FAQ

Q: Why did my account disconnect even though it's in good standing?
A: LinkedIn rotates session tokens for security every ~30 days, regardless of account standing. Even healthy, paid Sales Navigator accounts that have never been restricted hit the rotation. Premium and Sales Navigator typically rotate less frequently than free accounts, but no account is exempt.

Q: My pill shows 'Linking — taking longer than expected'. Did something break?
A: Probably not. The OAuth callback hasn't fully landed yet on our side. The 1-hour orphan watcher self-heals these. If it's been more than an hour, click Reconnect from the account menu or contact support.

Q: Why does the pill show 'First connected on 30/04/2026' below the status?
A: That's the historical first-connect date, kept as context. The live pill above it shows the row's CURRENT state (connected / linking / reconnect needed). We deliberately split these two so the pill never lies about current health while the historical date stays visible for users who want it.

Q: Will I lose my pending invites or data when I reconnect?
A: No. Pending invites stay on LinkedIn — they're independent of WarmySender's connection state. Your prospects, audiences, conversations, sequences, sent metrics, and analytics are stored on our side and untouched by the reconnect. When campaigns resume, every prospect picks up at the exact step they were on.

Q: How long do I have to reconnect?
A: Indefinitely. There's no hard deadline. But the longer you wait, the more pent-up backlog builds. After reconnecting, the platform respects per-account daily and weekly caps, so a long disconnect won't be 'caught up' in a burst — throughput rolls back to normal over the next 1-2 weeks.

Q: Is reconnecting safe? Will it trigger a flag on my LinkedIn account?
A: Yes, it's safe. Reconnect uses LinkedIn's official authentication flow — the same secure handshake you use when you log in from a browser. No password is stored on our side, no 2FA is bypassed, no stale tokens are reused. LinkedIn treats it like any other normal login.

Q: Can I leave the account disconnected and reconnect later?
A: Yes. Leaving an account disconnected is harmless — campaigns just stay paused at their current step. There's no penalty, no data loss, no LinkedIn-side flag for taking your time.

Q: I just reconnected but my campaigns are still paused. What now?
A: The auto-resume sweeper runs every 5 minutes — give it one tick. If campaigns are still paused 10 minutes after reconnect, check that the LinkedIn account on LinkedIn → Accounts shows green 'Connected'. If green but campaigns still paused after 15 minutes, the campaigns may have an additional pause reason (manual pause, stuck-loop, subscription) — open the campaign and check the pause hint, then click Resume. If Resume immediately re-pauses, email support.

Q: I see two LinkedIn cards for the same person — why?
A: This is a duplicate-OAuth pattern — almost always caused by clicking 'Reconnect' twice in quick succession before the first attempt finished its handshake. Each click previously issued a fresh OAuth session, so two live sessions ended up linked to the same LinkedIn identity (one with stale credentials, one with fresh). As of 2026-04-30 (Phase 5b follow-up F3), the Reconnect route caches the in-flight URL for 90 seconds so a second click within window returns the SAME reconnect URL — duplicates can no longer be created this way going forward. If you have an existing duplicate from before the fix, click the menu (⋮) on the older card and choose 'Disconnect'. Your campaigns are linked to the active card, so removing the older one is safe. If you're unsure which is which, email hello@warmysender.com with both account IDs and we'll confirm before you delete.

Q: Why does my account sometimes show 'Linking — finishing connection' for a long time?
A: When you complete LinkedIn OAuth, the handshake has to land on three sides — LinkedIn → Unipile → WarmySender. In the rare case our final 'completeAccountConnection' callback throws or arrives out-of-order (a network race), Unipile holds the live session but our DB row stays at status='connecting' for longer than the typical sub-60-second window. The pill correctly shows 'Linking — finishing connection' (blue, spinner) for the first 5 minutes and 'Linking — taking longer than expected' (amber) after that. The hourly orphan watcher cron (introduced 2026-04-30) detects accounts where Unipile has the session but our row never linked, and self-heals by linking the row + flipping status='connected' + writing a paired audit row through the canonical state-flip helper. So even in the worst case, the pill clears within the hour without any action from you. If it persists past 60 minutes, click 'Reconnect' from the account menu — the F3 idempotency window (90s) ensures a single retry doesn't create a duplicate session.

Q: Will the system ever delete my Unipile account without asking?
A: No. Account safety always wins on the destructive direction. Every Unipile DELETE call site in the platform passes through a 6-layer defense: (1) env-var kill switch (default OFF for the reconciler — see LL#225), (2) sanity threshold abort (>5 absolute or >25% of fleet flips → abort + admin alert — LL#225), (3) per-account 3-poll 404 confirmation with 60s spacing — all three GET calls must return 404 before this delete fires (LL#239 Gate 5), (4) hard cap of 3 deletes per 24h measured against `linkedin_account_audit_log` (LL#239 Gate 6), (5) DB feature flag with 4h TTL on top of the env switch (LL#239 Gate 4), (6) audit-pairing trigger that rejects any status flip without a same-transaction audit row (LL#246). On top of all that, subscription-end cleanup is now non-destructive-by-default with a 7-day grace period (LL#230) and the only DELETEs that have actually fired in 2026 were operator-triggered, hardcoded, single-shot scripts (today: 2 inert duplicate sessions for Talha-old + Hafiz-old, after Phase 1 manual relinks were already complete — see PRD-2026-04-30). You will never see a silent fleet-wide cleanup. If a delete ever runs, it's logged with `[SENSITIVE-OP]` prefix and an `linkedin_admin_alerts` row.

Related guides: 'Why did my LinkedIn account disconnect — and how to reconnect' (longer deep-dive on the routine 30-day rotation, with auto-resume detail) at /documentation/linkedin-disconnect-and-reconnect; 'LinkedIn Campaign Documentation' (how schedule_days + sending windows + ramp interact, why acceptance can lag 1-3 days) at /documentation/linkedin; 'Why does my LinkedIn account show as disconnected?' (full Unipile state lifecycle: OK / CREDENTIALS / IN_APP_VALIDATION) at /documentation/linkedin-account-disconnected.

Related guides in LinkedIn

Back to all documentation | Contact support