MCP App Store
Productivity
Tenzo AI MCP icon

Tenzo AI MCP

by Tenzo AI

Overview

Ask your recruiting data anything. The Tenzo AI MCP server connects your AI assistant to your hiring pipeline, so instead of clicking through screens you can just ask: who applied for this role, where each candidate stands, how they did on their AI screening call, and what's changed this week. Pull up a candidate and follow them end to end - their applications and stages, resume, SMS and email history, and the full screening-call transcript, grade, and summary. Check how a job is configured, review meeting notes, and surface hiring analytics, all in plain language. Access is read-only and OAuth-authenticated, so the assistant can read your data but never change it, and everything stays scoped to your organization.

Tools

get_analytics_metrics

ChatGPT
Get analytics metrics Return analytics metrics and chart payloads for the filtered scope (dashboard + supplementary SMS/time-saved/satisfaction series used by the analytics page). Filters align to the analytics dashboard UI: optional `date_range` (JSON string), `folder_id`, `campaign_id`, `candidate_source`, and `recruiter`. Args: date_range: JSON-encoded date range, e.g. {"start_date":"2026-01-01T00:00:00Z","end_date":"2026-01-31T23:59:59Z"}. folder_id: Optional folder id to scope analytics. campaign_id: Optional job/campaign id to scope analytics. candidate_source: Optional candidate source filter. Supports sourced, applied, or comma-separated values like sourced,applied. recruiter: Optional comma-separated recruiter email list.

get_application

ChatGPT
Get application DEPRECATED: use the list endpoint with ids (which now accepts a Tenzo id OR an ATS remote id) for single or batch lookup. Returns a single record when you supply exactly one lookup key: `id` (Tenzo UUID) or `remote_id` (your identifier). Passing both or neither is invalid. Args: id: Tenzo internal UUID for this application (CandidateCampaignInfo id). Exactly one of `id` or `remote_id` is required. remote_id: Your application id—same value as application.remote_id on POST /api/v1/application. Exactly one of `id` or `remote_id` is required.

get_application_by_candidate_and_job

ChatGPT
Get application by candidate and job DEPRECATED: use GET /applications with candidate_id + job_id filters instead. Resolve a (candidate_id, job_id) pair to its application record. Use this when you have the Tenzo candidate id and job id but not the application id. Returns 404 when the candidate has no application on that job. Args: candidate_id: Tenzo internal UUID for the candidate (org-scoped). job_id: Tenzo internal UUID for the job/campaign (org-scoped).

get_application_communications_email

ChatGPT
Get application email Scoped to an application: supply exactly one of `id` (Tenzo internal application UUID) or `remote_id` (your application.remote_id from POST /application). Passing both or neither returns 400. Args: id: Tenzo internal UUID for this application (CandidateCampaignInfo id). Exactly one of `id` or `remote_id` is required. application_remote_id: Your application id—same value as application.remote_id on POST /api/v1/application. Exactly one of `id` or `remote_id` is required.

get_application_communications_sms

ChatGPT
Get application SMS Scoped to an application: supply exactly one of `id` (Tenzo internal application UUID) or `remote_id` (your application.remote_id from POST /application). Passing both or neither returns 400. Args: id: Tenzo internal UUID for this application (CandidateCampaignInfo id). Exactly one of `id` or `remote_id` is required. application_remote_id: Your application id—same value as application.remote_id on POST /api/v1/application. Exactly one of `id` or `remote_id` is required.

get_ats_integration_configuration

ChatGPT
Get ATS integration dynamic configuration schema

get_audit_event_filter_options

ChatGPT
Audit event filter options Return the distinct filter values available for this org's audit log (the set of event types and entity types actually present). Use these values to populate the filters when calling list_audit_events.

get_call

ChatGPT
Get call Returns one call session for your organization. `id` (Tenzo call UUID) is required. This API does not expose a customer remote_id for calls. Args: id: Tenzo internal UUID for this interview / call session.

get_call_quality_eval

ChatGPT
Get Call Quality Evaluation Return the AI (LLM-as-a-judge) quality evaluation for a single call, including its overall score and the rationale, keyed by the Tenzo call/interview UUID. Returns 404 when the call does not exist in this org or when no evaluation has been generated for it yet. Args: tenzo_id: Tenzo internal call/interview UUID.

get_call_transcript

ChatGPT
Get call transcript Returns voice call_transcript and optionally aggregate sms_transcript when available. `id` (Tenzo call UUID) is required (no remote_id for calls in this API). Args: id: Tenzo internal UUID for this interview / call session.

get_candidate

ChatGPT
Get candidate DEPRECATED: use the list endpoint with ids (which now accepts a Tenzo id OR an ATS remote id) for single or batch lookup. Returns a single record when you supply exactly one lookup key: `id` (Tenzo UUID) or `remote_id` (your identifier). Passing both or neither is invalid. Args: id: Tenzo internal UUID for this candidate. Exactly one of `id` or `remote_id` is required. remote_id: Your candidate identifier—same value as candidate.remote_id on POST /api/v1/application. Exactly one of `id` or `remote_id` is required.

get_candidate_resume

ChatGPT
Get Candidate Resume Return one candidate's parsed resume text plus structured work-experience entries, keyed by the Tenzo candidate UUID. A real candidate with no resume yet still returns a view with null resume text and an empty experience list; an unknown candidate returns 404. Args: tenzo_id: Tenzo internal candidate UUID.

get_doc

ChatGPT
Get Doc Content Return the full content of one product/API documentation file addressed by its relative path (as listed by list_docs). Returns 404 if the path is unknown or not an allowed doc file.

get_grading_analytics

ChatGPT
Get per-question grading analytics for a job Aggregate per-question grading stats across all completed graded interviews for a job (identified by `campaign_id`). For each question returns sample size, mean/median grade, min/max, pass rate, and a leniency signal (possibly_too_harsh, possibly_too_lenient, or balanced). Questions are sorted worst-first and worst_question names the lowest-scoring one. Read-only; does not change grading.

get_interview_results

ChatGPT
Get interview result Application-scoped interview result payload. Supply exactly one of `id` (Tenzo internal application UUID / candidate_campaign_id) or `remote_application_id` (your application.remote_id from POST /application; remote_id is accepted for backwards compatibility). Response fields match the Results Webhook callback payload. Args: id: Tenzo internal UUID for this application (CandidateCampaignInfo id). Exactly one of `id` or `remote_id` is required. remote_application_id: Your application id (same value as application.remote_id on POST /api/v1/application). Exactly one of id or remote_application_id is required.

get_interview_rules

ChatGPT
Get rules Returns the org's script-generation rule sets — the instruction bundles used to generate interview scripts — one per template. Each rule set is identified by its `id` and carries a `name`, an `is_default` flag, and the instruction fields: `instructions`, `variables`, `call_intro_instructions`, `initial_sms_instructions`, `initial_email_instructions`, `resume_requirements_instructions`, `screening_questions_instructions`, `grading_instructions_instructions`, and `outro_instructions`. The optional `id` query param narrows the result to a single rule set by its id. Args: id: Optional rule set id to narrow the result to a single rule set; omit to list all.

get_job

ChatGPT
Get job DEPRECATED: use the list endpoint with ids (which now accepts a Tenzo id OR an ATS remote id) for single or batch lookup. Returns a single record when you supply exactly one lookup key: `id` (Tenzo UUID) or `remote_id` (your identifier). Passing both or neither is invalid. Args: id: Tenzo internal UUID for this job. Exactly one of `id` or `remote_id` is required. remote_id: Your job identifier—same value as remote_id on POST /api/v1/job. Exactly one of `id` or `remote_id` is required.

get_job_candidate_questions

ChatGPT
List candidate questions for a job (paginated) Args: job_id: Tenzo internal job (campaign) UUID.

get_job_resume_requirements

ChatGPT
Get resume filter requirements for a job Args: job_id: Tenzo internal job (campaign) UUID.

get_job_script

ChatGPT
Get curated job script payload Returns Cosmos script content (screening requirements, outreach copy) scoped to one job. Args: job_id: Tenzo internal job (campaign) UUID.

get_job_settings

ChatGPT
Get effective merged job settings Return the effective settings for one job, computed by merging org-level defaults with any job-specific overrides (the override wins where set). Covers notification, outreach hours, call retry, scheduling, avatar, and related configuration. Keyed by the Tenzo job (campaign) UUID. Args: job_id: Tenzo internal job (campaign) UUID.

get_media_item

ChatGPT
Get media asset Returns one media asset metadata record. `id` (Tenzo media asset UUID) is required. There is no customer remote_id for media items in this API. Args: id: Tenzo internal UUID for this media asset.

get_meeting_copilot_note

ChatGPT
Get Meeting Copilot note Fetch one Meeting Copilot note by Tenzo internal id. Returns the note's structured sections, markdown summary, transcript, and associated meeting metadata. Args: tenzo_id: Tenzo internal Meeting Copilot note UUID.

get_meeting_copilot_template

ChatGPT
Get Meeting Copilot template Fetch one Meeting Copilot template by Tenzo internal id. Returns the template's structured sections, context, constraints, and compliance rules. Args: tenzo_id: Tenzo internal Meeting Copilot template UUID.

get_org_interview_settings

ChatGPT
Get org-level interview settings defaults Returns org-level Interview Settings defaults from Settings > Interview Settings > Caller Settings. Use /job/settings for a specific job's merged effective settings.

get_sourcing_by_user

ChatGPT
Get sourced-candidate counts per user Return the number of candidates each recruiter sourced over the requested scope, grouped by the sourcing recruiter's email. Answers questions like "how many people did each user source this week?". Optional `date_range` (JSON string, filters on when the candidate was sourced), `folder_id`, and `campaign_id` scope the result. Args: date_range: JSON-encoded date range, e.g. {"start_date":"2026-01-01T00:00:00Z","end_date":"2026-01-31T23:59:59Z"}. folder_id: Optional folder id to scope analytics. campaign_id: Optional job/campaign id to scope analytics.

get_template

ChatGPT
Fetch one template (or question constraint) by id within a family. Replaces the former per-kind get_*_template tools. Args: kind: Which template family the id belongs to. One of: script_generation, background_info, redaction, suggested_follow_up, voicemail_sms_prompt, flagged_event, summary, thank_you_email, custom_booking_outro, rejection_email, resume_feedback_email, interview_results_layout, question_constraints. template_id: The template id (or constraint id for question_constraints). Returns: The template definition on success, or {error, ...} on failure.

get_top_candidates_for_job

ChatGPT
Get top candidates for a job Return the top candidates for a job (identified by `campaign_id`) ranked by their best graded interview: overall_grade descending, tie-broken by question_completion_rate. Use `limit` to set how many to return (default 5, max 50). Answers questions like "who are the top 5 candidates for this role?". Args: limit: How many candidates to return (default 5, clamped to 1-50).

get_user

ChatGPT
Get User Args: tenzo_id: Tenzo internal user UUID.

list_application_comments

ChatGPT
Get application comments Scoped to an application: supply exactly one of `id` (Tenzo internal application UUID) or `remote_id` (your application.remote_id from POST /application). Passing both or neither returns 400. Args: id: Tenzo internal UUID for this application (CandidateCampaignInfo id). Exactly one of `id` or `remote_id` is required. application_remote_id: Your application id—same value as application.remote_id on POST /api/v1/application. Exactly one of `id` or `remote_id` is required.

list_applications

ChatGPT
List applications Returns a paginated list scoped to your organization (from the API key). Use `updated_after` (ISO 8601) for incremental sync. Use `cursor` from the prior response meta.next_cursor when `meta.has_more` is true. Use `sort` (updated_at_asc or updated_at_desc, default `updated_at_desc`) to order rows by each record's updated_at (stable ordering for `cursor` pagination). Optional filters: `job_id` / `candidate_id` (Tenzo UUIDs) or `job_remote_id` / `candidate_remote_id` (your ATS ids) — at most one per pair; a UUID from a prior result goes in *`_id**. Also **tenzo_stage**. Args: limit: Maximum number of rows to return in this page (1-100). Default: 50. cursor: Opaque pagination cursor from the previous response's next_cursor. Omit on the first request. updated_after: If set, only return records whose updated_at is strictly after this timestamp (ISO 8601, e.g. 2026-01-15T10:00:00Z). Used for incremental sync. updated_before: If set, only return records whose updated_at is on or before this timestamp (ISO 8601, e.g. 2026-01-15T10:00:00Z). created_after: ISO-8601 timestamp (must include a timezone offset, e.g. 2026-01-01T00:00:00Z). Returns only rows created on or after this instant. created_before: ISO-8601 timestamp (must include a timezone offset). Returns only rows created on or before this instant. job_id: When set, only return applications tied to this Tenzo job UUID (same internal id as application.job_id on POST /api/v1/application). job_remote_id: When set, only return applications tied to this job via the ATS/job remote identifier (same value as job remote_id on POST /api/v1/job). folder_id: When set, only return applications on jobs inside this folder. Same internal id as the folder id from GET /api/v1/folders. candidate_id: When set, only return applications for this Tenzo candidate UUID (the organization's internal candidate id). candidate_remote_id: When set, only return applications for this candidate identifier (same as candidate.remote_id on POST /api/v1/application). candidate_name: When set, only return applications whose candidate's full name contains this substring (case-insensitive). candidate_sources: When set, only return applications whose candidate_source is in this list (e.g. candidate_sources=manual&candidate_sources=sourced). sort: Sort order by each row's updated_at. updated_at_desc returns newest-first (default); updated_at_asc returns oldest-first. Allowed values: updated_at_asc, updated_at_desc. tenzo_stage: When set, only return applications in this Tenzo lifecycle stage (same as tenzo_stage on the application row; e.g. OUTREACH, CALL_COMPLETED). For multiple stages, use tenzo_stages instead. tenzo_stages: When set, only return applications whose tenzo_stage is in this list (e.g. tenzo_stages=OUTREACH&tenzo_stages=CALL_COMPLETED). Combines with the singular tenzo_stage via OR if both are supplied. ids: When set, only return applications whose Tenzo id OR ATS remote id is in this list (e.g. ids=<uuid-or-remote-id>&ids=...`, max 200). Combine with other filters.

list_ats_integration_rules

ChatGPT
List ATS integration rules

list_ats_integrations

ChatGPT
List ATS integrations

list_audit_events

ChatGPT
List audit events Org-scoped audit log (API key). Supports time range and type filters. Args: start_time: ISO 8601 with timezone; events on or after this created_at. end_time: ISO 8601 with timezone; events on or before this created_at. event_types: Filter by one or more event types. entity_type: Filter by audited entity type. entity_name: Case-insensitive search over supported audited entity names. user_email: Case-insensitive search over the actor/user email. limit: Max events to return. offset: Number of events to skip.

list_calls

ChatGPT
List calls Returns a paginated list scoped to your organization (from the API key). Use `updated_after` (ISO 8601) for incremental sync. Use `cursor` from the prior response meta.next_cursor when `meta.has_more` is true. Optional: narrow with at most one of `candidate_id` (Tenzo candidate UUID), `call_id` (Tenzo call UUID), or `application_id` (Tenzo application UUID); omit all for org-wide paging. Args: limit: Maximum number of rows to return in this page (1-100). Default: 50. cursor: Opaque pagination cursor from the previous response's next_cursor. Omit on the first request. updated_after: If set, only return records whose updated_at is strictly after this timestamp (ISO 8601, e.g. 2026-01-15T10:00:00Z). Used for incremental sync. candidate_id: When set, scope the list to calls for this Tenzo candidate UUID. Use at most one of `candidate_id`, `call_id`, or `application_id`. call_id: When set, scope the list to this Tenzo call UUID (typically zero or one row). Use at most one of `candidate_id`, `call_id`, or `application_id`. application_id: When set, scope the list to calls tied to this Tenzo application UUID (internal application / candidate-campaign id). Use at most one of `candidate_id`, `call_id`, or `application_id`. ids: When set, only return calls whose Tenzo id is in this list (e.g. ids=<uuid>&ids=<uuid>, max 200). Combine with other filters.

list_candidate_notes

ChatGPT
List Candidate ATS Notes List the ATS-synced timeline notes attached to a candidate, newest first, keyed by the Tenzo candidate UUID. Returns up to limit notes; an unknown candidate returns 404. Args: tenzo_id: Tenzo internal candidate UUID.

list_candidates

ChatGPT
List candidates Returns a paginated list scoped to your organization (from the API key). Use `updated_after` (ISO 8601) for incremental sync. Use `cursor` from the prior response meta.next_cursor when `meta.has_more` is true. Use `sort` (updated_at_asc or updated_at_desc, default `updated_at_desc`) to order rows by each record's updated_at (stable ordering for `cursor` pagination). Args: limit: Maximum number of rows to return in this page (1-100). Default: 50. cursor: Opaque pagination cursor from the previous response's next_cursor. Omit on the first request. updated_after: If set, only return records whose updated_at is strictly after this timestamp (ISO 8601, e.g. 2026-01-15T10:00:00Z). Used for incremental sync. sort: Sort order by each row's updated_at. updated_at_desc returns newest-first (default); updated_at_asc returns oldest-first. Allowed values: updated_at_asc, updated_at_desc. ids: When set, only return candidates whose Tenzo id OR ATS remote id is in this list (e.g. ids=<uuid-or-remote-id>&ids=..., max 200). Combine with other filters.

list_docs

ChatGPT
List Doc Paths List the relative paths of all available product/API documentation files (Markdown docs). Use a returned path with get_doc to fetch that document's content.

list_folder_contents

ChatGPT
List Folder Contents List the direct children of a folder: its immediate subfolders plus the jobs filed directly in it. Omit folder_id (or pass null) to list the org root: top-level folders and jobs not in any folder. Does not recurse into subfolders; drill down by re-calling with a subfolder's id. Each list is independently capped at limit; use search_jobs for org-wide job listings. Args: folder_id: Tenzo internal folder UUID. Omit (or pass null) to list the org root — top-level folders + jobs not in any folder.

list_interview_results

ChatGPT
List interview results Application-scoped interview result payload. Supply exactly one of `id` (Tenzo internal application UUID / candidate_campaign_id) or `remote_application_id` (your application.remote_id from POST /application; remote_id is accepted for backwards compatibility). Response fields match the Results Webhook callback payload. Supports standard list paging/sync parameters: `limit`, `cursor`, `updated_after`, and `sort`. Args: id: Tenzo internal UUID for this application (CandidateCampaignInfo id). Exactly one of `id` or `remote_id` is required. remote_application_id: Your application id (same value as application.remote_id on POST /api/v1/application). Exactly one of id or remote_application_id is required. limit: Maximum number of rows to return in this page (1-100). Default: 50. cursor: Opaque pagination cursor from the previous response's next_cursor. Omit on the first request. updated_after: If set, only return records whose updated_at is strictly after this timestamp (ISO 8601, e.g. 2026-01-15T10:00:00Z). Used for incremental sync. sort: Sort order by each row's updated_at. updated_at_desc returns newest-first (default); updated_at_asc returns oldest-first. Allowed values: updated_at_asc, updated_at_desc.

list_jobs

ChatGPT
List jobs Returns a paginated list scoped to your organization (from the API key). Use `updated_after` (ISO 8601) for incremental sync. Use `cursor` from the prior response meta.next_cursor when `meta.has_more` is true. Use `sort` (updated_at_asc or updated_at_desc, default `updated_at_desc`) to order rows by each record's updated_at (stable ordering for `cursor` pagination). Args: limit: Maximum number of rows to return in this page (1-100). Default: 50. cursor: Opaque pagination cursor from the previous response's next_cursor. Omit on the first request. updated_after: If set, only return records whose updated_at is strictly after this timestamp (ISO 8601, e.g. 2026-01-15T10:00:00Z). Used for incremental sync. sort: Sort order by each row's updated_at. updated_at_desc returns newest-first (default); updated_at_asc returns oldest-first. Allowed values: updated_at_asc, updated_at_desc. outreach_state: Optional outreach state filter: paused or resumed. name_contains: Optional case-insensitive partial match against job name/title. Use for operator search, not incremental sync. ids: When set, only return jobs whose Tenzo id OR ATS remote id is in this list (e.g. ids=<uuid-or-remote-id>&ids=..., max 200). Combine with other filters.

list_media

ChatGPT
List media assets (audio / video metadata) Returns a paginated list scoped to your organization (from the API key). Use `updated_after` (ISO 8601) for incremental sync. Use `cursor` from the prior response meta.next_cursor when `meta.has_more` is true. Args: limit: Maximum number of rows to return in this page (1-100). Default: 50. cursor: Opaque pagination cursor from the previous response's next_cursor. Omit on the first request. updated_after: If set, only return records whose updated_at is strictly after this timestamp (ISO 8601, e.g. 2026-01-15T10:00:00Z). Used for incremental sync. ids: When set, only return media assets whose Tenzo id is in this list (e.g. ids=<uuid>&ids=<uuid>, max 200). Combine with other filters.

list_meeting_copilot_notes

ChatGPT
List Meeting Copilot notes List Meeting Copilot notes (recorded meeting/intake/interview sessions) in the org, newest first. Distinct from candidate ATS-timeline notes — those live on the candidate. Optional q substring matches against note name, candidate name, or job name. Optional type filters by meeting type. Args: q: Optional substring matched against note name, candidate name, or job name. type: Filter by note type (interview, intake, sales, other). ids: When set, only return notes whose Tenzo id is in this list (e.g. ids=<uuid>&ids=<uuid>, max 200). Combine with other filters.

list_meeting_copilot_templates

ChatGPT
List Meeting Copilot templates List Meeting Copilot templates (note presets) in the org. These define the structured sections, context, and constraints used to shape a meeting note. Optional q substring matches against template name. Optional type filters by meeting type. Args: q: Optional substring matched against template name. type: Filter by template type (interview, intake, sales, other). ids: When set, only return templates whose Tenzo id is in this list (e.g. ids=<uuid>&ids=<uuid>, max 200). Combine with other filters.

list_templates

ChatGPT
List your org's templates of a given family. Replaces the former per-kind list_*_templates tools. Args: kind: Which template family to list. One of: script_generation, background_info, redaction, suggested_follow_up, voicemail_sms_prompt, flagged_event, summary, thank_you_email, custom_booking_outro, rejection_email, resume_feedback_email, interview_results_layout, question_constraints. name: Optional case-insensitive substring filter on the template name. Returns: {items: [{template_id, name, updated_at}]} on success, or {error, ...} on failure.

list_unanswered_candidate_questions

ChatGPT
List unanswered candidate questions Rows where the model declined to answer the candidate's question (is_answered=false), optionally since a timestamp. Args: since: ISO 8601 timestamp with timezone; only questions created at or after this time.

list_users

ChatGPT
List users in organization Args: name: Optional substring match on first name, last name, or email.

search_candidates

ChatGPT
Search Candidates by Name Find candidates by a case-insensitive substring match on full name (email is not searched). Returns up to limit lightweight candidate views (id, name, email, phone, timezone). This is the primary way to resolve a person's name to a candidate_id for use with other tools.

search_folders

ChatGPT
Search Folders by Name Find folders by a case-insensitive substring match on the folder name, returning up to limit folder summaries. Use this to resolve a folder name to a folder_id without walking the tree.

search_interviews

ChatGPT
Search Interviews Search interview records, where each record is one candidate summarized to their most recent call for a job. Filter by candidate name (substring), call statuses, completion fraction range, score range, last-called date range, and job_id, folder_id, or candidate_id. Returns up to limit rows; the response flags likely truncation when score/completion filters may have dropped rows below the limit.

search_jobs

ChatGPT
Search Jobs (rich filters) Search jobs with rich filters, returning up to limit job summary records. Filter by name (case-insensitive substring), statuses, recruiter emails, creating user ids, created-at date range, and containing folder_id. All filters combine with AND; omit a filter to ignore it. statuses values are case-sensitive and must be uppercase: PENDING, PAUSED, or COMPLETED. There is no OPEN/CLOSED status — an open/active/live job is PENDING (the default state for a synced or resumed job); a temporarily stopped job is PAUSED; COMPLETED is deprecated. To list open jobs, pass statuses=["PENDING"]. Args: q: Deprecated alias for name; the previous /job/search endpoint exposed this name before the consolidation with /job/search-rich. Prefer name in new callers. min_length=1 preserves the old endpoint's empty-string rejection so existing callers see the same 400 they used to.

search_users

ChatGPT
Search Users by Name

submit_feedback

ChatGPT
Report a question you struggled to answer or a spot where you were uncertain. Use this to flag gaps, missing data, or low-confidence answers so the team can debug external usage issues and improve the agent. Call it in addition to your best answer, not instead of it. Args: category: Why you're flagging this — struggled_to_answer | uncertain | missing_data | other. question: The user's question/request you struggled with (paraphrase). details: What specifically was uncertain or missing, and why. session_id: Optional client/session identifier to help us trace the issue. Returns: {feedback_id, recorded} on success, or {error, recorded: False} on failure.

Capabilities

Writes

App Stats

53

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily