Retrieves detailed information about a specific bot by its ID.
Method Signature
bot.retrieve(params: BaseBotParams): Promise<BotDetails>
Parameters
The unique identifier of the bot to retrieve
Response
Returns detailed information about the bot:
Unique identifier for the bot
Meeting informationMeeting password if applicable
Meeting platform (e.g., “zoom”, “google_meet”, “teams”)
ISO 8601 timestamp when the bot joined or will join the meeting
Display name of the bot in the meeting
Recording mode used by the bot
Real-time transcription configuration if enabled
Real-time media streaming configuration if enabled
Transcription processing configuration
Additional recording options
Bot video appearance configuration
URLs to recorded media files (video, audio, etc.)
ISO 8601 timestamp when the bot was created
ISO 8601 timestamp when the bot was last updated
Example
import { Recall } from '@recall.ai/sdk';
const client = new Recall({
apiKey: 'your-api-key',
region: 'us-west-2'
});
const bot = await client.bot.retrieve({
id: 'bot_1234567890'
});
console.log(`Bot Status: ${bot.status}`);
console.log(`Platform: ${bot.meeting_url.platform}`);
console.log(`Recording Mode: ${bot.recording_mode}`);
Example: Polling Bot Status
async function waitForRecording(botId: string) {
while (true) {
const bot = await client.bot.retrieve({ id: botId });
console.log(`Current status: ${bot.status}`);
if (bot.status === 'in_call_recording') {
console.log('Bot is now recording!');
break;
}
if (bot.status === 'fatal' || bot.status === 'recording_permission_denied') {
console.error('Bot failed to start recording');
break;
}
// Wait 5 seconds before checking again
await new Promise(resolve => setTimeout(resolve, 5000));
}
}
const newBot = await client.bot.create({
meeting_url: 'https://zoom.us/j/123456789'
});
await waitForRecording(newBot.id);
const bot = await client.bot.retrieve({
id: 'bot_1234567890'
});
if (bot.status === 'done' && bot.media) {
console.log('Recording complete!');
console.log(`Video URL: ${bot.media.video_url}`);
console.log(`Audio URL: ${bot.media.audio_url}`);
}