OpenClaw · Skill

LinkedIn

Access LinkedIn through the Unipile API using the CLI script.

Web & Frontend Development
v1.0.0
VirusTotal: Benign

Install

Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.

Primary command

clawhub install sudhanshu746/unipile-linkedin

ClawHub installer

npx clawhub@latest install sudhanshu746/unipile-linkedin

OpenClaw CLI

openclaw skills install sudhanshu746/unipile-linkedin

Direct OpenClaw install

openclaw install sudhanshu746/unipile-linkedin

What this skill does

Access LinkedIn through the Unipile API using the CLI script.

Why it matters

LinkedIn has no public API for messaging or posting, so Unipile is the only programmatic path to automate these actions from an agent.

Typical use cases

  • Message a job candidate after reviewing their LinkedIn profile
  • Check unread LinkedIn conversations without opening a browser
  • Send connection requests with personalized notes in bulk
  • Post a LinkedIn update directly from the terminal
  • React to a contact's post after a meeting

Source instructions

Unipile LinkedIn

Access LinkedIn through the Unipile API using the CLI script.

Setup

Requires environment variables in ~/.openclaw/workspace/TOOLS.md or shell:

  • UNIPILE_DSN - Your Unipile API endpoint (e.g., https://api1.unipile.com:13111)
  • UNIPILE_ACCESS_TOKEN - Your Unipile access token

Get credentials from dashboard.unipile.com.

Usage

Run commands via the CLI script:

./scripts/linkedin.mjs <command> [options]

Commands

Account Management

./scripts/linkedin.mjs accounts                    # List connected accounts
./scripts/linkedin.mjs account <account_id>        # Get account details

Messaging

./scripts/linkedin.mjs chats [--account_id=X] [--limit=N] [--unread]   # List chats
./scripts/linkedin.mjs chat <chat_id>                                   # Get chat details
./scripts/linkedin.mjs messages <chat_id> [--limit=N]                   # List messages in chat
./scripts/linkedin.mjs send <chat_id> "<text>"                          # Send message
./scripts/linkedin.mjs start-chat <account_id> "<text>" --to=<user_id>[,<user_id>] [--inmail]  # Start new chat

Profiles

./scripts/linkedin.mjs profile <account_id> <identifier> [--sections=experience,education,skills] [--notify]
./scripts/linkedin.mjs my-profile <account_id>                          # Your own profile
./scripts/linkedin.mjs company <account_id> <identifier>                # Company profile
./scripts/linkedin.mjs relations <account_id> [--limit=N]               # Your connections

Invitations

./scripts/linkedin.mjs invite <account_id> <provider_id> ["message"]    # Send connection request
./scripts/linkedin.mjs invitations <account_id> [--limit=N]             # List pending invites
./scripts/linkedin.mjs cancel-invite <account_id> <invitation_id>       # Cancel invitation

Posts

./scripts/linkedin.mjs posts <account_id> <identifier> [--company] [--limit=N]  # List posts
./scripts/linkedin.mjs post <account_id> <post_id>                              # Get post
./scripts/linkedin.mjs create-post <account_id> "<text>"                        # Create post
./scripts/linkedin.mjs comments <account_id> <post_id> [--limit=N]              # List comments
./scripts/linkedin.mjs comment <account_id> <post_id> "<text>"                  # Add comment
./scripts/linkedin.mjs react <account_id> <post_id> [--type=like|celebrate|support|love|insightful|funny]

Attendees

./scripts/linkedin.mjs attendees [--account_id=X] [--limit=N]           # List chat contacts

Examples

# List all chats, only unread
./scripts/linkedin.mjs chats --unread

# Send a message
./scripts/linkedin.mjs send "abc123" "Thanks for connecting!"

# View someone's profile with experience section
./scripts/linkedin.mjs profile "myaccount" "john-doe-123" --sections=experience,about

# Send connection request with note
./scripts/linkedin.mjs invite "myaccount" "jane-smith-456" "Hi Jane, let's connect!"

# Create a LinkedIn post
./scripts/linkedin.mjs create-post "myaccount" "Excited to announce our new product launch! 🚀"

# React to a post
./scripts/linkedin.mjs react "myaccount" "post789" --type=celebrate

Notes

  • identifier can be a LinkedIn user ID or profile URL slug
  • account_id is your connected LinkedIn account ID (get from accounts command)
  • Use --inmail flag when messaging non-connections (requires LinkedIn Premium)

Related OpenClaw skills

Browse all →
Featured slot

Your product here

Reserve this slot to reach operators and coding-agent buyers.

Shown where builders are actively comparing tools and deployment options.

Advertise