ClawLink

How to connect LinkedIn to OpenClaw

Connect LinkedIn to OpenClaw with ClawLink in one click — 10 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.

Get started for free
OpenClaw
OpenClaw
ClawLink
ClawLink
LinkedIn
LinkedIn
LinkedInOAUTH2MCP

Post updates, manage pages, and grow your network. Once connected, OpenClaw can read and act on LinkedIn from chat — pairing, token refresh, and tool wiring handled for you.

10 tools

The usual route to LinkedIn access for OpenClaw is an MCP server you configure and keep running, plus your own OAuth app or API keys. ClawLink gives OpenClaw a more practical LinkedIn setup: install one ClawHub skill, connect LinkedIn in the browser, and OpenClaw can call real LinkedIn actions from any chat surface with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into OpenClaw, or open the LinkedIn skill on ClawHub.

Prompt for OpenClaw
Before installing anything, inspect the ClawHub skill metadata and setup requirements.
If the skill asks you to install a third-party package or CLI, verify its source, maintainer, and package contents before running the install command.
Install the skill "LinkedIn" (hith3sh/linkedin-social) from ClawHub only after those checks pass.
Skill page: https://clawhub.ai/hith3sh/linkedin-social
Keep the work scoped to this skill only.
After install, help me finish setup from verified skill metadata.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Setup

It takes three steps to connect OpenClaw to LinkedIn.

  1. 1

    Install the plugin

    Paste the setup prompt into OpenClaw, or install from the terminal and ask OpenClaw to pair:

    openclaw plugins install clawhub:clawlink-plugin
  2. 2

    Connect LinkedIn

    One-click OAuth in the dashboard.

  3. 3

    Use it from chat

    Ask OpenClaw: "What can you do with LinkedIn?"

Install by command

The setup prompt above does all of this in one paste. By hand, it is one install command plus a browser approval:

openclaw plugins install clawhub:clawlink-plugin

Then ask OpenClaw to set up ClawLink. It starts browser pairing and prints an approval link — open it, approve the device, return to the chat, and say done. Finally, connect LinkedIn in the ClawLink dashboard — a one-click OAuth approval, no API keys.

Verify the connection by asking OpenClaw:

Draft a LinkedIn post about <topic> in my voice, around 120 words, no hashtags. Show it to me first. Once I say go, publish it with linkedin_create_linked_in_post.

Using a different agent?

The OpenClaw plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once LinkedIn is connected in the dashboard, that agent calls the same 10 LinkedIn tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

LinkedIn MCP for OpenClaw

Looking for a LinkedIn MCP server for OpenClaw? ClawLink connects LinkedIn to OpenClaw and exposes 10 LinkedIn tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using Hermes instead? The Hermes LinkedIn integration works the same way.

Getting LinkedIn into an agent normally means becoming a LinkedIn developer: create an app, associate it with a company page, request access to the products that carry the posting permissions, wait for approval, then implement the OAuth exchange yourself. ClawLink connects through LinkedIn's OAuth screen with an app that is already approved, so you sign in, approve the permissions LinkedIn names, and OpenClaw can call the 10 LinkedIn tools below. Nothing is scraped and no password is handled — these are LinkedIn's official API endpoints, which is the difference between an integration that keeps working and a browser automation that breaks when the page markup changes.

What the OpenClaw LinkedIn integration can do

10 LinkedIn tools are ready for OpenClaw once the account is connected. The 8 below are the ones people reach for most; your agent can call all 10.

8 of 10 LinkedIn tools for OpenClaw

ToolWhat it does
Create comment on post linkedin_create_comment_on_postComment on a LinkedIn post
Create linked in post linkedin_create_linked_in_postPublish a post on LinkedIn
Get ad targeting facets linkedin_get_ad_targeting_facetsGet LinkedIn ad targeting facets
Get images linkedin_get_imagesGet images from a LinkedIn post
Get my info linkedin_get_my_infoGet the authenticated LinkedIn member profile
Search ad targeting entities linkedin_search_ad_targeting_entitiesSearch LinkedIn ad targeting entities
Get image linkedin_get_imageRetrieve details of a LinkedIn image using its URN
Create article or URL share linkedin_create_article_or_url_shareCreate an article or URL share on LinkedIn using the UGC Posts API

Try it: find the LinkedIn tool you need

Browse the 8 LinkedIn tools

Click any tool to see exactly what OpenClaw can do and copy a ready-to-use prompt.

Example prompts

Draft a LinkedIn post about <topic> in my voice, around 120 words, no hashtags. Show it to me first. Once I say go, publish it with linkedin_create_linked_in_post.

Use linkedin_create_article_or_url_share to share <url> with a two-sentence take on why it matters to <audience>. Show me the commentary before you post it.

Use linkedin_create_comment_on_post to reply to <post url> with a short, substantive comment building on their point about <topic>. Draft it for approval first.

Call linkedin_get_my_info and tell me which LinkedIn account this connection is acting as, so I can confirm it is the right one before we publish anything.

What the LinkedIn tools cover

A deliberately small toolset, because LinkedIn's API is small. Knowing the edges saves a lot of failed prompts.

  • Publishing is linkedin_create_linked_in_post; link shares are linkedin_create_article_or_url_share. They are separate calls with different payloads, so asking for "a post with a link" may resolve to either — name the one you want if the formatting matters.
  • linkedin_get_my_info is the identity check. Run it first when anything looks wrong; most confusion on this provider is about which account or which page is being acted on.
  • Images are a two-step flow. linkedin_get_images and linkedin_get_image work with post media, which means an image post is not a single call and an agent that tries to attach a local file in one shot will fail.
  • Organization posting depends on your page role, not on the tool. No tool can grant it. If the connected account is not an admin of that company page, the call fails regardless of how the prompt is worded.
  • The two ad-targeting tools are a different job. linkedin_get_ad_targeting_facets and linkedin_search_ad_targeting_entities support campaign work and have nothing to do with publishing, so they will not help with a posting failure.

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want LinkedIn working from chat.

ManualClawLink
Connection flowRegister a LinkedIn app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift.Users connect LinkedIn through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for LinkedIn.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right LinkedIn actions to the runtime in a format your agent can reliably use.10 tools for LinkedIn are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes LinkedIn to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for OpenClaw users instead. You install the plugin once, connect LinkedIn in the browser, and the 10 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

OpenClaw installed the LinkedIn skill but can't call the tools

The ClawHub skill teaches OpenClaw about LinkedIn, but the calls run through the ClawLink plugin and your connected account. Make sure LinkedIn is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.

Connection succeeds but no tools appear

Reconnect LinkedIn from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling LinkedIn tools

LinkedIn tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every LinkedIn call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

LinkedIn returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

LinkedIn returns 403 or a permissions error when the agent tries to post

LinkedIn separates permissions by what you are posting as, so the first question is whether the failing call is a member post or an organization one. A member post needs the member posting permission on the grant; an organization post needs the organization posting permission and an admin role for the connected account on that specific page. A partial approval on the consent screen is the other common cause — LinkedIn lists what it is granting, and a connection that was approved without the write permission will read fine and fail on every publish. Reconnect from the dashboard and accept the full set. If personal posts succeed and only the company page fails, stop looking at the connection and check your role on the page in LinkedIn itself.

Ask the agent to diagnose it:

Call linkedin_get_my_info and tell me exactly which LinkedIn account is connected. Then try a draft member post and tell me whether it succeeds, but do not publish anything without asking me first.
LinkedIn posts stopped working after previously being fine

LinkedIn grants are time-limited and are also invalidated when you change your password or revoke third-party access, so a connection that worked last month and fails today has usually simply expired rather than broken. Reconnecting from the ClawLink dashboard reissues it. Before assuming that, check that the failure is on every call rather than one: if reads still work and only publishing fails, the grant is alive and you are looking at a permissions problem instead.

The agent posted to my profile when I wanted the company page

Say which one in the prompt, because the default is you. The tools take the author explicitly, so an instruction that just says "post this on LinkedIn" resolves to a member post under your own name. Naming the company page in the request, and confirming the agent read your admin role back before it published, is the reliable way to control it. This is worth checking on the first post rather than the fifth, since a member post cannot be converted to an organization post after the fact — it has to be deleted and republished.

OAuth finished in the browser but the account is still missing

Try reconnecting LinkedIn and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

FAQ

Is there a OpenClaw LinkedIn integration?

Yes. ClawLink is the fastest way to connect OpenClaw to LinkedIn: link your LinkedIn account once in the browser and OpenClaw can call the LinkedIn API through 10 ready-made tools — no custom code or token handling.

How do I add LinkedIn to OpenClaw with ClawLink?

Paste the setup prompt from this page into OpenClaw. It installs the ClawLink LinkedIn skill from ClawHub, then you click Connect in the dashboard to authorize LinkedIn. OpenClaw calls the tools from the next message — no config files or API keys to manage.

How long does it take to connect LinkedIn to OpenClaw?

About two minutes. Sign in, click Connect next to LinkedIn in the dashboard, authenticate, and OpenClaw can use it from the next chat message.

Why use ClawLink instead of wiring LinkedIn up myself?

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for OpenClaw. That is fine if you want to build and maintain the integration yourself. Most teams just want LinkedIn working from chat.

Do I need my own LinkedIn developer app?

No. That requirement belongs to the do-it-yourself route, where you register an app, request the products that grant posting permissions, and wait to be approved before you can post anything at all. ClawLink's connection runs through an already-approved app, so the only screen you see is LinkedIn's consent screen listing what is being granted. You keep your own account's reach: the agent can do what you can do, and LinkedIn's own rules about what an account may post still apply on every call.

Can the agent post to a company page as well as my profile?

Posting as yourself and posting as an organization are different permissions on LinkedIn, and the second one also depends on your role. Member posts go out under your own name. To publish on a company page, the connected account must hold an admin role on that page, and the connection must carry the organization posting permission — if either is missing the call fails even though personal posts work fine. The quickest way to tell them apart is to have the agent post to your profile first; if that succeeds and the page post does not, the problem is the page role or the organization permission, not the connection.

Is it safe to connect LinkedIn to an AI agent?

The connection uses LinkedIn's OAuth flow against LinkedIn's official API, so you approve a named set of permissions on LinkedIn's own screen, no password is ever entered anywhere but LinkedIn, and you can revoke access from the ClawLink dashboard at any time. That is a meaningfully different risk profile from the browser-automation approach many guides recommend, which drives a logged-in session, is against LinkedIn's terms, and can get an account restricted. The judgement call left to you is publishing: posts and comments are public and immediate, so ask the agent to draft and wait for approval rather than letting it post directly.

Can the agent read my feed or send connection requests?

No. LinkedIn's API is deliberately narrow, and this toolset reflects that: it can publish posts, share an article or URL, comment on a post, read your own profile information, and work with images for post media. There is no feed reading, no messaging, no connection management, and no profile scraping of other people. If a guide promises an agent that browses LinkedIn and messages prospects, it is describing browser automation rather than the API, with the account risk that carries.

OpenClaw installed the LinkedIn skill but can't call the tools

The ClawHub skill teaches OpenClaw about LinkedIn, but the calls run through the ClawLink plugin and your connected account. Make sure LinkedIn is connected in the dashboard, then start a fresh chat so OpenClaw reloads the tool catalog. If OpenClaw runs as a persistent gateway, restart it so the new tools register.