Messages
message send
Send a message to a LinkedIn connection.
linkedin message send <person-url> <text>| Arg | Required | Description |
|---|---|---|
person-url | conditional | LinkedIn profile URL of the recipient. Optional when --thread-id is provided |
text | yes | Message text (up to 1900 characters) |
| Flag | Type | Description |
|---|---|---|
--thread-id | string | Reply into an existing conversation thread instead of passing person-url |
--manage | string | Manage the conversation right after sending, acting on the same thread. One of archive, unarchive, star, unstar, mute, unmute |
linkedin message send https://www.linkedin.com/in/vprudnikoff "Hey, loved your latest post!"
linkedin message send --thread-id 2-abc123... "Sounds good, talk soon!"
linkedin message send https://www.linkedin.com/in/vprudnikoff "Hey, loved your latest post!" --manage archivemessage get
Get conversation messages with a LinkedIn person. Prefer linkedin inbox get --person <url> to read messages; use message get when you need a person's earlier history.
linkedin message get <person-url> [flags]| Arg | Required | Description |
|---|---|---|
person-url | yes | LinkedIn profile URL |
| Flag | Type | Description |
|---|---|---|
--since | string | Only retrieve messages since this ISO timestamp |
--days | integer | Syncing period for the first call, 1-90 (default 30): how many days new messages keep being added to the loaded history, not how far back it is read |
linkedin message get https://www.linkedin.com/in/vprudnikoff --json
linkedin message get https://www.linkedin.com/in/vprudnikoff --since 2024-01-15T10:30:00ZThe first call for a conversation loads its history, which may take longer. Subsequent calls use cached data and are faster. Call it once per person – not to check for new messages: new messages reach you through
inbox get.
message manage
Archive, star, or mute a conversation thread.
linkedin message manage <thread-id> <operation>| Arg | Required | Description |
|---|---|---|
thread-id | yes | Conversation thread identifier, as returned by inbox get / message get, or the <id> in linkedin.com/messaging/thread/<id> of an open conversation |
operation | yes | One of archive, unarchive, star, unstar, mute, unmute |
linkedin message manage 2-abc123... archive
linkedin message manage 2-abc123... unmuteinbox sync
Enable whole-inbox monitoring for the account. This is the recommended first step for reading messages. Run once — afterwards new messages across every conversation become available via inbox get.
linkedin inbox sync # standard inbox
linkedin inbox sync --nv # Sales Navigator inbox| Flag | Type | Description |
|---|---|---|
--nv | bool | Enable monitoring for the Sales Navigator inbox instead of the standard one |
Only messages that arrive after this runs are captured. To get a person's earlier history, run
message get <person-url>once, then read the whole conversation withinbox get --person <person-url>.
inbox get
Get messages from the monitored inbox; use --person for one person's whole conversation.
linkedin inbox get [flags]| Flag | Type | Description |
|---|---|---|
--since | string | Only retrieve messages after this ISO timestamp |
--type | string | Filter by inbox type: st or nv (default: both) |
--thread-id | string | Restrict to a single conversation thread |
--person | string | LinkedIn profile URL. Return the whole known conversation with this person, including history loaded by message get, instead of the whole inbox |
linkedin inbox get --json
linkedin inbox get --since 2024-01-15T10:30:00Z --type nv
linkedin inbox get --person https://www.linkedin.com/in/vprudnikoff --jsonRequires inbox monitoring to be enabled once with
inbox sync. With--person, history loaded bymessage getis returned even without inbox monitoring.
With --person, the --json output carries threads next to messages, and each message carries inboxMessageId:
inboxMessageId–idof the same message ininbox getoutput without--person, ornullif the inbox did not capture it.threads– every thread with the person, each withthreadId(may benull),type,personUrn,historyFrom(the earliest message Linked API has) andhistoryComplete(trueonly when the thread was read back to its first message). IfhistoryCompleteisfalseand you need earlier messages, runmessage get <person-url>once.
See Monitoring inbox for the full field reference.