Skip to main content

Google Meet

Deploy bots to Google Meet meetings.

Overview

MeetBot uses a Playwright-based browser automation approach to join Google Meet meetings. The bot:

  1. Opens a Chrome browser
  2. Navigates to the meeting URL
  3. Enters the meeting with camera/mic disabled
  4. Captures the screen and audio
  5. Records to a video file

Google Meet links follow this pattern:

https://meet.google.com/xxx-xxxx-xxx

Examples:

  • https://meet.google.com/abc-defg-hij
  • meet.google.com/abc-defg-hij
  • abc-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

  1. Bot navigates to the meeting URL
  2. Enters display name
  3. Disables camera and microphone
  4. 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 waitingRoomTimeout seconds

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

  1. Use descriptive bot names: "Acme Recording Bot" is clearer than "Bot"
  2. Inform participants: Let attendees know the meeting is being recorded
  3. Test before important meetings: Verify bot joins successfully
  4. Set appropriate timeouts: Avoid wasting resources on empty meetings