Docs / Messages

list_attendee_chats

List your one-to-one conversations with one person.

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

What you give it

InputWhat it isWhere to get it
attendeeId
needed
A attendee id. The participant id (from list_chat_attendees or list_chat_participants).Run list_chat_attendees and use attendees[].id from its answer.
6 more places to get it
before
optional
A date and time, like 2026-10-01T00:00:00.000Z. Only items created before this moment (ISO 8601 UTC, e.g. 2026-10-01T00:00:00.000Z).You write it.
after
optional
A date and time, like 2026-10-01T00:00:00.000Z. Only items created after this moment (ISO 8601 UTC, e.g. 2026-10-01T00:00:00.000Z).You write it.
limit
optional
A number, 1 to 250. How many to return (1–250, default 50).You write it.
cursor
optional
A cursor. nextCursor from the previous call, to get the next page. Keep the other arguments the same.The nextCursor from the last answer of list_attendee_chats.
connectionId
optional
A connection id. Which of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one.Run list_linkedin_accounts and use accounts[].id from its answer.
15 more places to get it

Call it

curl -X POST https://api.heyreagent.com/v1/actions/list_attendee_chats \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "content-type: application/json" \
  -d '{"attendeeId":"PASTE_ATTENDEE_ID_HERE"}'
The same call in JavaScript
const response = await fetch("https://api.heyreagent.com/v1/actions/list_attendee_chats", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_KEY",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "attendeeId": "PASTE_ATTENDEE_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/list_attendee_chats",
    headers={"Authorization": "Bearer YOUR_KEY"},
    json={
        "attendeeId": "PASTE_ATTENDEE_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/list_attendee_chats
Send HeadersOn. Name Authorization, Value Bearer YOUR_KEY
Send BodyOn. Body Content Type JSON, Specify Body Using JSON, then paste the body below
{
  "attendeeId": "PASTE_ATTENDEE_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:

returnednumber
nextCursorA cursor. Other actions take it.
chats[].idA chat id. Other actions take it.
chats[].accountTypeWHATSAPP | LINKEDIN | SLACK | TWITTER | MESSENGER | INSTAGRAM | TELEGRAM
chats[].providerIdstring
chats[].attendeeProviderIdA member id. Other actions take it.
chats[].namestring or null
chats[].type0 | 1 | 2
chats[].timestampstring or null
chats[].unreadCountnumber
chats[].archived0 | 1
chats[].mutedUntil-1 | string or null
chats[].readOnly0 | 1 | 2
chats[].disabledFeaturesreactions | reply[]
chats[].subjectstring
chats[].organizationIdstring
chats[].mailboxIdstring
chats[].contentTypeinmail | sponsored | linkedin_offer
chats[].folderINBOX | INBOX_LINKEDIN_CLASSIC | INBOX_LINKEDIN_RECRUITER | INBOX_LINKEDIN_SALES_NAVIGATOR | INBOX_LINKEDIN_ORGANIZATION | INBOX_INSTAGRAM_GENERAL | PENDING | OTHER | SPAM | ARCHIVED | HIDDEN | UNKNOWN | string[]
chats[].pinned0 | 1

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, list_attendee_chats, and the same inputs.