To let an assistant use these tools, grant AI agents on the consent screen, or just
Compliance checks under its Fine-tune. The scope is compliance_checks.
Read tools work with Read only or Read & write access; write tools only with
Read & write.
Your assistant doesn't see these tools straight away. It finds them with search_tools or
describe_tools, and runs one with use_tool, passing its name and
arguments. Most assistants do this for you: just ask for what you want.
What your assistant is told about this group
Compliance checks test an agent before customers meet it. A question group is a set of test questions. A run puts each one to an agent version in a practice conversation that no customer sees, and grades the answer: by an AI judge, by fixed checks on the wording, and by which tools the agent used. Write groups (or install a starter pack), add single questions or multi-turn scripts, then estimate_check_run and start_check_run. Schedules repeat a run daily, weekly or monthly. Runs SPEND CREDIT, counted separately as compliance spend: show the user the estimate first. Recording a script from a live chat is done in the dashboard.
The descriptions below are the ones your assistant reads, so they're written for it. When a connection covers more than one
organisation, the assistant passes org (the organisation's slug, from list_orgs) to say which one.
list_check_runs
Read List compliance check runs
Compliance check runs: question groups put to an agent version in practice conversations and graded. Filter as on the dashboard: agent, group, status, channel, outcome (clean or with issues) and date range.
Arguments
| Field | Type | Description |
|---|---|---|
| agent_id | string | |
| question_group_id | string | |
| status | string |
One of: "pending", "running", "completed", "failed", "canceled"
|
| channel | string |
One of: "web", "sms", "email", "voice"
|
| outcome | string |
clean = every question passed; issues = anything failed, partialled, errored, was skipped or hit the budget
One of: "clean", "issues"
|
| from | string | Runs created on/after this date (YYYY-MM-DD) |
| to | string | Runs created on/before this date (YYYY-MM-DD) |
| limit | integer | Max rows (1-100, default 30) |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_check_run
Read Get a compliance check run
One check run with its per-question item rows (status, verdict, cost). Use get_check_run_item for an item's full grading evidence.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_check_run_item
Read Get a compliance check run item
One graded question with all its evidence: the question as it was asked, the agent's actual answer and tool calls, the results of the fixed checks, the AI judge's reasoning, and for multi-turn scripts the result of each turn.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_check_question_groups
Read List compliance question groups
The org's compliance check question groups with question counts and each group's latest run.
Arguments
| Field | Type | Description |
|---|---|---|
| archived | boolean | true lists the archived ones instead |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_check_question_group
Read Get a compliance question group
One question group: every question (simple and scripted, with expected answers, tool assertions and matchers), its ten latest runs, and what uses it: usage.live is what blocks archiving it, usage.history what keeps it from being deleted for good.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_check_schedules
Read List compliance check schedules
Recurring compliance check runs, soonest first, with each schedule's latest run. Manager or owner.
Arguments
| Field | Type | Description |
|---|---|---|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_check_starter_packs
Read List compliance starter packs
Ready-made question packs that install_check_starter_pack copies into an editable group.
Arguments
| Field | Type | Description |
|---|---|---|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
estimate_check_run
Read Estimate a compliance check run
The expected cost of running a question group on a channel (what the org is billed, in US cents), and the cost ceiling start_check_run would default to. Pass agent_id (and optionally agent_version_id) to price that agent's model; without one it's priced at the screening model. Changes nothing.
Arguments
| Field | Type | Description |
|---|---|---|
| question_group_id required | string | |
| channel | string |
One of: "web", "sms", "email", "voice"
|
| agent_id | string | |
| agent_version_id | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
start_check_run
Write Start a compliance check run
SPENDS CREDIT (on the compliance ledger). Runs every question in a group against an agent as sandboxed conversations and grades them; results arrive over the next minutes (get_check_run). The version defaults to production (else draft). Pin a journey with product_slug + journey_slug; fixture starts from an existing insurance state and needs that pin. cost_ceiling_cents defaults to a multiple of the estimate (estimate_check_run). Confirm the estimate with the user first.
Arguments
| Field | Type | Description |
|---|---|---|
| question_group_id required | string | |
| agent_id required | string | |
| agent_version_id | string | |
| channel required | string |
One of: "web", "sms", "email", "voice"
|
| cost_ceiling_cents | number | |
| name | string | |
| product_slug | string | |
| journey_slug | string | |
| fixture | string |
One of: "none", "issued_quote", "expired_quote", "returning_application", "declined_application", "bound_policy", "cooling_off_policy", "policy_in_arrears", "renewal_approaching", "cancelled_policy", "bound_policy_with_claim"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
cancel_check_run
Write Cancel a compliance check run
Stops a running check run; items not yet started are skipped.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
rename_check_run
Write Rename a compliance check run
Names a run (blank clears it, showing the group's name).
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| name | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
compare_check_runs
Read Compare two compliance check runs
Pairs up two runs' questions and classifies each as improved, regressed, unchanged, or only in one run, with a summary. cross_group warns that the runs used different question groups.
Arguments
| Field | Type | Description |
|---|---|---|
| base_id required | string | |
| other_id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
generate_check_questions
Write Generate compliance questions with AI
SPENDS CREDIT. Has the AI write a new question group for a product (10, 20 or 30 questions, about 10 to 30 seconds, in the background). The new group then shows in list_check_question_groups; progress_url shows it running.
Arguments
| Field | Type | Description |
|---|---|---|
| product_id required | string | |
| count | integer |
One of: 10, 20, 30
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
run_check_schedule_now
Write Run a compliance schedule now
SPENDS CREDIT. Starts a schedule's run immediately, out of cadence, with the schedule's own settings. Confirm with the user first. Manager or owner.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_check_question_group
Write Create a compliance question group
Creates an empty question group; add questions with create_check_question or create_check_script, or start from install_check_starter_pack.
Arguments
| Field | Type | Description |
|---|---|---|
| name required | string | |
| description | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_check_question_group
Write Rename a compliance question group
Changes a question group's name or description.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| name | string | |
| description | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
archive_check_question_group
Write Archive compliance question group
Archive the compliance question group: it leaves lists and pickers and can't be newly chosen, while everything that already used it keeps working. Refused while anything live still uses it (the error says what, so switch those first). Undo with restore_compliance_question_group.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
restore_check_question_group
Write Restore compliance question group
Restore an archived compliance question group to lists and pickers.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
delete_check_question_group
Write Delete compliance question group
Delete an ARCHIVED compliance question group for good. Only possible when nothing, live or historical, has ever used it; otherwise it stays archived. Irreversible: confirm with the user first.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
clone_check_question_group
Write Clone a compliance question group
Copies a question group and all its questions into a new, editable group.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
install_check_starter_pack
Write Install a compliance starter pack
Copies a starter pack (list_check_starter_packs) into a new, editable question group.
Arguments
| Field | Type | Description |
|---|---|---|
| key required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_check_question
Write Add a compliance question
Adds a simple question to a group: the customer message(s), and how a correct answer is judged (expected answer, required and forbidden tool calls, conversation milestones the sale must or must not reach, text matchers). For a multi-turn script with per-turn expectations use create_check_script.
Arguments
| Field | Type | Description |
|---|---|---|
| question_group_id required | string | |
| question required | string | What the simulated customer says first. |
| follow_ups | array of string | Further customer messages, in order. |
| expected_answer | string | What a correct reply says, for the LLM judge. |
| expected_tools | array of object | Tools the agent must call (input matched if given). |
| expected_tools[].name | string | |
| expected_tools[].input | object | |
| forbidden_tools | array of string | |
| expected_milestones | array of string | Conversation milestones the sale must have reached by the end (catalogue keys). |
| forbidden_milestones | array of string | Conversation milestones the sale must not have reached (catalogue keys). |
| matcher_config | object | Deterministic text checks on the reply. |
| matcher_config.contains | array of string | |
| matcher_config.contains_any | array of string | |
| matcher_config.not_contains | array of string | |
| matcher_config.matches | array of string | |
| matcher_config.not_matches | array of string | |
| notes | string | |
| position | integer | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_check_question
Write Update a compliance question
Changes a simple question. Only the fields given change.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| question | string | What the simulated customer says first. |
| follow_ups | array of string | Further customer messages, in order. |
| expected_answer | string | What a correct reply says, for the LLM judge. |
| expected_tools | array of object | Tools the agent must call (input matched if given). |
| expected_tools[].name | string | |
| expected_tools[].input | object | |
| forbidden_tools | array of string | |
| expected_milestones | array of string | Conversation milestones the sale must have reached by the end (catalogue keys). |
| forbidden_milestones | array of string | Conversation milestones the sale must not have reached (catalogue keys). |
| matcher_config | object | Deterministic text checks on the reply. |
| matcher_config.contains | array of string | |
| matcher_config.contains_any | array of string | |
| matcher_config.not_contains | array of string | |
| matcher_config.matches | array of string | |
| matcher_config.not_matches | array of string | |
| notes | string | |
| position | integer | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
delete_check_question
Write Delete a compliance question
PERMANENT. Deletes one question from its group. Confirm with the user first.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
clone_check_question
Write Clone a compliance question
Copies one question within its group, e.g. to vary it.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_check_script
Write Add a scripted compliance check
Adds a multi-turn script to a group: a sequence of customer turns, each with its own expectations, plus final whole-conversation checks. Manager or owner.
Arguments
| Field | Type | Description |
|---|---|---|
| question_group_id required | string | |
| question required | string | The script's title. |
| notes | string | |
| turns required | array of object | Each turn: what the customer says and what must be true of the agent's reply. |
| turns[].say | string | |
| turns[].expected_answer | string | |
| turns[].expected_tools | array of object | |
| turns[].expected_tools[].name | string | |
| turns[].expected_tools[].input | object | |
| turns[].forbidden_tools | array of string | |
| turns[].matcher_config | object | |
| turns[].expected_milestones | array of string | Conversation milestones the sale must have reached by the end of the turn. |
| turns[].forbidden_milestones | array of string | Conversation milestones the sale must not have reached by the end of the turn. |
| turns[].expected_stage | string | Journey stage key the reply must reach. |
| final | object | Checks on the whole conversation once the turns are done. |
| final.expected_tools | array of object | |
| final.expected_tools[].name | string | |
| final.expected_tools[].input | object | |
| final.forbidden_tools | array of string | |
| final.expected_milestones | array of string | Conversation milestones the sale must have reached by the end. |
| final.forbidden_milestones | array of string | Conversation milestones the sale must not have reached by the end. |
| final.expected_stage | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_check_script
Write Update a scripted compliance check
Replaces a script's turns and final checks (send the whole script). Manager or owner.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| question required | string | The script's title. |
| notes | string | |
| turns required | array of object | Each turn: what the customer says and what must be true of the agent's reply. |
| turns[].say | string | |
| turns[].expected_answer | string | |
| turns[].expected_tools | array of object | |
| turns[].expected_tools[].name | string | |
| turns[].expected_tools[].input | object | |
| turns[].forbidden_tools | array of string | |
| turns[].matcher_config | object | |
| turns[].expected_milestones | array of string | Conversation milestones the sale must have reached by the end of the turn. |
| turns[].forbidden_milestones | array of string | Conversation milestones the sale must not have reached by the end of the turn. |
| turns[].expected_stage | string | Journey stage key the reply must reach. |
| final | object | Checks on the whole conversation once the turns are done. |
| final.expected_tools | array of object | |
| final.expected_tools[].name | string | |
| final.expected_tools[].input | object | |
| final.forbidden_tools | array of string | |
| final.expected_milestones | array of string | Conversation milestones the sale must have reached by the end. |
| final.forbidden_milestones | array of string | Conversation milestones the sale must not have reached by the end. |
| final.expected_stage | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_check_schedule
Write Schedule recurring compliance checks
Runs a question group against an agent on a cadence (daily, weekly, monthly) at hour_utc. Every run SPENDS CREDIT on the compliance ledger: confirm with the user. Manager or owner.
Arguments
| Field | Type | Description |
|---|---|---|
| question_group_id required | string | |
| agent_id required | string | |
| agent_version_id | string | |
| channel required | string |
One of: "web", "sms", "email", "voice"
|
| cadence required | string |
One of: "daily", "weekly", "monthly"
|
| hour_utc required | integer | 0-23, the UTC hour it runs. |
| name | string | |
| fixture | string |
One of: "none", "issued_quote", "expired_quote", "returning_application", "declined_application", "bound_policy", "cooling_off_policy", "policy_in_arrears", "renewal_approaching", "cancelled_policy", "bound_policy_with_claim"
|
| product_slug | string | |
| journey_slug | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_check_schedule
Write Update a compliance check schedule
Changes a schedule, including pausing it (enabled: false). Every field is required, as on the schedule form: read it first (list_check_schedules) and send the current values for anything unchanged. Manager or owner.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| question_group_id required | string | |
| agent_id required | string | |
| agent_version_id | string | |
| channel required | string |
One of: "web", "sms", "email", "voice"
|
| cadence required | string |
One of: "daily", "weekly", "monthly"
|
| hour_utc required | integer | 0-23, the UTC hour it runs. |
| name | string | |
| fixture | string |
One of: "none", "issued_quote", "expired_quote", "returning_application", "declined_application", "bound_policy", "cooling_off_policy", "policy_in_arrears", "renewal_approaching", "cancelled_policy", "bound_policy_with_claim"
|
| product_slug | string | |
| journey_slug | string | |
| enabled required | boolean | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
delete_check_schedule
Write Delete a compliance check schedule
Stops a recurring check schedule for good (past runs stay). Manager or owner.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |