Tools are capabilities available to the AI during a session. Diagnostics configure which tools are enabled. Some tools are mandatory and always available.
Parallel Tool Calls
The AI can use up to 5 tools in a single response, executing them in parallel. This reduces round trips — for example, the AI can run multiple database queries at once, or promote a result while starting a new query. Each tool's result appears as a separate entry in the conversation.
PROMPT_USER must always be used alone. If the AI combines PROMPT_USER with other tools, it is asked to retry.
| Tool | Mandatory | Description |
|---|---|---|
| QUERY_DATABASE | Yes | Run SQL queries against the client database |
| PROMPT_USER | Yes | Present findings or ask the user for clarification |
| GET_OBJECT_METADATA | No | Retrieve documentation and SQL for a data object by table name |
| GET_MEASURE_METADATA | No | Retrieve documentation and SQL for a measure by identifier. When a measure is instantiated on multiple reports, prefers reports with "compass" in the name or description, then breaks ties by most recent instantiation. The response includes the report name, instantiation date, and report date range. |
| SEARCH_DATA_MODEL | No | Search for data objects and measures by keyword |
| FULL_SEARCH_DATA_MODEL | No | Deep search across all definitions, revision history comments, and layers. Use when SEARCH_DATA_MODEL does not find what you need — this searches the entire definition JSON and revision comments, not just names and descriptions. |
| PROMOTE_FINDING | No | Give a query result a title, description, and optional chart |
| SET_DISPOSITION | No | Set the structured disposition for the session (only available when a disposition schema is defined) |
Presentation Tools
These tools are available in the presentation builder workspace. They are separate from session tools and focus on organizing findings into slides. All presentation tools are always available — there is no tool selection for presentations.
| Tool | Description |
|---|---|
| PROMPT_USER | Present findings or ask the user for clarification |
| LIST_FINDINGS | List findings available for the presentation (supports --unused-only flag) |
| GET_FINDING_DETAILS | Get full details of a specific finding (description, SQL, data rows) |
| ADD_FINDINGS_TO_SLIDE | Assign findings to a slide by index (supports --insert flag) |
| DELETE_SLIDE | Remove a slide and move its findings to the unused pool |
| SET_SLIDE_LAYOUT | Set the layout type for a finding slide (not applicable to text slides) |
| SET_TEXT_SLIDE | Create or update a text-only slide with markdown content (supports --insert flag) |
| STYLE_FINDING | Update the title, description, or chart instructions for a presentation finding |