Can an AI agent send LinkedIn messages and connection requests?
Short answer. Yes, through AgentWeb. As of Oct 20, 2026, AgentWeb's LinkedIn map (version 0.7.1) gives your agent 47 typed actions on the user's own LinkedIn account. 40 of them fetch data (profiles, work history, people at a company, inbox threads, posts and reactions) and 7 act (send a message, start a conversation, send a connection request, send an InMail, publish a post, accept or decline invitations). The user signs in once through a hosted login, the agent never sees the password, and every completed action returns a structured result. Each completed action costs $0.05, and failed actions are refunded.
Map facts as of Oct 20, 2026: linkedin.com · map version 0.7.1 · 47 actions · runs on the user's account (connect provider linkedin) · complete map (not partial) · category: Jobs
Act: actions that change something on LinkedIn (7)
These are real and immediate. Your agent should get the user's approval before it calls them.
| Action | What it does |
|---|---|
send_message | Sends a message into an existing conversation thread. The recipient gets it immediately, and it cannot be unsent through this action. |
start_conversation | Starts a new thread with someone and sends the first message. Use it when no thread with that person exists yet. |
send_connection_request | Sends a connection invitation using the recipient's profile URN. No note is attached, and it counts against the member's weekly invite quota. |
send_inmail | Sends an InMail (a message with a subject line) to someone who is not a 1st-degree connection. It is free when the recipient has an Open Profile and otherwise spends an InMail credit. |
create_post | Publishes a text post to the member's feed. It is public and visible to anyone immediately, and it returns the new post's URN. |
approve_invitation | Accepts a pending connection invitation. The person becomes a 1st-degree connection and is notified. |
reject_invitation | Declines a pending connection invitation. The sender is not notified. |
Fetch: actions that read LinkedIn data (40)
You and your inbox
| Action | What it returns |
|---|---|
get_me | The signed-in member: their profile URN, name and public ID |
list_conversations | The latest message threads in the inbox, with unread counts |
list_conversations_page, list_conversations_next | The inbox as a paged list, so the agent can go further back |
search_conversations, search_conversations_next | Threads found by a person's name or a keyword, across inbox, spam and archive |
get_conversation_messages | The most recent messages in one thread |
get_earlier_messages | Older messages in a thread, before a point in time |
list_mailboxes | Company Page mailboxes the member administers |
list_invitations | Pending connection invitations the member has received |
get_inmail_credits | The member's remaining InMail credits |
verify_open_profile | Whether the member can message someone without spending an InMail credit. It only reads, though the API tags it write. |
list_my_followers, list_my_following | The member's own followers and the people they follow |
People and profiles
| Action | What it returns |
|---|---|
search_people | Full people search results by keyword: name, headline, location, profile URL |
search_companies_and_people | Fast typeahead suggestions for people and companies |
get_profile | Turns a /in/ vanity name into the member's profile ID, name and headline |
get_profile_experience | Work history, one row per position |
get_profile_education | Education entries |
get_profile_skills | Listed skills |
get_profile_network | Follower and connection counts in one call |
get_follower_count | The member's total follower count |
list_followers | People who follow a given member |
list_shared_connections | Your mutual connections with another member |
list_profile_connections | A member's connections, as far as LinkedIn shows them |
list_profile_following | The people, companies, groups or schools a member follows |
list_profile_recommendations | Recommendations a member has received or given |
Posts and activity
| Action | What it returns |
|---|---|
list_profile_posts, list_profile_posts_next | A member's posts with engagement counts |
list_profile_comments, list_profile_comments_next | Comments a member has left |
list_profile_reactions, list_profile_reactions_next | Posts a member has reacted to |
list_post_reactions | Who reacted to a post, and how |
list_post_comments | Comments on a post and who wrote them |
Companies and jobs
| Action | What it returns |
|---|---|
search_companies | Companies by name or keyword |
get_company | A company page by its universal name, plus related organisations |
list_people_at_company | People who work at a company, with connection degree |
search_people_at_company | People at a company, filtered by keyword |
search_jobs_at_company | Open job postings at a company |
Runs on the user's own LinkedIn account
The user connects LinkedIn once through AgentWeb's hosted sign-in. The agent starts it with agentweb_start_connection and checks it with agentweb_poll_connection. Credentials are vaulted per account and never exposed to the agent. Actions run as that user, within LinkedIn's own limits such as the weekly invite quota and InMail credits. Pace outreach the way a person would.
Example call
REST, using the example from AgentWeb's own docs:
curl -s https://mcp.agentweb.us/api/execute \
-H "Authorization: Bearer aw_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: get-company-anthropic-1" \
-d '{"domain": "linkedin.com", "action": "get_company",
"params": {"universal_name": "anthropicresearch"}}'
The response returns ok, result, credits_charged, balance_remaining and support_id. Over MCP, add https://mcp.agentweb.us/mcp to Claude, Cursor, Codex or ChatGPT and call list_actions, then execute, with the same domain, action and params.
What this map does not cover yet
send_connection_requesttakes no note, so connection requests go out without a personal message.create_postpublishes text only. The action list has no image or document posts, comments or reactions.- There is no action to withdraw a sent invitation.
- Need one of these? Request it from the dashboard and we'll map it.
How AgentWeb compares on LinkedIn
- AgentWeb: the execution layer on the user's own account, with 47 actions as of Oct 20, 2026.
- Context.dev: its People Enrich endpoint accepts a LinkedIn profile URL as a clue and returns enrichment, which is a read. Its API reference lists no endpoint to message, connect, InMail or post. Full comparison
Frequently asked questions
Does AgentWeb need the user's LinkedIn password?
No. The user signs in through AgentWeb's hosted login, and credentials are vaulted per account and never exposed to the agent.
Can an AI agent send LinkedIn connection requests?
Yes. send_connection_request sends an invitation from the user's own account using the recipient's profile URN. It is real and immediate and counts against the member's weekly invite quota. As of Oct 20, 2026, it attaches no note.
Can it send InMail?
Yes. send_inmail sends a message with a subject line to someone outside the user's 1st-degree network. Check verify_open_profile first: if the recipient has an Open Profile, it's free; otherwise it spends one of the user's InMail credits (see get_inmail_credits).
Can my agent read a LinkedIn profile on demand?
Yes. get_profile resolves a /in/ name, and get_profile_experience, get_profile_education, get_profile_skills and list_profile_posts return the details, all from the user's signed-in session.
How much does it cost?
$0.05 per completed action, from $25 credit blocks that never expire. Failed actions are refunded.
Which AI tools can use it?
Any MCP client, including Claude, Claude Code, Cursor, Codex and ChatGPT, or plain REST with an aw_ API key.
Related
- Send a LinkedIn message, start a conversation, send connection requests, send InMail, post, look up a profile, find the people at a company
- Guide: How to let an AI agent send LinkedIn messages and connection requests safely
- Guide: How to let an AI agent look up a LinkedIn profile before it reaches out
- Best way to let an AI agent send LinkedIn messages (2026)
- LinkedIn API alternatives for AI agents
- AgentWeb for iMessage agents
- Every supported site: /sites/all
- Pricing: /pricing
Data as of Oct 20, 2026, 16:31 London time, map version 0.7.1. Source: https://mcp.agentweb.us/api/sites and https://mcp.agentweb.us/maps/library/summary. Action descriptions are summarized from the API.
More: Sites AgentWeb can act on · All guides · Glossary · Install AgentWeb