Docs / Messages
sync_inbox
Refresh the stored inbox from LinkedIn, or one conversation of it, in the background.
This action can change or spend something, and when it does it happens right away. Read “Good to know” first.
What you give it
| Input | What it is | Where to get it |
|---|---|---|
conversationUrloptional | A conversation link or a profile link. LinkedIn conversation/thread URL, or the person's profile URL. Required when threadOnly=true to fetch just that one conversation. | Open the person's profile on LinkedIn and copy the address from your browser. It looks like https://www.linkedin.com/in/their-name Or run search_people and use people[].profileUrl from its answer.30 more places to get it
|
linkedinConnectionIdoptional | A connection id. LinkedIn account to sync from. Omit to use all active accounts for the setup. | Run list_linkedin_accounts and use accounts[].id from its answer.15 more places to get it
|
threadOnlyoptional | True or false. When true (with conversationUrl set), fetch only that one conversation thread instead of syncing the whole inbox. | You write it. |
Call it
curl -X POST https://api.heyreagent.com/v1/actions/sync_inbox \
-H "Authorization: Bearer YOUR_KEY" \
-H "content-type: application/json" \
-d '{}'The same call in JavaScript
const response = await fetch("https://api.heyreagent.com/v1/actions/sync_inbox", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_KEY",
"content-type": "application/json",
},
body: JSON.stringify({}),
});
const answer = await response.json();
console.log(answer);The same call in Python
import requests
response = requests.post(
"https://api.heyreagent.com/v1/actions/sync_inbox",
headers={"Authorization": "Bearer YOUR_KEY"},
json={},
)
print(response.json())The same call in n8n
Add an HTTP Request node and fill it in like this:
| Method | POST |
| URL | https://api.heyreagent.com/v1/actions/sync_inbox |
| Send Headers | On. Name Authorization, Value Bearer YOUR_KEY |
| Send Body | On. Body Content Type JSON, Specify Body Using JSON, then paste the body below |
{}Put your own key where it says YOUR_KEY. New here? Start with your first call.
What you get back
When it worked, the answer is { "ok": true, "result": { … } }. Inside result:
success | |
taskId | A task id. Other actions take it. |
taskIds | |
alreadyInProgress | |
expiredConnections |
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
- One conversation: threadOnly true AND conversationUrl; the answer has taskId. Whole inbox: neither; the answer has taskIds, one per account, and no taskId.
- threadOnly true without conversationUrl runs a whole-inbox sync.
- A whole-inbox sync ignores linkedinConnectionId and refreshes every account.
- When a sync is already running the answer says alreadyInProgress and may carry no task id.
In Claude or ChatGPT
Once connected, ask in your own words. The assistant sees this action as a tool with the same name, sync_inbox, and the same inputs.