meeting bots
What is a meeting bot? How they join, what they hear, what they cost, and how to keep them out
A meeting bot is a program that joins a video call the way a person does — as a participant, with a name in the list — in order to record it, transcribe it, and turn the transcript into notes, summaries and action items. The uninvited "Otter.ai Notetaker" or "Fireflies.ai Notetaker" in your Zoom call is one. So is the recorder behind most sales-call tools, and the "AI assistant" a colleague's calendar sends to every meeting they are invited to.
This page is the short, plain version of everything else on this blog about them: how they get in, what they can and cannot hear, what they cost, how to keep them out, and how to build one. Each section links to the longer piece.
How a meeting bot gets into a call
Zoom, Google Meet and Microsoft Teams have no general-purpose API that hands a program the live audio of a meeting. (Google's Meet Media API will eventually — as of September 2026 it is a Developer Preview in which every participant in the call must be enrolled, which excludes any meeting with a guest.) So a bot has to be the one thing those platforms do admit: a participant. In practice that means a web browser, running in a container on a server, that opened the meeting link and clicked Join — with a virtual screen and a virtual sound card so the call has somewhere to render and somewhere to play.
That is why a bot has to be admitted. It arrives through the same door a guest does: on Google Meet it "asks to join" and someone clicks Admit; on Zoom it sits in the waiting room if there is one, and the host gets a recording-consent dialog; on Microsoft Teams, since mid-2026, detected bots are held in the lobby by default. A bot that shows up "by itself" was sent by somebody's calendar: a person connected Otter, Fireflies or Read to their Google or Outlook calendar, and the tool joins every event with a meeting link. The full teardown — containers, headless Chrome, mixed audio — is Why a meeting bot needs a whole browser to take notes.
What a meeting bot hears
One mixed stream. A participant does not receive each person's microphone separately; it receives the room, the way you do through your speakers. The bot then reconstructs who spoke from the platform's active-speaker highlight and from voice diarisation — which is a guess, and it is wrong exactly when it matters: two people talking at once, a shared conference-room microphone, a participant the platform did not name. That is not a model problem any vendor will patch; it is where the bot is sitting. The consequence — a commitment filed under the wrong person's name in the recap — is the subject of The AI put your words in someone else's mouth.
What a meeting bot costs to run
Whoever runs the bot is running a browser per meeting. There are three ways to pay for that:
- Run it yourself: a container per call (roughly $0.05–$0.10 an hour of compute), plus transcription, plus an engineer to fix the join script every time a platform changes its buttons.
- Rent it: a bot API runs the fleet and sends you webhooks. At list price in September 2026, Recall.ai charges $0.50 per recorded hour plus $0.15 for transcription; MeetingBaaS sells tokens at $0.35–$0.50 per hour plus 0.25 tokens for transcription. Side by side, with the free tiers and plans: Recall.ai vs MeetingBaaS.
- Skip the bot: hold the meeting somewhere the room itself has an API, so a program joins over a socket instead of a browser and the cost is zero. That is what TeamMeet is — more below.
How to keep meeting bots out
The honest answer is that every platform gives a host partial control and no platform has a "block all notetakers" switch:
- Zoom — waiting room on, require authentication to join, and a per-app allow/block list for SDK apps (KB0083775). Domain blocking helps only partly, because bots often join on a participant's own account.
- Google Meet — set meeting access so anyone not invited must ask to join, and deny it; but a bot sitting on the calendar event as a guest is invited and has to be removed from the event.
- Microsoft Teams — external bot detection with a lobby hold is on by default (
ExternalBotAccessMode = RequireApprovalWhenDetected); leave it there.
The admin-console detail, the parts that still fall short, and the browser-extension recorders no lobby can see: How to block AI notetakers in Zoom, Google Meet and Teams. If one is in your meeting right now: remove it from Google Meet, or the per-vendor guides for Read AI, Otter and Fireflies, each with the setting that stops it coming back.
How to build a meeting bot
Three routes, with working code for each and the published prices, in How to build a meeting bot in 2026:
- Drive a browser yourself — Playwright or Puppeteer, Xvfb, PulseAudio, FFmpeg. The Google Meet version, with the selectors production bots use today, is Puppeteer Google Meet bot.
- Rent one from a bot API and build on the webhooks.
- Join a room that has an API. On TeamMeet a bot is one key and one WebSocket, listed to everyone in the room by name; every transcript line arrives with the speaker attached because each participant's browser transcribes its own microphone. The whole bot is thirty lines, and the agent API is free — teammeet.ai/developers.
The two sentences that matter
A meeting bot is a browser in a container pretending to be a participant, and everything people dislike about them — the uninvited arrival, the admission dialogs, the notes in somebody else's account, the wrong name on a quote — follows from that one fact. The alternative is not a better bot; it is a room that does not need one, which is why we built TeamMeet — and why, for the meetings that still happen on Zoom, our own notetaker says on every transcript how many lines it could not put a name on.
Sources
- Google Meet Media API overview (Developer Preview) — https://developers.google.com/meet/media-api/guides/overview
- Google Meet REST API overview — https://developers.google.com/meet/api/guides/overview
- Recall.ai pricing — https://www.recall.ai/pricing
- MeetingBaaS pricing — https://www.meetingbaas.com/en/pricing
- Zoom, Managing which Zoom apps can join as a participant (KB0083775) — https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0083775
- Microsoft, Manage external bots and their access to meetings — https://learn.microsoft.com/en-us/microsoftteams/manage-external-bots