evidence.get
ChatGPTReturns one Evidence observation with its quote, observed behavior, interpretation, source interview and timestamp, page context, review state, and linked Findings. interviews.get_context provides the surrounding moment.
evidence.list
ChatGPTSearches interview Evidence for user problems, needs, workarounds, or successful experiences. Returns paginated quotes, observations, and source references for review or grouping into Findings. Defaults to product_under_test; target_surface="all" includes other areas.
evidence.update
ChatGPTReplaces or clears an Evidence annotation, dismisses it with a reason, or restores it with dismissed=false. Returns the updated Evidence. Changes private UserTold review state and recalculates linked Findings when dismissal changes.
feedback.submit
ChatGPTQueues an authorized bug report or suggestion about UserTold to its team. The report cannot be recalled. Not for feedback about the user's product. Exclude credentials, personal data, and raw private content.
findings.create_from_evidence
ChatGPTCreates a private backlog Finding from reviewed Evidence and calculates priority. Moves selected Evidence out of other active Findings while preserving link history. Mark it ready only after source review. Does not create a GitHub or Linear issue.
findings.get_evidence
ChatGPTReturns a Finding's linked Evidence, Interview timestamps, uncertainty, related Findings, possible recurrence, and decision summary. Check truncation flags before editing, planning follow-up research, defining acceptance criteria, or sending it externally.
findings.list
ChatGPTLists product problems and improvement opportunities collected from interviews. Returns paginated Findings with priority and supporting Interview/Evidence counts. Closed Findings are hidden by default; findings.get_evidence returns their sources.
findings.send
ChatGPTSends an authorized reviewed Finding with linked Evidence to GitHub or Linear. Creates and returns an external issue, or returns the previously recorded issue. Omit provider for the configured destination; pass "github" or "linear" only as an explicit override. The issue cannot be recalled.
findings.update
ChatGPTOverwrites supplied Finding fields and can attach or detach Evidence. Attaching Evidence moves it out of other active Findings while preserving link history. Set status="ready" only after checking sources, grouping, product relevance, and uncertainty. Changes UserTold only; findings.send is the separate GitHub or Linear handoff.
interviews.get_artifacts
ChatGPTReturns availability and resource links for a complete Interview transcript, audio, screen recording, and activity events, not file contents. Download transcript_text once for the exact transcript. Links expire after five minutes. Original captured content remains unchanged.
interviews.get_context
ChatGPTReturns a limited transcript window and sanitized navigation/click events around timestamp_ms. Check truncation flags; interviews.get_artifacts provides the complete transcript and recordings.
interviews.list
ChatGPTLists recorded participant Interviews for review, download, or processing checks. A projectRef is sufficient. Returns paginated summaries and interviewRef values for context, artifact, and processing tools. Supports Study and Interview status filters and omits participant identity fields.
interviews.processing_status
ChatGPTReturns saved Interview processing and Evidence extraction status with result counts. Does not start processing; interviews.retry_processing starts a new attempt only for an eligible failure or stall.
interviews.retry_processing
ChatGPTStarts a new processing attempt after interviews.processing_status shows a durable failure or no progress for 24 hours. Replaces generated Evidence and preserves manual Evidence. Completion can email the owner according to their notification preferences. If the outcome is uncertain, check status and do not retry automatically.
organizations.list
ChatGPTLists accessible organizations and their organizationRef values for projects.create. No reference is needed. Returns 25 records per page; when truncated is true, increase offset by count.
projects.create
ChatGPTCreates a private project and draft starter interview study in an organization from organizations.list. Returns projectRef for later calls. Does not configure billing, members, or GitHub/Linear connections.
projects.get_widget_setup
ChatGPTReturns the project widget snippet, saved installation verification, and interview readiness. Install once across the website; page and language rules select the active interview study. Does not run a new verification.
projects.list
ChatGPTLists accessible projects and their projectRef values for studies and interviews. No reference is needed. Reuse an existing starter project instead of creating a duplicate. Returns 25 records per page; when truncated is true, increase offset by count.
projects.verify_widget_installation
ChatGPTChecks the UserTold widget loader, project key, and browser security policies on a public HTTPS page. Replaces the saved verification URL and time after a passing check and preserves previous success on warnings or failures. Does not execute the app or verify microphone and screen permissions in a browser.
recordings.create_invitation
ChatGPTCreates a single-participant Chrome recording invitation in an existing project. Assigns the website and tasks, returns launchUrl and plain installation instructions. The participant needs no account; finishing automatically uploads to this project. Supply externalRef to make retries idempotent. Does not send invitations or make recordings public.
recordings.create_website_invitation
ChatGPTPrepares feedback for a website in an authorized organization. Creates or reuses a private project for the complete website URL and returns a single-participant Chrome recording invitation. Default first-impression tasks are supplied when instructions are omitted. externalRef makes repeated assignment creation idempotent. The participant needs no UserTold account. Does not send invitations.
recordings.get_results
ChatGPTReturns an assigned recording status, interview reference, private organizer URL, and any enabled viewing link. Poll this for a known invitationRef; completed means source upload is durable, while transcription and analysis may still be processing. Does not expose other participant recordings.
recordings.update_invitation
ChatGPTExplicitly changes recording invitation access. revoke stops invitation use and future uploads and revokes its viewing link. share creates a 30-day viewing link to a completed recording that anyone holding the link can open or embed. unshare revokes future viewing-link access; already issued media URLs expire within five minutes. Sharing rotates the prior link. Does not delete an interview.
setup.recommend
ChatGPTUse when the user wants customer discovery, interviews, usability tests, concept tests, or research into onboarding, churn, pricing, or feature feedback. Pass their goal in their own words. Returns guidance grounded in UserTold documentation and saves the request and response for service improvement without changing projects or studies. For account references, existing results, or an exact operation, call the relevant tool directly.
studies.create
ChatGPTSaves a validated interview or usability-test script as a draft Study. Configures invitations, page placement, and websites; a direct-link invitation provisions a revocable recruitment link in studies.get. Does not activate collection. The install-once snippet is in projects.get_widget_setup.
studies.get
ChatGPTReturns a Study's script, goals, invitation, page and language placement, websites, and existing recruitment link. If scriptOmitted=true, retrieve the full script through the dashboard or CLI.
studies.get_results
ChatGPTReturns existing Study results with interview counts, supporting quotes, source references, related findings, and uncertainty. Follow continuation offsets for omitted records; use evidence.get or interviews.get_context for individual moments. Does not generate a new synthesis.
studies.list
ChatGPTLists configured interview studies and usability tests by title, research topic, or status. Returns newest-first summaries and studyRef values for studies.get or studies.get_results. For recorded participant interviews, use interviews.list. Full scripts and page placement are in studies.get.
studies.update
ChatGPTChanges an existing Study's questions, invitations, page placement, or collection status. Overwrites supplied settings and can publish or revoke recruitment links. Status changes also update a linked Intake. status="active" starts collection; "paused" or "closed" stops new interviews without interrupting one in progress. Supply at least one change and validate revised scripts first. Uses the existing project widget; no per-study install is needed.
studies.validate_script
ChatGPTValidates a StudyScriptV2 before studies.create or studies.update. Returns errors or a summary of steps, goals, and modes. Does not save or activate a study; no project is required.