LinkedIn Session Expired
LinkedIn write tools (send_linkedin_message, send_linkedin_invitation) and some read tools that hit gated content rely on a browser session bound to your org via connect_linkedin. Sessions expire periodically — when they do, write calls return an error indicating reauthentication is needed.
Symptoms
send_linkedin_invitation/send_linkedin_messagereturns an error mentioningsession_expired,not_authenticated, orlogin_required.list_linkedin_conversationsreturns an empty list when you expected results.- Read tools that don’t normally need a session (e.g.
get_linkedin_company_url) keep working — those use a separate non-session backend.
Recovery
-
Check session status.
If the response shows the account as
expiredor doesn’t list it, the session is gone. -
Reconnect.
The response includes a one-time login URL. Open it, sign in to LinkedIn, and the session is rebound.
-
Retry the original call.
The session is bound to your org, so any subsequent write tool — same workflow, same agent, anywhere — will pick it up automatically.
Avoiding expiration
LinkedIn rotates sessions aggressively for accounts that look like automation. To keep yours stable:
- Don’t blast. Spread invitations across the day; LinkedIn flags burst patterns.
- Cap concurrency. Keep parallel write calls below 3.
- Vary outreach. Don’t send the same exact message body to many recipients in quick succession — LinkedIn’s spam filter triggers on identical templates.
If your session expires more than once a week, slow your write cadence first before assuming a bug.
Read tools that don’t need a session
Most read tools work without a logged-in session — they hit the underlying provider through a separate path:
So in practice, only the write tools and the two personal-data read tools fail when the session is gone.