Google Meet
Deploy bots to Google Meet meetings.
Overview
MeetBot uses a Playwright-based browser automation approach to join Google Meet meetings. The bot:
- Opens a Chrome browser
- Navigates to the meeting URL
- Enters the meeting with camera/mic disabled
- Captures the screen and audio
- Records to a video file
Meeting Link Format
Google Meet links follow this pattern:
https://meet.google.com/xxx-xxxx-xxx
Examples:
https://meet.google.com/abc-defg-hijmeet.google.com/abc-defg-hijabc-defg-hij(shorthand)
Creating a Google Meet Bot
curl -X POST http://localhost:8000/api/v1/bots \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"meetingInfo": {
"platform": "google",
"meetingUrl": "https://meet.google.com/abc-defg-hij"
},
"botDisplayName": "RecordBot",
"meetingTitle": "Team Standup"
}'
Bot Behavior
Joining
- Bot navigates to the meeting URL
- Enters display name
- Disables camera and microphone
- Clicks "Ask to join" or "Join now"
In Waiting Room
If the meeting requires approval:
- Bot waits in the waiting room
- Automatically admitted when host approves
- Times out after
waitingRoomTimeoutseconds
Recording
- Captures all visible content (video + screen shares)
- Records system audio (all participants)
- Saves to WebM format
Leaving
Bot leaves automatically when:
- Everyone else leaves (after
everyoneLeftTimeout) - Meeting ends
- Manually killed via API
Limitations
- Camera/Mic: Bot joins with camera and mic disabled
- Breakout Rooms: Not supported
- Live Captions: Cannot access Google's built-in captions
- Chat: Cannot access chat messages
Troubleshooting
Bot Stuck on "Ask to Join"
The meeting may require manual admission. Ensure:
- The host is present to admit the bot
- Or configure the meeting to allow anyone to join
Recording Quality Issues
Check:
- Network bandwidth to the bot container
- Container resource limits (CPU/memory)
- Browser window size configuration
Bot Removed from Meeting
The host may have removed the bot. Check:
- Meeting permissions
- Bot display name (some hosts block bots)
Best Practices
- Use descriptive bot names: "Acme Recording Bot" is clearer than "Bot"
- Inform participants: Let attendees know the meeting is being recorded
- Test before important meetings: Verify bot joins successfully
- Set appropriate timeouts: Avoid wasting resources on empty meetings