slack_read_thread
Read the REPLIES of a Slack thread — where decisions actually land.
slack_read_history returns top-level messages only; a parent with
reply_count > 0 hides its replies. This opens it.
Returns {parent, replies[], has_more, next_cursor} — parent is kept out
of replies because Slack repeats it on every page. Paginate by feeding
next_cursor back as cursor; pages walk the thread newest → oldest.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"channel": "<channel>",
"thread_ts": "<thread_ts>"
},
"name": "slack_read_thread"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _org | No | Org (id) de CET APPEL. `oto_list_orgs()`. | |
| limit | No | Max replies per page (the parent does not count against it). | |
| _group | No | Équipe (id) de CET APPEL, sous son org parente. | |
| cursor | No | `next_cursor` from a previous call. | |
| latest | No | Only replies before this ts — exclusive. | |
| oldest | No | Only replies after this ts — exclusive. | |
| _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. | |
| channel | Yes | Channel ID (C…/D…/G…) holding the thread. | |
| _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')`. | |
| inclusive | No | Also return replies sitting exactly on oldest/latest. | |
| thread_ts | Yes | `ts` of the PARENT message (a reply's `thread_ts`). Passing a reply's own `ts` is refused, with the parent's ts to retry with. |