> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qobra.co/llms.txt
> Use this file to discover all available pages before exploring further.

# get_analyst_turn

> Wait for the latest turn of a conversation with the Analyst and read its result, without starting a new turn.

Wait for the latest turn of a conversation with the Analyst and read what it
left, without starting anything. Call it when
[`ask_analyst`](https://docs.qobra.co/mcp_documentation/tools/ask_analyst), or an earlier call of
this tool, came back `running`.

Each call waits about 45 seconds. While the turn goes on, it answers `running`
again: call it again then.

The result reads like `ask_analyst`'s. Relay the `answer`, or show a question
to the user and send their reply with `ask_analyst`. A turn that ended on an
error is raised as one.

Available only where the Analyst is switched on for the company. The caller
needs read access on reports.

## Parameters

> [accordion] Body
>
> **conversation\_id** `string` *required*
>
> Id of the conversation whose latest turn to read: the one ask\_analyst
> returned.

## Response

> [accordion] Body
>
> **status** `string`
>
> 'answered': the Analyst finished its turn, its reply is in answer.
> 'awaiting\_user': it paused on a question (pending\_question); show it to the
> user and send their reply as the next instruction of this conversation with
> ask\_analyst. 'running': a turn is still going; call get\_analyst\_turn with
> this conversation\_id to keep waiting for it. One of: `answered`,
> `awaiting_user`, `running`.
>
> **conversation\_id** `string`
>
> The conversation this turn belongs to, the same one the web app shows in the
> Analyst panel. Pass it back on every follow-up call.
>
> **answer** `string`
>
> The Analyst's reply when status is 'answered', to relay to the user. Null
> otherwise.
>
> **pending\_question** `object`
>
> The question the Analyst is waiting on, with the options it offers
> (multi\_select: several may be picked; the user may also answer in their own
> words). Set only when status is 'awaiting\_user'.
>
> **object properties**
>
> **question** `string`
>
> **options** `string[]`
>
> **multi\_select** `boolean`
>
> **report** `object`
>
> The report the conversation works on, as list\_reports lists it, with the
> link to open it: the one the call named, or the one the Analyst created
> during this conversation. Null while the Analyst has not created one yet.
>
> **object properties**
>
> **report\_id** `string`
>
> **resource\_url** `string`
>
> Deep link to open this report in the Qobra web app.
>
> **report\_name** `string`
>
> **report\_type** `string`
>
> What the report is built on: statement (payout statements) or record
> (the rows of the tracked\_datatable). One of: `statement`, `record`.
>
> **description** `string`
>
> **tracked\_datatable** `object`
>
> Source data table tracked by a record report, with its id and name; null
> for statement reports.
>
> **object properties**
>
> **id** `string`
>
> **name** `string`
>
> **available\_visualizations** `string[]`
>
> The dashboard tiles this report can render: `chart` when a chart is
> configured on it, `pivot_table` when a pivot table is. Empty when
> neither is — the report then has no tile to show on a dashboard.
>
> **section** `object`
>
> The section the report is filed under (id and name), or null when
> unfiled.
>
> **object properties**
>
> **section\_id** `string`
>
> **section\_name** `string`
>
> **access** `object`
>
> Who can read this report, split into roles and users, each with the
> level they hold — the same roster shape every saved view speaks. Null
> when the roster is not yours to see (no write access on reports) or the
> report was read from a sandbox, sharing being live-only; never an empty
> roster, which a caller who may see it gets as empty `roles` and `users`
> instead.
>
> **object properties**
>
> **roles** `object[]`
>
> **object properties**
>
> **role** `object`
>
> **object properties**
>
> **id** `string`
>
> **name** `string`
>
> **resolved** `boolean`
>
> **default\_access** `string`
>
> The level this role holds on the whole resource category, which
> reaches every view of it without a share — `read` (view it),
> `write` (edit and re-share it) or `delete` (also remove it),
> each level including the ones before it. Null when the role only
> got this view through a share. One of: `read`, `write`,
> `delete`.
>
> **shared\_access** `string`
>
> The level granted to this role on this view specifically —
> `read` (view it), `write` (edit and re-share it) or `delete`
> (also remove it), each level including the ones before it. Null
> when the role reaches the view through its category access
> rather than a share. One of: `read`, `write`, `delete`.
>
> **users** `object[]`
>
> **object properties**
>
> **user** `object`
>
> **object properties**
>
> **id** `string`
>
> **email** `string`
>
> **name** `string`
>
> **shared\_access** `string`
>
> The level this view is shared with the user at, individually, on
> top of whatever their role already grants — `read` (view it),
> `write` (edit and re-share it) or `delete` (also remove it),
> each level including the ones before it. One of: `read`,
> `write`, `delete`.
