Docs / InMail

get_inmail_conversation

Read one InMail conversation.

This action only reads. It changes nothing, so it is safe to try.

What you give it

InputWhat it isWhere to get it
chatId
needed
A chat id. The chatId from list_inmail.Run list_chats and use chats[].id from its answer.
12 more places to get it
connectionId
optional
A connection id. The sender account that owns this thread (optional).Run list_linkedin_accounts and use accounts[].id from its answer.
15 more places to get it
refresh
optional
True or false. true = first re-sync this conversation from LinkedIn, then read (slower, up to ~25s). Use when messages you know were sent — e.g. from the LinkedIn or Sales Navigator UI — are missing. The result's refresh field reports how the re-sync went.You write it.

Call it

curl -X POST https://api.heyreagent.com/v1/actions/get_inmail_conversation \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "content-type: application/json" \
  -d '{"chatId":"PASTE_CHAT_ID_HERE"}'
The same call in JavaScript
const response = await fetch("https://api.heyreagent.com/v1/actions/get_inmail_conversation", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_KEY",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "chatId": "PASTE_CHAT_ID_HERE"
  }),
});
const answer = await response.json();
console.log(answer);
The same call in Python
import requests

response = requests.post(
    "https://api.heyreagent.com/v1/actions/get_inmail_conversation",
    headers={"Authorization": "Bearer YOUR_KEY"},
    json={
        "chatId": "PASTE_CHAT_ID_HERE",
    },
)
print(response.json())
The same call in n8n

Add an HTTP Request node and fill it in like this:

MethodPOST
URLhttps://api.heyreagent.com/v1/actions/get_inmail_conversation
Send HeadersOn. Name Authorization, Value Bearer YOUR_KEY
Send BodyOn. Body Content Type JSON, Specify Body Using JSON, then paste the body below
{
  "chatId": "PASTE_CHAT_ID_HERE"
}

Put your own key where it says YOUR_KEY. Put your own value where it says PASTE_…_HERE: the table above says where each one comes from. New here? Start with your first call.

What you get back

When it worked, the answer is { "ok": true, "result": { … } }. Inside result:

chatIdA chat id. Other actions take it.
connectionIdA connection id. Other actions take it.
connectionLabel
inbox
isInMail
subject
participant
canReply
awaitingYourReply
sentFromContractA contract id. Other actions take it.
messageCount
messages

A field that does not apply to an answer is left out, or is null.

When it did not work, the answer is { "ok": false, "error": "…", "message": "…" }. What each error means.

Good to know

In Claude or ChatGPT

Once connected, ask in your own words. The assistant sees this action as a tool with the same name, get_inmail_conversation, and the same inputs.