Overview
Google Meet bots use Selenium WebDriver to control a Chrome browser instance that joins the meeting. This approach enables full access to meeting features while appearing as a standard meeting participant. Platform Type: Web-based (Chrome automation)Capabilities
Google Meet bots support the following features:- Join and leave meetings
- Audio and video recording
- Real-time transcription via closed captions
- Send and receive chat messages
- Audio and video input/output
- Screen sharing capture
- Custom participant name
- Video playback into meetings
Technical Implementation
Google Meet integration is built on top of Attendee’sWebBotAdapter class, which provides:
- Chrome WebDriver automation
- WebSocket communication for media streaming
- DOM manipulation for UI interaction
- Custom JavaScript injection for enhanced control
google_meet_bot_adapter.py- Main adapter implementationgoogle_meet_ui_methods.py- UI interaction methodsgoogle_meet_chromedriver_payload.js- Browser-side JavaScript
Setup Requirements
Attendee API Key
Create an account in your Attendee instance and obtain an API key from Settings → API Keys.
Chrome/Chromium Browser
Ensure Chrome or Chromium is installed in your Attendee deployment. This is included by default in Attendee Docker images.
No Google-specific credentials are required for basic functionality. Bots join as guest participants by default.
Meeting Access
Guest Access (Default)
By default, Google Meet bots join as guest participants. This works for:- Public meetings (anyone with link can join)
- Meetings where host allows guest participants
Authenticated Access
For meetings that require Google account login:Enable Bot Login
Configure Google account credentials in Attendee settings (contact Attendee support for availability).
Closed Captions & Transcription
Google Meet provides native closed captions that can be used for transcription:Language Configuration
Specify the closed captions language when creating a bot:- English (en-US, en-GB, etc.)
- Spanish (es-ES, es-MX, etc.)
- French (fr-FR)
- German (de-DE)
- And many more - any language supported by Google Meet captions
The closed captions language can be updated dynamically during the meeting if needed.
Deepgram Transcription
Alternatively, use Attendee’s Deepgram integration for transcription with higher accuracy and more language options.Video Recording
Google Meet bots can record video by capturing the DOM:Sending Media
Video Playback
Play video files into the meeting:Chat Messages
Send messages to the meeting chat:Platform-Specific Settings
Configure Google Meet-specific behavior when creating bots:Known Limitations
- No Official SDK: Google Meet doesn’t provide a bot SDK, so integration relies on browser automation which can be affected by UI changes
- Login Required Meetings: Meetings requiring Google account login need authenticated bot access
- Performance: Chrome automation uses more resources than native SDK implementations
- UI Dependencies: Bot functionality depends on Google Meet’s web UI structure
Automatic Leave Behavior
Configure when bots should automatically leave meetings:Best Practices
- Use descriptive bot names - Help meeting participants identify the bot’s purpose
- Configure appropriate timeouts - Prevent bots from staying in empty meetings
- Test meeting access - Verify whether meetings require authentication before deployment
- Monitor bot status - Use webhooks to track bot state changes
- Handle login gracefully - Implement retry logic for meetings requiring authentication
Troubleshooting
Bot Cannot Join Meeting
- Check if meeting requires Google account login
- Verify meeting URL format is correct
- Ensure meeting hasn’t expired or been cancelled
Captions Not Working
- Verify the specified language is supported by Google Meet
- Check if meeting host has enabled captions
- Ensure
closed_captions_languagematches meeting language
Video Quality Issues
- Try enabling
modify_dom_for_video_recording - Check network bandwidth and stability
- Verify Chrome browser version compatibility