unipile-linkedin

Web & Frontend Development
v1.0.0
Benign

Interact with LinkedIn via Unipile API - send messages, view profiles, manage connections, create posts, react.

936 downloads936 installsby @sudhanshu746

Setup & Installation

Install command

clawhub install sudhanshu746/unipile-linkedin

If the CLI is not installed:

Install command

npx clawhub@latest install sudhanshu746/unipile-linkedin

Or install with OpenClaw CLI:

Install command

openclaw skills install sudhanshu746/unipile-linkedin

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/sudhanshu746/unipile-linkedin

What 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.

INPUT

User asks: Message a job candidate after reviewing their LinkedIn profile

AGENT
  1. 1Message a job candidate after reviewing their LinkedIn profile
  2. 2Check unread LinkedIn conversations without opening a browser
  3. 3Send connection requests with personalized notes in bulk
  4. 4Post a LinkedIn update directly from the terminal
  5. 5React to a contact's post after a meeting
OUTPUT
Interact with LinkedIn via Unipile API - send messages, view profiles, manage connections, create posts, react.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedMar 1, 2026