linkedin_unipile_post
LinkedIn posts: your home feed, a post, its engagement. Publishing, commenting
and reacting is linkedin_unipile_act (op="publish_post" / "comment_post" /
"react_post").
op:
"feed" (default): your LinkedIn home, read LIVE — one page per call, sorted by publication date (most recent first), nothing stored. Sponsored/promo inserts are excluded. The choice of posts follows your LinkedIn home setting. Next page: pass the returned
cursoragain (None= end of the stream). Returns{items, cursor, count}. Served as a TRIAGE VIEW: each post returns enough to rank it (author + headline, date, traction, link,urn) and its text cut at 600 characters (text_truncated: truemarks the cut) — a page of 40 raw posts exceeds the size of a tool result, and sorting a feed is done on the header. Nothing is lost:fields=["*"]returns all the post's fields,text_max_chars=Nonethe full text, and a whole post is read withop="get"(post_id=<urn>)."get": a post —
post_id= social_id (urn:li:…) from alinkedin_unipile_profile(op="posts")result."engagement": who reacted/commented —
kind='comments' or 'reactions'. Follows the pages up tolimitpeople (default 100, max 500); returns{items, count, truncated, next_offset, stopped}—truncated: truesays that the list is PARTIAL, resume withoffset=next_offset.comment_idtargets a comment's replies (comments) or reactions (reactions). An Unipile 429 is theunipile_rate_limitedrefusal (delay inretry_after_seconds); after a first page, it returns the partial result.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "linkedin_unipile_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | feed (default) | get | engagement. | feed |
| _org | No | Org (id) de CET APPEL. `oto_list_orgs()`. | |
| kind | No | op="engagement" — 'comments' (default) or 'reactions'. | comments |
| limit | No | op="feed" — posts requested for this page (default 20); op="engagement" — people to return at most (default 100, max 500). | |
| _group | No | Équipe (id) de CET APPEL, sous son org parente. | |
| cursor | No | op="feed" — the next page: the `cursor` from a previous call (omitted = the first page). | |
| fields | No | op="feed" — projection: the requested fields, plus the `urn` always kept to address the post. Omitted = the triage view; `["*"]` = all the post's fields. | |
| offset | No | op="engagement" — where to resume (the `next_offset` of a previous call; 0 = start). | |
| _run_id | No | OBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas. | |
| post_id | No | post's social_id (get, engagement). | |
| _account | No | Compte à OPÉRER quand plusieurs existent. `oto_identity(op='list')`. | |
| _project | No | Projet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`. | |
| _instance | No | Instance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`. | |
| comment_id | No | op="engagement" — a comment of the post: its replies (kind='comments') or its reactions (kind='reactions'). | |
| text_max_chars | No | op="feed" — text length of each post (default 600; `None` = full text). |