Back to skills
extension
Category: OtherNo API key required

LinkedIn

Manage LinkedIn presence via the LinkedIn API. Create posts and articles, manage comments, handle media uploads, search ad targeting entities, and retrieve u...

personAuthor: hith3shhubclawhub

LinkedIn

LinkedIn

Manage a LinkedIn presence for professional content and social interactions. Create posts and articles, manage comments and engagement, handle media, and search ad targeting options.

This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure LinkedIn API access yourself.

Setup in 3 Steps

| Step 1: Install | Step 2: Pair Account | Step 3: Connect LinkedIn | |:---:|:---:|:---:| | Install | Pair | App-specific connection GIF coming soon |

How It Works

┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐
│   OpenClaw      │────▶│   ClawLink   │────▶│ LinkedIn API     │
│   (User Chat)   │     │   (OAuth)    │     │   (v2)          │
└─────────────────┘     └──────────────┘     └──────────────────┘
         │                       │                       │
         │  1. Install Plugin  │                       │
         │  2. Pair Device   │                       │
         │  3. Connect LinkedIn│                      │
         │                   │  4. Secure Token      │
         │                   │  5. Proxy Requests    │
         │                   │                       │
         ▼                   ▼                       ▼
   ┌──────────┐      ┌──────────┐           ┌──────────┐
   │  SKILL   │      │ Dashboard│           │ LinkedIn │
   │  File    │      │ Auth     │           │  Social  │
   └──────────┘      └──────────┘           └──────────┘

Install

Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.

openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart

Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for LinkedIn again."

Quick Start

# Get your LinkedIn profile info
clawlink_call_tool --tool "linkedin_get_my_info" --params '{}'

# Create a post
clawlink_call_tool --tool "linkedin_create_linked_in_post" --params '{"text": "Hello from OpenClaw!"}'

# Get images
clawlink_call_tool --tool "linkedin_get_images" --params '{}'

Authentication

All LinkedIn tool calls are authenticated automatically by ClawLink using the user's connected LinkedIn account.

No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every LinkedIn API request on the user's behalf.

Getting Connected

  1. Install the ClawLink plugin (see Install above).
  2. Pair the plugin with clawlink_begin_pairing if it is not configured yet.
  3. Open https://claw-link.dev/dashboard?add=linkedin and connect LinkedIn (requires a LinkedIn account).
  4. Call clawlink_list_integrations to verify the connection is active.

Connection Management

List Connections

clawlink_list_integrations

Response: Returns all connected integrations. Look for linkedin in the list.

Verify Connection

clawlink_list_tools --integration linkedin

Response: Returns the live tool catalog for LinkedIn.

Reconnect

If LinkedIn tools are missing or the connection shows an error:

  1. Direct the user to https://claw-link.dev/dashboard?add=linkedin
  2. After they confirm, call clawlink_list_integrations to verify
  3. Then call clawlink_list_tools --integration linkedin

Security & Permissions

  • Access is scoped to the connected LinkedIn account only.
  • All write operations require explicit user confirmation. Before executing any post, comment, or delete action, confirm the target resource and intended effect with the user.
  • Destructive actions (delete post) are marked as high-impact and must be confirmed.
  • Posting as an organization requires admin role (ADMINISTRATOR, DIRECT_SPONSORED_CONTENT_POSTER, or CONTENT_ADMIN).
  • Ad targeting requires LinkedIn Marketing API access.

Tool Reference

Profile

| Tool | Description | Mode | |------|-------------|------| | linkedin_get_my_info | Get authenticated user's profile (name, headline, picture, details) | Read |

Posts & Content

| Tool | Description | Mode | |------|-------------|------| | linkedin_create_linked_in_post | Create a new post on LinkedIn (personal or organization) | Write | | linkedin_create_article_or_url_share | Share a link with optional commentary as an article | Write | | linkedin_delete_linked_in_post | Delete a specific post by share_id | Write | | linkedin_delete_post | Delete a post using Posts API (supports ugcPost and share URN formats) | Write |

Comments

| Tool | Description | Mode | |------|-------------|------| | linkedin_create_comment_on_post | Create a first-level or nested comment on a post | Write |

Media

| Tool | Description | Mode | |------|-------------|------| | linkedin_get_image | Get details of a single image by URN | Read | | linkedin_get_images | Get image metadata including download URLs, status, dimensions | Read |

Ad Targeting

| Tool | Description | Mode | |------|-------------|------| | linkedin_get_ad_targeting_facets | Get available ad targeting facets (locations, industries, job functions) | Read | | linkedin_search_ad_targeting_entities | Search targeting entities (geographics, job titles, industries) | Read |

Code Examples

Get your profile info

clawlink_call_tool --tool "linkedin_get_my_info" \
  --params '{}'

Create a post

clawlink_call_tool --tool "linkedin_create_linked_in_post" \
  --params '{"text": "Excited to share our latest update! What do you think?"}'

Create a comment

clawlink_call_tool --tool "linkedin_create_comment_on_post" \
  --params '{"author": "urn:li:person:PROFILE_ID", "message": {"text": "Great post!"}, "post_id": "POST_ID"}'

Get images

clawlink_call_tool --tool "linkedin_get_images" \
  --params '{}'

Search ad targeting entities

clawlink_call_tool --tool "linkedin_search_ad_targeting_entities" \
  --params '{"type": "location", "keywords": "San Francisco"}'

Discovery Workflow

  1. Call clawlink_list_integrations to confirm LinkedIn is connected.
  2. Call clawlink_list_tools --integration linkedin to see the live catalog.
  3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.
  4. If the user describes a capability but the exact tool is unclear, call clawlink_search_tools with a short query and integration linkedin.
  5. If no LinkedIn tools appear, direct the user to https://claw-link.dev/dashboard?add=linkedin.

Execution Workflow

┌─────────────────────────────────────────────────────────────┐
│  READ OPERATIONS (Safe)                                     │
│  list → get → search → describe → call                      │
│                                                             │
│  Example: Get profile → Get images → Show results            │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  WRITE OPERATIONS (Require Confirmation)                     │
│  list → get → describe → preview → confirm → call          │
│                                                             │
│  Example: Preview post create → User approves → Execute       │
└─────────────────────────────────────────────────────────────┘
  1. For unfamiliar tools, ambiguous requests, or any write action, call clawlink_describe_tool first.
  2. Use the returned guidance, schema, whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.
  3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.
  4. For writes or anything marked as requiring confirmation, call clawlink_preview_tool first.
  5. Execute with clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.
  6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.

Notes

  • Posting as an organization requires w_organization_social scope with ADMINISTRATOR, DIRECT_SPONSORED_CONTENT_POSTER, or CONTENT_ADMIN role.
  • Posting as a person requires w_member_social scope.
  • Delete operations are idempotent — previously deleted posts return success (204).
  • Ad targeting facets require LinkedIn Marketing API access.
  • Image URNs are required for media retrieval operations.

Error Handling

| Status / Error | Meaning | |----------------|---------| | Tool not found | The tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration linkedin. | | Missing connection | LinkedIn is not connected. Direct the user to https://claw-link.dev/dashboard?add=linkedin. | | Permission error | The authenticated account lacks the required scope for this operation. | | Post not found | The post ID does not exist or is not accessible. | | Write rejected | User did not confirm a write action. Always confirm before executing writes. |

Troubleshooting: Tools Not Visible

  1. Check that the ClawLink plugin is installed:
    openclaw plugins list
    
  2. If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
  3. If a fresh chat does not help, run:
    openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
    openclaw gateway restart
    
  4. After restart, tell the user to send /new again and retry.

Troubleshooting: Permission Errors

  1. Confirm the LinkedIn account has the correct permissions for the operation.
  2. For organization posting, verify the account has an admin role in the organization.
  3. For ad targeting, verify Marketing API access is enabled.

Resources

  • LinkedIn API Documentation
  • LinkedIn Marketing API
  • ClawLink: https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=linkedin-social
  • ClawLink Docs: https://docs.claw-link.dev/openclaw
  • ClawLink Verification: https://claw-link.dev/verify

Related Skills


Powered by ClawLink — an integration hub for OpenClaw

ClawLink Logo