minari_call
Calls made and received in Minari, with AI summaries and objections.
Covers ALL sources (CSV imports and CRM-synced contacts alike), unlike
minari_list.
"get" deliberately OMITS the transcript and reports
transcript_utterances instead — a 45-minute call would otherwise bury
the summary and objections you asked for. Use "transcript" for the text.
Search two different ways: search matches the contact (name, company,
phone number); transcript_search matches what was SAID. Transcript
search is a literal substring match, words AND-ed, never semantic and
never translated — so a French call will not match English terms. Each
row carries language; re-issue in that language (or scope with
language="fr") to search across locales. Both need 3+ characters.
"recording" returns availability and size, NOT the audio — an MP3 has no
useful form in a tool result. For something a human can open, a call
carries public_call_link, a shareable page needing no key — but it is
null when the company has external call sharing switched off, so check
it rather than promising someone a link.
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": "minari_call"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | "list" browses; "get" is one call without its transcript; "transcript" is the text; "recording" reports whether audio exists (it never returns audio bytes — see above). | list |
| _org | No | Org (id) de CET APPEL. `oto_list_orgs()`. | |
| _group | No | Équipe (id) de CET APPEL, sous son org parente. | |
| cursor | No | "list" only — `next_cursor` from a previous response. RE-SEND YOUR FILTERS WITH IT: the cursor is a position (`started_at` + call id), not a saved query, so a cursor on its own pages the whole journal and silently drops your filters. Pages are fixed at 50 and cannot be enlarged. | |
| search | No | "list" only — contact name, company or phone (3+ chars). | |
| status | No | "list" only — one or more call statuses. "meeting-booked" is a FILTER-only value: it is how you ask for calls that led to a meeting, but a returned row never carries it as its `status` (rows use the other eight, plus a `meeting_booked` boolean). | |
| _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. | |
| call_id | No | REQUIRED by "get", "transcript" and "recording". | |
| list_id | No | "list" only — filter by list id(s). | |
| user_id | No | "list" only — filter by team member id(s), from `minari_user`. | |
| _project | No | Projet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`. | |
| end_date | No | "list" only — ISO 8601, calls started at or before. | |
| language | No | "list" only — ISO 639-1 of the AI content, e.g. "fr". | |
| _instance | No | Instance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`. | |
| direction | No | "list" only — omit to get both directions. | |
| contact_id | No | "list" only — filter to one contact. | |
| start_date | No | "list" only — ISO 8601, calls started at or after. | |
| min_duration | No | "list" only — minimum duration in seconds. | |
| max_utterances | No | "transcript" only — cap on returned lines (default 200). The response states the true total and whether it was truncated. | |
| transcript_search | No | "list" only — what was said (3+ chars). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |