Skip to main content
The Bot API allows you to create and manage bots that join virtual meetings to record audio/video, capture transcripts, and extract intelligence from conversations.

Core Capabilities

The Bot API provides the following functionality:
  • Bot Lifecycle Management: Create, retrieve, update, list, and delete bots
  • Recording Control: Start/stop recording, leave calls, and manage media
  • Real-time Data: Stream transcriptions, media, and events during meetings
  • Post-Meeting Analysis: Access transcripts, chat messages, intelligence, and logs
  • Audio Output: Send audio to the bot for playback in meetings

Bot Lifecycle

Bots progress through several states during their lifecycle:
  1. ready - Bot is created and ready to join
  2. joining_call - Bot is connecting to the meeting
  3. in_waiting_room - Bot is in the waiting room
  4. in_call_not_recording - Bot joined but not yet recording
  5. recording_permission_allowed - Permission granted to record
  6. recording_permission_denied - Permission denied to record
  7. in_call_recording - Bot is actively recording
  8. recording_done - Recording completed
  9. call_ended - Meeting has ended
  10. done - All processing complete
  11. analysis_done - Analysis completed successfully
  12. analysis_failed - Analysis failed
  13. fatal - Unrecoverable error occurred
  14. media_expired - Media files have expired

Getting Started

Initialize the Recall client to access the Bot API:
import { Recall } from '@recall.ai/sdk';

const client = new Recall({
  apiKey: 'your-api-key',
  region: 'us-west-2'
});

// Access bot methods
const bot = await client.bot.create({
  meeting_url: 'https://zoom.us/j/123456789'
});

Available Methods

Build docs developers (and LLMs) love