1. Send the bot
native_meeting_id is the id inside the join URL — abc-defg-hij in
https://meet.google.com/abc-defg-hij — not the whole URL.
Have only the URL? Send meeting_url alone; the API parses it into platform and
native_meeting_id:
$API_BASE is https://api.cloud.vexa.ai hosted, or http://localhost:18056 self-hosted.
Optional on the spawn: language (ISO code; omit for per-window auto-detection) and task
(transcribe default, or translate).
2. Read the transcript live
Segments stream in as the meeting runs. Poll:completed: false and are replaced by completed: true confirmations. For
per-segment push instead of polling, subscribe on the gateway’s /ws:
Google Meet specifics
- Admission. The bot may be parked in a lobby until a host admits it — admit it like any guest.
A run that ended there reports
awaiting_admission_timeoutorawaiting_admission_rejected;automatic_leave.max_wait_for_admissionsets how long it waits. - Joining as a real account. With
authenticated: truethe bot uses a persistent browser profile and joins as your Google account instead of an anonymous guest. If that profile is signed out it refuses to join withauth_session_missingrather than silently degrading — see Authenticated bots. - Leaving on its own. An active bot leaves after 10 minutes with no remote microphone audio and
finishes as
completed(left_alone). Widen it per meeting withautomatic_leave.max_time_left_alone.
Stop the bot
See also
- Send a bot and get a transcript — the full walkthrough, all platforms
- Meetings API — every parameter, status, and response shape
- Troubleshooting — the bot joined but there is no transcript