Zoom
Deploy bots to Zoom meetings.
Overview
MeetBot uses Puppeteer to join Zoom meetings via the web client. The bot:
- Opens a Chromium browser
- Joins via the Zoom web client
- Captures screen and audio
- Records the meeting
Meeting Link Format
Zoom links follow this pattern:
https://zoom.us/j/MEETING_ID?pwd=PASSWORD
Or with custom subdomains:
https://company.zoom.us/j/MEETING_ID?pwd=PASSWORD
Examples:
https://zoom.us/j/1234567890?pwd=abc123https://us02web.zoom.us/j/9876543210
Creating a Zoom Bot
curl -X POST http://localhost:8000/api/v1/bots \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"meetingInfo": {
"platform": "zoom",
"meetingId": "1234567890",
"meetingPassword": "abc123"
},
"botDisplayName": "RecordBot",
"meetingTitle": "Sales Call"
}'
Using Full URL
You can also provide the full URL:
{
"meetingInfo": {
"platform": "zoom",
"meetingUrl": "https://zoom.us/j/1234567890?pwd=abc123"
}
}
The URL is automatically parsed to extract meeting ID and password.
Bot Behavior
Joining
- Bot navigates to Zoom web client
- Enters meeting ID and password
- Enters display name
- Clicks "Join" with audio/video disabled
Waiting Room
If the meeting has a waiting room:
- Bot waits to be admitted
- Times out after
waitingRoomTimeoutseconds
Recording
- Captures shared screens and video
- Records all audio streams
- Saves to WebM format
Leaving
Bot leaves when:
- Host ends the meeting
- Everyone leaves (after timeout)
- Manually killed via API
Zoom-Specific Settings
Web Client Requirements
Zoom meetings must allow web client access:
- Go to Zoom Settings > In Meeting (Basic)
- Enable "Join from browser link"
Waiting Room
If using waiting room:
- Ensure host admits the bot
- Or disable waiting room for the meeting
Limitations
- Web Client Only: Uses Zoom web client (not desktop app)
- Quality: Web client may have lower quality than native
- Features: Some Zoom features unavailable via web client
- Chat: Cannot access meeting chat
Troubleshooting
"Meeting Not Found"
- Verify meeting ID is correct
- Check if meeting requires registration
- Ensure meeting hasn't ended
"Invalid Password"
- Double-check the password
- Password may be encoded in the URL - use the full URL
Bot Can't Join
- Ensure web client is enabled in Zoom settings
- Check if meeting requires authentication
Best Practices
- Enable web client: Ensure Zoom settings allow browser join
- Disable waiting room: Or have host ready to admit bot
- Use meeting passwords: For security, but provide to bot
- Test with different Zoom accounts: Verify compatibility