unipile-linkedin
Interact with LinkedIn via Unipile API - send messages, view profiles, manage connections, create posts, react.
Setup & Installation
Install command
clawhub install sudhanshu746/unipile-linkedinIf the CLI is not installed:
Install command
npx clawhub@latest install sudhanshu746/unipile-linkedinOr install with OpenClaw CLI:
Install command
openclaw skills install sudhanshu746/unipile-linkedinor paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/sudhanshu746/unipile-linkedinWhat This Skill Does
Interact with LinkedIn via the Unipile API using a CLI script. Covers messaging, profile lookup, connection requests, post creation, comments, and reactions. Requires a Unipile account with a connected LinkedIn account.
LinkedIn has no public API for messaging or posting, so Unipile is the only programmatic path to automate these actions from an agent.
When to Use It
- 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
View original SKILL.md file
# 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](https://dashboard.unipile.com). ## Usage Run commands via the CLI script: ```bash ./scripts/linkedin.mjs <command> [options] ``` ## Commands ### Account Management ```bash ./scripts/linkedin.mjs accounts # List connected accounts ./scripts/linkedin.mjs account <account_id> # Get account details ``` ### Messaging ```bash ./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 ```bash ./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 ```bash ./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 ```bash ./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 ```bash ./scripts/linkedin.mjs attendees [--account_id=X] [--limit=N] # List chat contacts ``` ## Examples ```bash # 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)
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Message a job candidate after reviewing their LinkedIn profile
- 1Message a job candidate after reviewing their LinkedIn profile
- 2Check unread LinkedIn conversations without opening a browser
- 3Send connection requests with personalized notes in bulk
- 4Post a LinkedIn update directly from the terminal
- 5React to a contact's post after a meeting
Interact with LinkedIn via Unipile API - send messages, view profiles, manage connections, create posts, react.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.