Send Regular Message (Follow-up)

Use the Send Message endpoint to send Message with Classic and Sales Navigator Inboxes

NOTE :
A single LinkedIn profile may have two separate conversation threads with your account

When building your logic:

  • Always check both Classic and SN inboxes during sync.

  • Treat threads independently when sending messages or syncing replies.

  • Use the appropriate endpoints based on the conversation source.

Classic LinkedIn

Check if account has a conversationId using POST /api/v1/conversations/sync

if you don’t have a existing chat with member please use

Create a new LinkedIn conversation.

  • Precondition

    • Your LinkedIn account must already be connected.

    • You should be connected with recipient, and do not have another conversations (allowed to have another conversations created by open inmail)

    • Include the X-AccountId header in the request.

    • You must provide the profileId of the profile you want to message.

    • To send a regular message:

    • Insert your custom text into the "message" field.

    • Set "inMail" to false.

Field Type Required Description
profileId string The LinkedIn profile ID of the recipient.
message string The message body you want to send.
subject string Ignored
inMail boolean Must be set to false to indicate it is not an Open InMail message.

POST/api/v1/conversations

curl https://api.salesflow.io/public/v1/conversations \
  --request POST \
  --header 'X-AccountId: 1234567890' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "profileId": "target_profile_id",
  "message": "your_message",
  "inMail": false
}'

RESPONSE EXAMPLE :

{
  "conversationId": "2-aabbccdd",
  "messageId": "aabbccdd",
  "createdAt": "2025-08-08T08:30:00Z"
}

if you have already existing "conversationId", use

Send a message to an existing LinkedIn conversation.

Precondition

  • Conversation should have not disabled “REPLY” feature

  • If conversation was created by sending open inmail from your side, ensure that conversation state is “ACCEPTED”.

This endpoint allows sending a new message to an existing conversation thread identified by its ID.

POST /api/v1/conversations/{id}/messages

Field Type Required Description
Id string LinkedIn conversation thread identifier.
message string The message body you want to send.
curl 'https://api.salesflow.io/public/v1/conversations/{id}/messages' \
  --request POST \
  --header 'X-AccountId: 1234567890' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "message": "your_message"
}'

Response :

{
  "createdAt": "2025-08-08T08:30:30Z",
  "messageId": "aabbcc"
}

Sales Navigator

Link API Reference

Precondition

  • Your LinkedIn account must already be connected.

  • You should be connected with recipient, and do not have another conversations (allowed to have another conversations created by open inmail)

  • Include the X-AccountId header in the request.

  • You must provide the profileId of the profile you want to message.

  • To send a regular message:

  • Insert your custom text into the "message" field.

  • Set "inMail" to false.

POST/api/v1/sales-nav/conversations

curl https://api.salesflow.io/public/api/v1/sales-nav/conversations \
  --request POST \
  --header 'X-AccountId: 1234567890' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "profileId": "",
  "message": "",
  "subject": null,
  "authToken": null,
  "authType": null
}'
Field Required Type Description
profileId string | null LinkedIn profile ID of the recipient
message string | null The actual message text to send
subject string | null Ignore for regular message
authToken string | null (Optional) Token used internally for advanced auth flows (leave null)
authType string | null (Optional) Auth type metadata (leave null unless instructed)

Response:

{
  "messageId": null,
  "threadId": null
}