Guide
MCP server
Revox runs an MCP server (Model Context Protocol) that exposes this API as tools. Connect Claude, ChatGPT, Cursor, Codex or any MCP client to it and ask in plain words: create an assistant, pick its voice, connect a calendar, place a test call.
Server URL
https://www.getrevox.com/api/mcp-servers/generic/mcpStreamable HTTP transport. If you belong to several organizations, use the organization's own URL, shown in the dashboard on the MCP page, which also has one-click setup for each client.
Authentication
- OAuth: clients that support it (Claude, ChatGPT, Cursor) open a Revox sign-in window the first time. Nothing to configure.
- API key: send
Authorization: Bearer YOUR_API_KEY, the same key as the REST API.
How the tools work together
The server sends these instructions to the client on connection:
Revox places AI phone calls and manages the voice assistants that make them.
Before writing or changing an assistant's prompt (revox_create_assistant, or revox_update_assistant with prompt or first_sentence), call revox_get_prompt_guide and follow it: it is Revox's prompt-creation guide for phone conversations (identity and opener, turns, qualification, objections, actions, end of call). Pass its guide_version as prompt_guide_version: those tools refuse a prompt without it.
After your last change to an assistant, call revox_check_assistant_setup and fix what it reports before handing the assistant over.
To place a call, use revox_make_call, then revox_wait_for_call to get the outcome, transcript and extracted data.
You cannot play audio: to choose a voice, call revox_pick_voice and give the user its url, then revox_wait_for_voice_pick. After creating or updating an assistant, give the user its test_url to try it live in the browser.
You cannot sign in to a calendar account: to add a calendar, call revox_connect_calendar and give the user its url, then revox_wait_for_calendar. revox_list_assistant_tools lists what an assistant's prompts can mention as @name, including its calendars.
Tools
revox_auth_statusread onlyCheck if the API key is valid.
revox_create_api_keyCreate a Revox API key for the organization, to configure another tool or service (env var, CI secret, integration). The full key is returned only in this response and no tool can show it again: store it right away where it is needed, do not repeat it to the user unless they ask. The user can revoke it from dashboard_url.
Arguments
namerevox_get_callread onlyGet a call by ID. Use this to poll for completion after revox_make_call (MCP has no webhooks).
Arguments
idrevox_wait_for_callread onlyPoll a call until it completes, is cancelled, or the server time window expires (~240 s). If the result contains
_retry: true, call this tool again with the same id to keep waiting.Arguments
idpoll_interval_secsrevox_make_callPlace a call. Returns immediately with call id. Provide either assistant_id or prompt (not both). With assistant_id, personalize the call with prompt_variables (the assistant's {{variables}}); the assistant's own config is used and the inline fields (prompt, voice, first sentence, structured output, webhook, custom tools...) are ignored. With prompt, the inline fields configure this one call. Voice is optional: if voice_provider/voice_id are omitted, a voice is auto-selected based on the target phone number's country (e.g. a French number gets a French voice). Use metadata to attach your own ids, from_phone_number to choose the caller ID, scheduled_at to call later. To know when the call is done, use revox_wait_for_call or poll revox_get_call manually: the result carries the outcome, summary, transcript, extracted structured_output and the tools the agent ran.
Arguments
phone_numberprompt_variablesmetadatafrom_phone_numberscheduled_atconcurrencyskip_calling_windowtimezoneassistant_idpromptvoice_providervoice_idvoice_volumefirst_sentencefirst_sentence_modeend_of_call_sentencevoicemail_messagemax_call_duration_secsstructured_output_configstructured_output_promptwebhook_urlcustom_toolspost_call_prompttransfer_destinationshuman_transfer_modewarm_transfer_summary_instructionswarm_transfer_voice_speedrevox_get_callsread onlySearch/list calls
Arguments
querystatusesdirectionsresultsoutcomesassistant_idscampaign_idsfrom_phone_numbersassignee_idsvariablesto_phone_numbercall_idspagepage_sizesort_bysort_directionrevox_list_assistantsread onlyGet all assistants for the organization. Each comes with its dashboard_url and test_url (opens the page with the web test call ready).
revox_get_assistantread onlyGet an assistant by ID, with its dashboard_url and test_url (opens the page with the web test call ready).
Arguments
idrevox_get_prompt_guideread onlyRevox's prompt-creation guide (in French): the rules for an assistant's prompt on a phone call (identity and opener, personalization with variables, turns, qualification, objections, transfers and bookings, end of call) and the checks before delivering it. You MUST call this before revox_create_assistant, and before revox_update_assistant changes prompt or first_sentence, then write the prompt following it. It returns a guide_version to pass as prompt_guide_version. Pass the paths matching the case to also get their examples.
Arguments
pathsrevox_create_assistantCreate a new assistant. You MUST call revox_get_prompt_guide first and write the prompt following it; pass its guide_version as prompt_guide_version. Set voice_provider and voice_id for a specific accent (e.g. French): let the user choose by ear with revox_pick_voice, or use revox_list_voices and pick a voice whose language matches your prompt. custom_tools are HTTP endpoints the agent can call during the conversation; webhook_url receives each call's report when it ends; precall_lookup_url (inbound calls) is queried before answering to fill the prompt variables. To transfer calls to a human, set transfer_destinations (label + E.164 number each) and human_transfer_mode (warm: the AI briefs the colleague before connecting, the default; cold: direct SIP transfer); the prompt must say when to transfer and, with several destinations, which label to pick. post_call_prompt sets what happens once the call has ended (emails, SMS, Slack or Teams messages, CRM): read its description for how to write it and which tools exist. To text the person during the call instead, write in the prompt when to use @send_sms (only works when the number can receive SMS). For the assistant to book meetings, add its calendars with revox_connect_calendar. revox_list_assistant_tools lists everything its prompts can mention as @name, including those calendars. The result carries the assistant's dashboard_url and test_url: give the user test_url so they can talk to the assistant right away in their browser (web test call).
Arguments
prompt_guide_versionnamepromptfirst_sentencefirst_sentence_modeend_of_call_sentencevoicemail_messagemax_call_duration_secsstructured_output_configstructured_output_promptwebhook_urlcustom_toolspost_call_prompttransfer_destinationshuman_transfer_modewarm_transfer_summary_instructionswarm_transfer_voice_speedprecall_lookup_urlprecall_lookup_headersvoice_providervoice_idvoice_speedvoice_volumevoice_modelrevox_update_assistantUpdate an assistant by ID. Only the fields you pass change. To change prompt or first_sentence, you MUST call revox_get_prompt_guide first, rework the text following it, and pass its guide_version as prompt_guide_version. Include voice_provider and voice_id to change the voice (e.g. to a French accent). custom_tools replaces the whole list (null removes them all); precall_lookup_url and precall_lookup_headers take null to remove the inbound lookup. To transfer calls to a human, set transfer_destinations (label + E.164 number each) and human_transfer_mode (warm: the AI briefs the colleague before connecting, the default; cold: direct SIP transfer); the prompt must say when to transfer and, with several destinations, which label to pick. transfer_destinations: null removes the transfer. post_call_prompt sets what happens once the call has ended (emails, SMS, Slack or Teams messages, CRM): read its description for how to write it and which tools exist. To text the person during the call instead, write in the prompt when to use @send_sms (only works when the number can receive SMS). For the assistant to book meetings, add its calendars with revox_connect_calendar. revox_list_assistant_tools lists everything its prompts can mention as @name, including those calendars. The result carries the assistant's dashboard_url and test_url: give the user test_url so they can talk to the assistant right away in their browser (web test call).
Arguments
idprompt_guide_versionnamepromptfirst_sentencefirst_sentence_modeend_of_call_sentencevoicemail_messagemax_call_duration_secsstructured_output_configstructured_output_promptwebhook_urlcustom_toolspost_call_prompttransfer_destinationshuman_transfer_modewarm_transfer_summary_instructionswarm_transfer_voice_speedprecall_lookup_urlprecall_lookup_headersvoice_providervoice_idvoice_speedvoice_volumevoice_modelrevox_check_assistant_setupread onlyCheck a saved assistant for the setup mistakes that break real calls (persona gender vs voice, transfer or booking with nothing connected, leftover template text, wrong language, wording that reads wrong once variables are filled). Call it once after your last revox_create_assistant or revox_update_assistant, not after each edit: a fresh check takes a few seconds. Apply each issue's fix with revox_update_assistant (a text fix replaces
findwithreplaceinfield; a voice fix switches tovoice), then check again. An empty list means nothing major was found.Arguments
idlocalerevox_list_voicesread onlyGet available voices (Cartesia, ElevenLabs, Inworld).
revox_get_voiceread onlyGet a voice by ID and provider.
Arguments
idproviderrevox_pick_voiceYou cannot play audio, so let the user listen and choose: this returns a url to a Revox page where they audition voices and validate one. Give the user the url (ask them to open it and validate a voice), then call revox_wait_for_voice_pick with the pick_id: it returns the voice once validated, as voice_provider, voice_id, voice_speed, voice_volume and voice_model, to pass to revox_create_assistant or revox_update_assistant. Prefer this over choosing from revox_list_voices whenever the user cares about the voice.
Arguments
languagepurposerevox_wait_for_voice_pickread onlyWait until the user validates a voice on the revox_pick_voice page, or the server time window expires (~240 s). If the result contains
_retry: true, the user has not chosen yet: call this tool again with the same pick_id (or ask them where they are). Once chosen, it returns immediately with the voice; the user can validate another one on the same page, and calling this again returns the latest.Arguments
pick_idrevox_list_assistant_toolsread onlyEverything an assistant's prompts can name as @name: call_tools for its prompt (the built-in actions, its calendars under their generated handles, its custom tools), post_call_tools for its post_call_prompt. Each has its mention, a description, an example, and whether it is available on this assistant, with the setup it lacks otherwise. A calendar appears once an account is connected to it. Call this before writing a prompt that uses them.
Arguments
assistant_idrevox_list_calendarsread onlyThe calendars an assistant books meetings on: their status (not_connected, needs_setup, ready), the mention the prompt uses, the connected account, the settings, and the link to connect them (invite.url) with what to do next.
Arguments
assistant_idrevox_connect_calendarYou cannot sign in to a calendar account, so the user does: this returns a url to a Revox page where they (or a colleague, no Revox account needed) connect their Google Calendar, Calendly or Cal.com account and pick what to book on. Pass provider to add a new calendar to the assistant, or calendar_id for a new link to one with no account (the previous link stops working). Anyone holding the link can connect an account, so give it only to the person concerned. Give the user the url, then call revox_wait_for_calendar. An assistant can have several calendars: call this once per calendar.
Arguments
assistant_idprovidercalendar_idrevox_wait_for_calendarread onlyWait until the calendar from revox_connect_calendar is ready to take bookings, or the server time window expires (~240 s). If the result contains
_retry: true, it is not ready yet: follow its next_step, then call this tool again with the same ids (or ask the user where they are). Once ready, it returns the calendar with its mention, the @handle generated from the connected account.Arguments
assistant_idcalendar_idrevox_get_calendar_optionsread onlyThe calendars (Google) or event types (Calendly, Cal.com) of the connected account, to pass one to revox_select_calendar_option. A notice says when the account's plan will stop bookings: tell the user. An option with bookable false is a Google calendar shared read-only: it cannot be picked, so if it is the one the user wants, tell them to ask its owner for "Make changes to events".
Arguments
assistant_idcalendar_idrevox_select_calendar_optionPick the calendar or event type of the connected account, with an id from revox_get_calendar_options.
Arguments
assistant_idcalendar_idoption_idrevox_update_calendar_settingsGoogle Calendar: opening hours, meeting length and Meet link. Calendly and Cal.com: the event type. Settings replace the current ones as a whole and must match the calendar's provider: start from connection.settings in revox_list_calendars. The calendar must have an account connected.
Arguments
assistant_idcalendar_idsettingsrevox_disconnect_calendarThe calendar keeps its handle, which the agent treats as not available, and its link is revoked. Use revox_connect_calendar with its calendar_id to connect another account, which gives it that account's handle: update the prompt if it mentions the old one. Ask the user first.
Arguments
assistant_idcalendar_idrevox_remove_calendarThe agent stops booking on it. The account connection is deleted too, unless another calendar still uses it. Update the prompt if it mentions this calendar. Ask the user first.
Arguments
assistant_idcalendar_idrevox_get_current_userread onlyGet the authenticated user.
revox_list_campaignsread onlyGet all campaigns for the organization.
revox_get_balanceread onlyGet organization balance (in euro cents).