# Recall.ai — how to use (mcp.ai)

Connect your Recall.ai account and use 63 tools for meeting assistants straight from your AI agent. Connect with your own API key. Recall AI provides a unified API to integrate meeting bots and access conversation data from major video conferencing platforms, enabling seamless automation, transcription, and analysis of virtual meetings.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_recallai?ms=1787296080000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `recallai_create_bot`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/recallai`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/recallai/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/recallai/create/bot` — Create a new bot to join and record a meeting. This action creates a meeting bot that can join Zoom, Google Meet, Microsoft Teams, and other supported platforms to record audio, video, and capture tra
  - body: { chat?: object, zoom?: object, webex?: object, join_at?: string, variant?: object, bot_name?: string, metadata?: object, google_meet?: object, meeting_url: string, output_media?: object, breakout_room?: object, automatic_leave?: object, recording_config?: object, slack_authenticator?: object, slack_huddle_observer?: object, automatic_audio_output?: object, automatic_video_output?: object }
- `POST https://api.mcp.ai/api/recallai/create/calendar` — Tool to create a new calendar integration with Google Calendar or Microsoft Outlook. Use when you need to connect a calendar platform to enable automatic bot scheduling for meetings.
  - body: { platform: string, oauth_client_id: string, oauth_client_secret: string, oauth_refresh_token: string }
- `POST https://api.mcp.ai/api/recallai/create/calendar/authenticate` — Tool to generate an authentication token for calendar APIs, scoped to the user. Use when you need to authenticate calendar operations for a specific user. Each token has an expiry of 1 day from time o
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/recallai/create/google/login` — Tool to create a new Google Login credential within a login group. Use when you need to add a new Google account that bots can use to authenticate and join Google Meet meetings.
  - body: { email: string, group_id: string, is_active?: boolean, sso_v2_cert: string, sso_v2_private_key: string, sso_v2_workspace_domain: string }
- `POST https://api.mcp.ai/api/recallai/create/google/login/group` — Tool to create a new Google Login Group for managing bot authentication. Use when you need to create a group of Google login credentials that bots can use to join Google Meet meetings.
  - body: { name: string, login_mode: string }
- `POST https://api.mcp.ai/api/recallai/create/meeting/direct/connect` — Tool to create a Meeting Direct Connect for Google Meet or Zoom. Use when you need to connect directly to a meeting platform's media stream via Google Meet Media API or Zoom RTMS. Either google_meet_m
  - body: { metadata?: object, zoom_rtms?: object, recording_config?: object, google_meet_media_api?: object }
- `POST https://api.mcp.ai/api/recallai/create/sdk/upload` — Create a new Desktop SDK upload. Use this to generate an upload token that can be used with the Recall.ai Desktop SDK to upload recordings directly from desktop applications.
  - body: { recording_config?: object }
- `POST https://api.mcp.ai/api/recallai/create/zoom/oauth/app` — Tool to create a new Zoom OAuth App integration with Recall.ai. Use when you need to configure Zoom OAuth credentials to enable bots to join Zoom meetings.
  - body: { kind: string, client_id: string, client_secret: string, webhook_secret: string, verification_token?: string }
- `POST https://api.mcp.ai/api/recallai/delete/bot` — Delete a scheduled bot by ID. This can only be used for scheduled bots that have not yet joined a call. If the bot is already in a call or about to join (less than 10 minutes before join time), use th
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/delete/bot/media` — Deletes bot media stored by Recall AI. This operation is irreversible and permanently removes all media files associated with the specified bot.
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/delete/calendar` — Delete a calendar by ID. This will disconnect the calendar from Recall.ai. Use this when you need to remove a calendar integration.
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/destroy/calendar/user` — Delete calendar user and disconnect any connected calendars. This is a destructive operation that permanently removes the calendar user account and disconnects all associated calendar platform connect
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/recallai/destroy/google/login` — Tool to delete an existing Google Login by ID. Use when you need to remove a Google Login credential that is no longer needed.
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/destroy/google/login/group` — Tool to delete an existing Google Login Group by ID. Use when you need to remove a Google Login Group that is no longer needed.
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/destroy/zoom/o/auth/app` — Tool to delete a Zoom OAuth App by ID. Use when you need to remove a Zoom OAuth application that is no longer needed.
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/disconnect/calendar/user` — Tool to disconnect a calendar platform (Google or Microsoft) from the user's Recall.ai account. Use when you need to remove calendar integration for a specific platform.
  - body: { user_id: string, platform: string }
- `POST https://api.mcp.ai/api/recallai/list/audio/mixed` — List audio mixed artifacts from Recall.ai recordings. Returns a paginated list of mixed audio files with their processing status and download URLs. Use filters to narrow results by date range, recordi
  - body: { cursor?: string, status_code?: string, recording_id?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/audio/separate` — List audio separation artifacts from recordings. Returns a paginated list of audio separation processing jobs with their status and download URLs for completed separations. Use this to retrieve partic
  - body: { cursor?: string, status_code?: string, recording_id?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/bot/screenshots` — List all screenshots captured by a bot during a meeting. Returns screenshots with their timestamp and download URL. Use filters to narrow results by recording time.
  - body: { meta?: string, action?: string, bot_id: string, recorded_at_after?: string, continuation_token?: string, recorded_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/bots` — List all bots in your Recall.ai workspace. Returns a paginated list of bots with their current status, meeting details, and configuration. Note: The meeting_url field is returned as a parsed object ra
  - body: { page?: integer }
- `POST https://api.mcp.ai/api/recallai/list/calendar/events` — Get a list of calendar events from connected calendars. Returns paginated calendar events with details about meeting URLs, platforms, and associated bots. Use filters like start_time__gte and start_ti
  - body: { cursor?: string, ical_uid?: string, is_deleted?: boolean, start_time?: string, calendar_id?: string, start_time__gte?: string, start_time__lte?: string, updated_at__gte?: string }
- `POST https://api.mcp.ai/api/recallai/list/calendar/meetings` — List all calendar meetings for the authenticated calendar user. Filter by iCalendar UID or time range. Use this to retrieve upcoming meetings, find specific events, or sync calendar data with bots.
  - body: { ical_uid?: string, start_time_after?: string, start_time_before?: string, calendar_auth_token: string }
- `POST https://api.mcp.ai/api/recallai/list/calendar/users` — List all calendar users created for the account. Calendar users are used to automatically join and record meetings from integrated calendar providers. Use this to view all configured calendar users an
  - body: { email?: string, paginate?: boolean }
- `POST https://api.mcp.ai/api/recallai/list/calendars` — Tool to retrieve a list of calendars integrated with Recall.ai. Use when you need to view all connected calendar accounts, check connection status, or filter calendars by platform (Google Calendar, Mi
  - body: { email?: string, cursor?: string, status?: string, platform?: string, created_at__gte?: string }
- `POST https://api.mcp.ai/api/recallai/list/chat/messages` — Get list of chat messages read by the bot in the meeting(excluding messages sent by the bot itself).
  - body: { bot_id: string, cursor?: string, ordering?: string }
- `POST https://api.mcp.ai/api/recallai/list/google/login/groups` — Tool to retrieve a list of all Google Login Groups in your Recall.ai workspace. Use when you need to view available Google login configurations for bot authentication. Supports pagination and filterin
  - body: { name?: string, cursor?: string, ordering?: string, name__contains?: string }
- `POST https://api.mcp.ai/api/recallai/list/google/logins` — Tool to retrieve a list of all Google Logins in your Recall.ai workspace. Use when you need to view individual Google login credentials. Supports pagination and filtering by email, group ID, active st
  - body: { email?: string, cursor?: string, group_id?: string, ordering?: string, is_active?: boolean, sso_v2_workspace_domain?: string }
- `POST https://api.mcp.ai/api/recallai/list/meeting/direct/connect` — List all Meeting Direct Connect instances in your Recall.ai workspace. Returns a list of Meeting Direct Connect objects with their status, recordings, and configuration. Use this to monitor active dir
- `POST https://api.mcp.ai/api/recallai/list/meeting/metadata` — List meeting metadata from Recall.ai recordings. Returns metadata extracted from meeting recordings including titles, participant info, and processing status. Use filtering to narrow results by date r
  - body: { cursor?: string, status_code?: string, recording_id?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/participant/events` — List participant events artifacts from recorded meetings. Returns download URLs for participant events, speaker timelines, and participant lists. Use status_code filter to find completed artifacts rea
  - body: { cursor?: string, status_code?: string, recording_id?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/realtime/endpoint` — Tool to list realtime endpoints from Recall.ai. Use when you need to retrieve realtime endpoints filtered by creation date, recording, status, or type. Returns paginated results. The base rate limit f
  - body: { type?: string, cursor?: string, status_code?: string, recording_id?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/recording` — Tool to list recordings from Recall.ai. Use when you need to retrieve recordings filtered by bot, creation date, status, or desktop SDK upload. Returns paginated results.
  - body: { bot_id?: string, cursor?: string, status_code?: string, created_at_after?: string, created_at_before?: string, desktop_sdk_upload_id?: string }
- `POST https://api.mcp.ai/api/recallai/list/sdk/uploads` — Tool to get a paginated list of all Desktop SDK uploads in your Recall.ai workspace. Use when you need to retrieve upload history, monitor upload status, or access upload tokens and recording configur
  - body: { cursor?: string }
- `POST https://api.mcp.ai/api/recallai/list/slack/teams` — Tool to list all Slack team integrations. Use when you need to retrieve configured Slack teams for huddle bot functionality. Returns all Slack workspaces where the bot can join huddles.
- `POST https://api.mcp.ai/api/recallai/list/transcript` — Tool to list transcripts from Recall.ai recordings. Returns a paginated list of transcripts with their status, content, and metadata. Use when you need to retrieve or filter transcripts by recording, 
  - body: { cursor?: string, status_code?: string, recording_id?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/video/mixed` — List video mixed artifacts from recorded meetings. Video mixed artifacts combine all video sources (participants, screen shares, etc.) into a single MP4 file. Use when you need to retrieve processed m
  - body: { cursor?: string, status_code?: string, recording_id?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/video/separate` — List video separate artifacts from Recall.ai recordings. Returns a paginated list of artifacts containing individual participant video files separated from recordings. Filter by creation date, recordi
  - body: { cursor?: string, status_code?: string, recording_id?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/zoom/meetings/to/credentials` — Tool to retrieve mappings from Zoom Meeting IDs to Zoom OAuth Credentials. Use when debugging bots that don't automatically record due to missing credentials or when inspecting which credential Recall
  - body: { cursor?: string, ordering?: string, credential?: string, meeting_id?: string, synced_at_after?: string, synced_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/zoom/o/auth/credentials` — Tool to retrieve a list of all Zoom OAuth credentials in your Recall.ai workspace. Use when you need to view Zoom authentication credentials, check their health status, or filter by account ID, user I
  - body: { cursor?: string, status?: string, user_id?: string, ordering?: string, oauth_app?: string, account_id?: string, created_at_after?: string, created_at_before?: string, meeting_sync_status?: string }
- `POST https://api.mcp.ai/api/recallai/list/zoom/oauth/app/logs` — Tool to retrieve Zoom OAuth app logs from Recall.ai. Use when you need to view warnings or errors related to Zoom OAuth apps for debugging purposes. Supports filtering by OAuth app, creation date, and
  - body: { cursor?: string, ordering?: string, oauth_app?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/zoom/oauth/apps` — Tool to retrieve a list of Zoom OAuth apps configured in Recall.ai. Use when you need to view all registered Zoom OAuth applications, check their configuration, or filter by client ID, creation date, 
  - body: { kind?: string, cursor?: string, ordering?: string, client_id?: string, created_at_after?: string, created_at_before?: string, webhook_last_validation_after?: string, webhook_last_validation_before?: string }
- `POST https://api.mcp.ai/api/recallai/list/zoom/oauth/credential/logs` — Tool to retrieve all Zoom OAuth Credential logs from Recall.ai. Use when debugging OAuth credential issues or investigating warnings and errors related to Zoom OAuth credentials. Helpful for troublesh
  - body: { cursor?: string, ordering?: string, credential?: string, created_at_after?: string, created_at_before?: string }
- `POST https://api.mcp.ai/api/recallai/remove/bot/from/call` — Removes the bot from the meeting call. This action is irreversible and will immediately disconnect the bot. Use this when you need to manually end a bot's participation in a meeting before it would au
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/billing/usage` — Retrieve bot usage statistics for billing purposes. Returns the total amount of bot usage time in seconds for a specified date range. Use this to monitor usage, track billing metrics, or analyze bot a
  - body: { end?: string, start?: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/bot` — Retrieve detailed information about a specific bot instance by its ID. Returns comprehensive bot data including meeting details, recording configuration, status history, recordings, and automatic leav
  - body: { bot_id: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/calendars` — Retrieve detailed information about a specific calendar by its UUID. Returns the calendar configuration including OAuth credentials, platform details, status, and webhook settings.
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/google/login/group` — Tool to retrieve an existing Google Login Group by its ID. Use when you need to fetch details about a specific Google login group, including its login credentials, login mode, and associated metadata.
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/meeting/direct/connect` — Tool to retrieve detailed information about a Meeting Direct Connect instance by its ID. Use when you need to check the status, configuration, or recordings of a specific Meeting Direct Connect instan
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/recording` — Tool to retrieve detailed information about a specific recording by its UUID. Returns comprehensive recording data including creation timestamps, status, media file shortcuts, and associated bot or de
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/sdk/upload` — Retrieve detailed information about a Desktop SDK upload instance by its ID. Returns comprehensive upload data including status, recording configuration, upload token, and metadata. Use this to check 
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/video/mixed` — Retrieve a video mixed artifact by its ID. Returns details about the mixed video including download URL, format, status, and associated recording information. Use this to access processed mixed video 
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/retrieve/zoom/oauth/app` — Retrieve detailed information about a specific Zoom OAuth app by its ID. Returns the OAuth app configuration including client credentials, app type (user-level or account-level), webhook settings, and
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/start/recording` — Instructs the bot to start recording the meeting. This will restart the current recording if one is already in progress.
  - body: { id: string, recording_mode?: string, real_time_media?: object, recording_mode_options?: object, real_time_transcription?: object }
- `POST https://api.mcp.ai/api/recallai/stop/recording` — Stops the current recording for the specified bot. This creates a new recording entry in the bot's recordings field. Important: The bot must be actively recording for this action to succeed. If the bo
  - body: { id: string }
- `POST https://api.mcp.ai/api/recallai/update/bot` — Tool to partially update a scheduled bot. Use when you need to modify bot settings like bot_name, metadata, or configuration options for a scheduled bot that has not yet completed. Only provide fields
  - body: { id: string, chat?: object, zoom?: object, join_at?: string, variant?: object, bot_name?: string, metadata?: object, google_meet?: object, meeting_url?: string, output_media?: object, breakout_room?: object, automatic_leave?: object, recording_config?: object, automatic_audio_output?: object, automatic_video_output?: object }
- `POST https://api.mcp.ai/api/recallai/update/calendar` — Update an existing calendar integration in Recall.ai. Use this to modify calendar metadata, OAuth credentials, webhook URLs, or platform settings. Only include fields you want to update; omitted field
  - body: { id: string, metadata?: object, platform?: string, oauth_email?: string, webhook_url?: string, oauth_client_id?: string, oauth_client_secret?: string, oauth_refresh_token?: string }
- `POST https://api.mcp.ai/api/recallai/update/calendar/user` — Update recording preferences and calendar connections for a calendar user. Use this to configure which meetings should be automatically recorded based on meeting type (internal/external, recurring, ho
  - body: { id: string, connections: object[], external_id?: string, preferences?: object }
- `POST https://api.mcp.ai/api/recallai/update/google/login` — Tool to update an existing Google Login credential. Use when you need to modify authentication details like email, certificates, private keys, or SSO workspace domain for an existing Google login that
  - body: { id: string, email: string, group_id: string, is_active?: boolean, created_at: string, updated_at: string, sso_v2_cert: string, sso_v2_private_key: string, sso_v2_workspace_domain: string }
- `POST https://api.mcp.ai/api/recallai/update/google/login/group` — Tool to update an existing Google Login Group in Recall.ai. Use when you need to modify the name, login mode, or login credentials for a Google login group that bots use to authenticate with Google Me
  - body: { id: string, name: string, logins: object[], created_at: string, login_mode: string, updated_at: string }
- `POST https://api.mcp.ai/api/recallai/update/google/login/groups` — Tool to partially update an existing Google Login Group in Recall.ai. Use when you need to modify the name or login mode of a Google login group without replacing all fields. This performs a PATCH ope
  - body: { id: string, name?: string, login_mode?: string }
- `POST https://api.mcp.ai/api/recallai/update/recording` — Tool to update a recording's metadata. Use when you need to update custom metadata fields on an existing recording without modifying other recording properties.
  - body: { id: string, metadata?: object }
- `POST https://api.mcp.ai/api/recallai/update/video/mixed` — Tool to partially update a video mixed artifact by ID. Use when you need to update metadata or other properties of an existing video mixed artifact without replacing the entire resource. This is commo
  - body: { id: string, data?: object, format?: string, status?: object, metadata?: object, recording?: object, created_at?: string }
- `POST https://api.mcp.ai/api/recallai/update/zoom/o/auth/app` — Tool to update an existing Zoom OAuth App's credentials. Use when you need to update the client secret or webhook secret for a Zoom OAuth app without changing other properties.
  - body: { id: string, client_secret?: string, webhook_secret?: string }

## Example prompts
- "What can I do in Recall.ai?"
- "Show me a summary of my Recall.ai account"

## More
- Page: https://mcp.ai/recallai
- Agent spec (llms.txt): https://mcp.ai/recallai/llms.txt
- Postman collection: https://mcp.ai/recallai/postman.json
