create_audience
ChatGPTCreate a new audience in the caller's Uxia workspace and synchronously generate AI testers for it. An audience defines targeting filters (age, gender, geography, demographics) used to recruit testers. Returns the created audience plus the freshly generated testers.
create_livepage_test
ChatGPTCreate, configure, and launch an unmoderated livepages test in the caller's Uxia workspace in a single call. Use this after picking an audience (see list_audiences) to run AI testers against a live URL. Get four fields right: scenario (who the tester is and why they are here), mission (the single concrete action they take in the product), stopCondition (the observable on-screen state that ends the session), and questions (what the researcher wants to learn afterwards — judgments, comparisons, drop-off analysis go HERE, not in mission). IMPORTANT: this launches immediately and spends real credits — each tester costs 25 credits, so the test costs (the audience's tester count) × 25 (check the audience size with get_audience and the balance with get_credits). Draft the four fields, tell the user the expected cost, and get explicit confirmation before calling this tool. Returns the new testId, a url deep link to open the test in Uxia, and a creditsMessage reporting credits used and remaining; consider sharing the url with the user as a clickable link.
get_audience
ChatGPTSummarize the AUDIENCE of the current test: how many testers took part, the gender split (how many women vs men), the age range and average, and demographic breakdowns (industry, role, country, nationality, languages, employment status, marital status, education level, tech literacy) computed over the actual testers. Also returns the originally configured audience targeting (the description and filters the test was set up with). Use this for questions about who the testers are as a GROUP — e.g. "how many testers were involved", "how many women vs men", "what are the demographics of the audience", "what's the age range". For one specific tester by name, use get_tester instead. Scoped to this test only.
get_credits
ChatGPTReturn the caller's workspace credit balance: plan, total credits, credits used, and credits remaining (remainingCredits is null when the plan has unlimited credits). Livepages tests cost 25 credits per tester — call this to check the balance before launching a test.
get_human_navigation_summary
ChatGPTHeadline navigation KPIs for the REAL HUMAN participants (not the AI testers) — the figures shown on the product's Human Insights tab: number of human participants, task success rate, drop-off rate, misclick rate, and average session duration in seconds. Call this for any question about how the human/live/moderated/real participants performed overall, OR to report how many human participants there were. This is distinct from get_navigation_summary, which reports the AI testers.
get_human_session
ChatGPTRead one human-participant recording session as raw data: the post-test answered questions and the talk-aloud transcript text. The ref is what list_human_sessions returns (format: 'human_session:<id>'). The answered questions are always returned in full; paginate the transcript via offset+limit (chars) if it is long.
get_insight
ChatGPTGet full detail for one insight by its ref. The ref is the string returned by list_insights (format: 'insight:<number>'). Returns title, description, evidence quotes, fix suggestion, and impact fields. If insight_details are paywalled for this viewer, evidence and fix explanation will be redacted.
get_navigation_summary
ChatGPTHeadline navigation KPIs. For clickable-prototype tests: success rate, drop-off rate, misclick rate, average attempts per step, and step counts. For live (livepages) tests: success rate, drop-off rate, and step counts (average/min/max) PLUS a per-tester step breakdown — use this to answer 'how many steps did <tester> take'; misclick and attempt metrics are not available on live tests. Call this first when the user asks broad navigation questions ('how did the test go', 'overall results').
get_optimization_score
ChatGPTReturns the Usability Optimization Score (UoS, 0–100) for a test — Uxia's proprietary whole-flow UX score derived from the test's issues (weighted by relevance), tester count normalization, and user-satisfaction ratings — plus its qualitative label (Partial/Good/Very Good/Excellent), a breakdown of the contributing issue counts (high/medium/low) and per-area satisfaction scores, and an about field explaining what the score means, how to read the bands, and how it helps compare different flows tested with similar audiences. Call this when the user asks how the test scored overall, e.g. 'what's the optimization score', 'how usable is this', or 'what's the overall result'. This is NOT the UXIA-Q satisfaction score (0–5) — for UXIA-Q or SUS call get_satisfaction_score instead.
get_satisfaction_score
ChatGPTReturns the self-reported satisfaction scores for a test: the overall UXIA-Q score (0–5, the average of four pillars — usability, trust, appearance, loyalty), each pillar score, and the SUS (System Usability Scale, 0–100 with a letter grade) when computed, plus an about field explaining what these scores mean. Call this when the user asks about the UXIA-Q score, a satisfaction pillar, the SUS score, or what those scores mean (e.g. 'what's the UXIA-Q score', 'how do testers rate trust', 'what's the SUS', 'what does this score mean'). This is NOT the Usability Optimisation Score (0–100, computed from issues) — for that call get_optimization_score. If a score is null it was not computed for this test; say so rather than substituting another metric.
get_screen_details
ChatGPTDrill into one screen by frame index: aggregated metrics, any loop activity, and a per-tester list with visits, misclicks, and their last action on that screen. Each tester entry includes a 'transcript:<id>' ref the user can click to open the full transcript. Use this after list_screen_metrics or list_dropoff_points has pointed at a specific screen.
get_strengths
ChatGPTSummarise the test's strengths — the things testers responded well to, found easy, or appreciated — by analysing the testers' post-test reflections together with the test's satisfaction scores. Call this when the user asks for strong points, strengths, positives, what worked well, or what testers liked. Returns strength themes, each with a short description and the supporting testers (with a transcript reference per tester). If there are no tester reflections, it reports that none are available rather than inventing positives.
get_test
ChatGPTGet metadata for one test in the caller's workspace by its id (obtain the id from list_tests). Returns title, goal, status, type, source, creation date, a 'url' deep link to open the test in Uxia (consider sharing this 'url' with the user as a clickable link), and 'hasResults' — only when hasResults=true will the per-test analytics tools (list_insights, get_insight, etc.) return data for this test.
get_test_question_responses
ChatGPTGet one real AI tester's individual post-test answer for a single post-test question, plus that question's response/clustering context. Each individual tester answer includes a stable quote ref. Pass testerName only when it is an actual tester name returned by list_test_questions.testerNames; never pass placeholders like "all", "everyone", or "testers". For all tester responses, call list_test_questions, then call this tool once per listed testerName for each relevant question. For one tester's answers across all post-test questions, call list_test_questions, then call this tool once per listed question with testerName set to that tester. Do not use transcript tools for post-test response requests. Pass the "ref" string exactly as list_test_questions returned it; do NOT construct the ref yourself or derive it from the question number.
get_test_setup
ChatGPTGet the current test setup: title, goal, scenario/context shown to testers, and the configured post-test questions. Use this when the caller asks for the test scenario, test context, mission setup, goal, or configured questions for a specific test.
get_tester
ChatGPTFetch one AI tester's full profile by name (age, demographics, role, psychological profile) and render it as a tester card. Match is case-insensitive and partial. Use when the user asks about a specific tester by name — e.g. "tell me about Sarah", "who is tester X", "show me X's profile". Tester names come from list_insights / list_transcripts. If several testers match the name it returns candidate names to disambiguate; if none match it reports that and lists the available testers. Scoped to this test's testers only.
get_transcript
ChatGPTRead a single tester transcript as plain text. The ref is what list_transcripts returns (format: 'transcript:<id>'). Paginate via offset+limit (chars) if the transcript is long.
list_audiences
ChatGPTList up to 10 audiences in the caller's Uxia workspace. Use this to discover existing audiences before creating a new one, to reference an audience by id in another action, or to summarize the workspace's targeting setup.
list_dropoff_points
ChatGPTScreens where testers stopped progressing, ranked by how many testers dropped off there. Use this for 'where did testers drop off', 'where did people get lost', 'which screen lost the most testers'. Each point includes the absolute count, the share of all testers, and how many distinct drop-off paths end on that screen.
list_human_sessions
ChatGPTList the real human-participant recording sessions for this test (talk-aloud transcripts + post-test answered questions). These are actual people who took the test, distinct from the AI testers covered by list_transcripts. Returns lightweight summaries; call get_human_session with a returned ref to read a session's full transcript and answers.
list_insights
ChatGPTList insights (UX issues) found in this test, sorted by severity (high → prototype). ONE call returns all severities together — do NOT call this multiple times to iterate per severity or per category. For 'top N insights' just call with the appropriate limit. Use the severity or category filters only when the user asks for a specific slice. To answer 'what did <AI tester> flag / raise as issues?', pass that tester's name in the optional testerName filter — it keeps only insights where one of the supporting quotes is attributed to that tester (case-insensitive, partial match). Omit it to list across all testers (never pass a blank value or a group word like 'human'). This covers AI testers only; for a human participant use get_human_session. If unsure of the exact tester names, call list_transcripts first. Call get_insight with a returned 'ref' for full evidence. Severity values: high | medium | low | prototype.
list_loop_screens
ChatGPTScreens that testers came back to after navigating away — a signal of confusion, dead-ends, or testers backtracking to look for something. Use this for 'what screens caused loops', 'where did people go in circles', 'screens with backtracking'. A revisit is counted when a tester returns to a screen they had previously left.
list_paths
ChatGPTList the distinct paths testers took, sorted by how many testers followed each path. Use this for 'most common path', 'what paths did testers follow', 'what paths did the ones who dropped off take'. Each path is a sequence of screens/pages with completion/drop-off counts. Filter by status ('success' or 'drop-off') for drop-off-specific queries. On live (livepages) tests, paths are the page sequences testers visited (labeled by page title/URL) and misclick/attempt figures are omitted; filtering status='drop-off' shows which page sequences ended in a drop-off.
list_screen_metrics
ChatGPTPer-screen navigation metrics (misclick rate, average attempts, total clicks, testers reached), sortable. Use this for 'which screens had the most misclicks', 'which screen was hardest to use', 'screens with the most attempts'. Pass sortBy to pick the ranking dimension; default is misclick rate descending.
list_test_questions
ChatGPTList post-test questions asked at the end of the study, with the count of tester responses each received and the tester names that answered each question. In this product, "tester responses", "all tester responses", "question responses", and "what did testers answer?" mean these post-test question answers by default. Each question has a 1-based "number" — the position the user sees, so the user's "question 1" / "Q1" is the item with number 1. To show tester responses, call get_test_question_responses with this tool's exact question ref and a real testerName from testerNames. For all tester responses, call get_test_question_responses once per testerName; never pass placeholders like "all", "everyone", or "testers" as testerName. Never build the ref yourself from the question number. Do not use transcript tools for response/answer requests.
list_tests
ChatGPTList usability tests in the caller's workspace, most recent first. Use this to find a test's id before calling the per-test tools (list_insights, get_insight, etc.), which require a testId. Pass 'query' to search by title (case-insensitive substring), 'status' to filter, and 'limit' to cap results. Each result includes 'hasResults' — only tests with hasResults=true can be analyzed by the per-test tools — and a 'url' deep link to open the test in Uxia (consider sharing this 'url' with the user as a clickable link).
list_transcripts
ChatGPTList AI-tester task-session transcripts (one per tester) with step counts. This is for session steps, clicks, reasoning, expectations, and screen-by-screen behavior — NOT post-test question answers. For "tester responses", "all tester responses", "question responses", or "what did testers answer?", use list_test_questions and get_test_question_responses instead. Pass the optional testerName filter (case-insensitive, partial) to narrow to a single tester — e.g. 'why did Carlos click X' is { testerName: 'Carlos' }; omit it to list every tester. Use get_transcript with a returned ref to read the full text.
search_quotes
ChatGPTSearch the AI testers' quotes (the automated testers that ran the flow) across all insights and any standalone user_quotes, for a substring (case-insensitive). AI TESTERS ONLY: this does NOT cover human-participant sessions — for anything a human/real participant said, use get_human_session, never this tool. query is the TOPIC only — what was said (e.g. 'payment gateway', 'CTA'); do NOT put a tester's name in query. To restrict results to one AI tester, pass their name in the separate optional testerName filter (case-insensitive, partial); omit it to search across all testers (never pass a blank value or a group word like 'human'). So 'what did Jaime say about the payment gateway?' is { query: 'payment gateway', testerName: 'Jaime' }. Returns matched quotes with the source insight ref where applicable.