| Tool | Description |
|---|---|
list_calls | List interview calls, filterable by study/participant/status/quality |
get_call | Fetch one call (includes transcript, messages, recording_url, analysis) |
update_call | Update mutable fields (e.g. is_visible, success_evaluation) |
delete_call | Soft-delete a call |
get_call_usage_stats | Aggregate call counts/durations over a date range |
generate_report | Trigger study-level report generation |
Response shaping
Response shaping.get_call and list_calls return lean summaries by default:
view—"summary"(default) or"full"(raw record).include— array of heavy fields to expand, e.g.["transcript"],["messages"],["screener_questions"].fields— exact allowlist of top-level fields (idalways returned); overridesview/include.
include or view: "full" to fetch the omitted data.
Default page_size is 5 for list_calls (max 100). Using include on a list multiplies payload by page_size — prefer get_call for full heavy fields on a single record.
How User Intuition handles this
Every interview User Intuition runs is stored as a searchable, analyzable call record.generate_report triggers cross-study synthesis — the same engine powering the in-app dashboard reports. See /platform/agentic-research/ for the full agent-driven research workflow.
AI participant detection
Each scored call is checked for whether the participant (not the AI moderator) was likely an AI or bot rather than a genuine human — for example, someone relaying the questions through a chatbot and reading the answers back. The result is stored on the call’ssuccess_evaluation_details JSON under the ai_participant_check key:
success_evaluation score. A flagged call is surfaced to admins for review and can be moderated (excluded from results via is_visible, have its pending panel reward voided, or be re-scored). confidence is a 0–1 suspicion score and is 0.0 when not suspected; the detector is biased toward false negatives so genuine, articulate participants are not flagged.
