Skip to main content
Meeting recorder bot · Google Meet, Zoom, Microsoft Teams

How the Khulasa meeting bot joins Google Meet, Zoom and Microsoft Teams — and what hosts see

Khulasa records a meeting by sending a bot to it: a real browser that joins as a named participant, asks to be admitted, posts a recording notice in the chat, and records the room until the meeting ends. This page walks through the whole cycle in the order it happens — the join request, the admit window, what attendees see, what happens while it records, when it leaves and what is not supported — so nobody on the call is surprised.

Paste a link or connect your calendar

There are two ways to get the bot into a meeting. The first is to paste the meeting link into Khulasa — a meet.google.com address, a full Zoom invitation link with the meeting ID and passcode in it, or the “Join the meeting now” link from a Microsoft Teams invitation — choose the language (Auto-detect, Arabic + English, English or Arabic), and either start now or set a start time to record later.

The second is to connect your Google or Microsoft calendar and let Khulasa join the meetings on it automatically, following the auto-record rule you choose: all meetings, only the ones you organise, or those matching a keyword. Either way you do not need to be the host: any member of your workspace who is allowed to record can request a recording of a meeting they were invited to, as long as the host admits the bot.

The bot asks to join — you have five minutes

At the start time the bot opens the meeting in a real browser with its microphone and camera off and asks to join, exactly as an invited person would. On Google Meet that is an “Ask to join” request the host sees; on Zoom it is the waiting room, if the host uses one; on Microsoft Teams it is the lobby. While it waits, your dashboard shows “Waiting to be admitted”.

Someone has to admit it within five minutes. On Google Meet, if the host has not started the meeting yet, the bot keeps retrying for those five minutes. If nobody admits it in that window, the recording stops there: nothing is captured, no recording hours are used and nothing is billed. A meeting nobody ever joins is treated the same way — the bot waits five minutes for the first other participant and then leaves, and an empty room is charged nothing.

What attendees see

Khulasa never records silently. In the participant list the bot appears as one extra guest named KhulasaBot (Recording) — or the display name your organisation chose, always followed by “(Recording)” — muted and with no video. It has no microphone and no camera, so it never speaks and never shares a screen.

As soon as it is admitted, and before it starts recording, it posts a notice in the meeting chat in English and then in Arabic, saying that the meeting is being recorded to produce a summary and linking to the recording notice on khulasa.ai in each language. On Google Meet the English message is also pinned where the client allows it, so people who join late see it too. Anyone who would rather not be recorded can ask the host to remove the bot, and the recording ends the moment it is removed. Khulasa does not use the platform's built-in recording, so the platform's own recording indicator is not shown — the named guest and the chat notice are the disclosure. If the host has turned off chat for participants, the notice cannot be posted and the host should announce the recording instead.

Read the recording notice

Per platform: Google Meet, Zoom, Microsoft Teams

The admission flow is the one thing that genuinely differs between the three platforms, because each treats an outside participant differently. Nothing has to be installed on any of them and no admin setting has to change for the usual case; the details below are what to tell the host before the meeting.

  • Google Meet — the bot joins signed in to its own Google account, so the host sees an “Ask to join” request. Google Meet may list requests from accounts it does not recognise in a separate place for the host to review, so tell the host in advance to look for Khulasa there. Free Google accounts and Google Workspace both work; a meeting restricted to a single Google Workspace organisation refuses outside accounts and cannot be recorded.
  • Zoom — the bot joins through the “Join from browser” flow as a guest named KhulasaBot (Recording), with no Zoom account and no Zoom cloud recording. It needs the full invitation link with the passcode embedded, and it lands in the waiting room if the host uses one. A meeting set so that only signed-in Zoom users can join keeps the bot out, because it never signs in.
  • Microsoft Teams — the bot opens the link, chooses “Continue on this browser”, types its name and joins as an anonymous guest, so Microsoft Teams sends it to the lobby for the organiser or a presenter to admit. No Microsoft account, no Microsoft 365 Copilot licence and nothing installed in your tenant; the only setting that matters is whether anonymous users may join, which is allowed by default.

Google Meet in detailZoom in detailMicrosoft Teams in detail

While it records

Recording starts the moment the bot is admitted. It is audio-only by default — an .m4a file — with an audio + video mode available as a deployment-level option rather than per recording. A single recording runs for up to 4 hours, or until your remaining monthly hours run out, whichever comes sooner; if it is your allowance that will end the recording, the bot says so in the chat before it leaves. Only the minutes the room was actually occupied count against your allowance.

You can pause the recording from your dashboard without the bot leaving the meeting, for an off-the-record part of the conversation. A pause is a stopped recorder: nothing is captured while paused, and the paused span is absent from the file rather than muted or padded, so it is not billed either. The bot posts a short “paused” line in the chat when it stops and a “resumed” line before it starts again, so the room always knows which it is. A single pause may last up to 30 minutes and all the pauses of one recording up to 2 hours in total; past either ceiling the recording ends, and what was captured before the pause is finalised and saved exactly as if you had stopped it.

When the bot leaves

An open-ended recording runs until the first of these happens. If the browser or the recorder itself fails mid-meeting, the recording is reported as failed rather than saved as a full-length recording of nothing.

  • The bot is removed from the meeting — the recording ends, and it does not rejoin on its own.
  • The host ends the meeting for everyone — the recording ends.
  • Everyone else has left a meeting the bot had company in — the recording ends after a short grace, so a brief drop and rejoin does not end it.
  • Nobody else ever joined — the bot leaves after the five-minute no-show window, and nothing is billed.
  • The 4-hour cap, or your remaining monthly allowance, is reached — the recording ends there and what was captured is kept.
  • You stop it from your dashboard — the recording ends immediately.
  • A pause outlives its ceiling — 30 minutes for one pause, 2 hours for all pauses together — and the recording ends with what was captured so far.

After the meeting

When the bot leaves, the audio is uploaded, transcribed and analysed. The transcript, summary, decisions and action items appear in your dashboard, the person who requested the recording receives the summary by email, and the whole team can be notified in the app. Everything is produced after the meeting ends — there is no live transcription during it. Arabic and English are handled in the same recording, with English terms kept in Latin script and the summary written in the language that dominated the meeting.

Arabic meeting notes in detailHow meeting data is protected

What is not supported

The bot joins standard meetings from a browser, and some meeting types are outside that.

  • Webinars, live events, town halls and webinars with registration.
  • Breakout rooms, Google Meet companion mode and live streams.
  • Phone dial-in numbers and PINs — they are not meeting links.
  • Zoom Rooms and Microsoft Teams Rooms devices.
  • Meetings that require every participant to be signed in: Zoom meetings for authenticated users only, Google Meet meetings restricted to one Google Workspace organisation, and Microsoft Teams tenants that block anonymous join.
  • One active recording per meeting — a second request for the same link is rejected while one is already running.
  • Screen shares, chat messages and live captions are not captured as separate files, and there is no live transcription during the meeting.

Questions about the meeting bot

How do I add the Khulasa notetaker to a Microsoft Teams meeting?

Copy the “Join the meeting now” link from the invitation, open Khulasa, choose Record a meeting, paste the link, pick the language and press Start recording — or set a start time to record later. Khulasa joins from the browser as an anonymous guest named KhulasaBot (Recording) and waits in the lobby; once the organiser admits it, recording begins. If you connect your Microsoft calendar, Khulasa can join the Microsoft Teams meetings on it automatically, following the auto-record rule you set.

The bot is waiting in the lobby — what should the organiser do?

Admit it, the same way as any external guest. Because Khulasa joins anonymously rather than from a Microsoft account, Microsoft Teams treats it as a guest, and some tenants label external meeting bots and show a reminder before the organiser clicks Admit. Look for the name KhulasaBot (Recording) — or your organisation's chosen name followed by “(Recording)” — and admit it within five minutes. If it is left waiting, the recording fails and nothing is captured or billed.

Google Meet put the bot in a review list. Now what?

Ask the host to open that list and admit Khulasa from there. Google Meet may show join requests from accounts it does not recognise in a separate place rather than in the main prompt. The bot waits up to five minutes for someone to admit it, and during that time the recording shows “Waiting to be admitted” in your dashboard; on Google Meet, if the host has not started the meeting yet, it keeps retrying for those five minutes. If nobody admits it, the recording fails, nothing is captured and no recording hours are used.

Does the bot record if nobody joins?

No. Once admitted, the bot waits five minutes for the first other participant. If nobody ever joins, it leaves, and the empty room is charged nothing — no recording hours are used. The same applies when nobody admits it in the first place: nothing is captured and nothing is billed.

Can I pause the recording?

Yes, from your dashboard, without the bot leaving the meeting. Nothing is captured while it is paused: the paused span is absent from the file rather than muted, and it is not billed. The bot posts a “paused” line in the chat when it stops and a “resumed” line before it starts again. A single pause can last up to 30 minutes and all pauses together up to 2 hours; past either ceiling the recording ends and what was captured before the pause is kept.

Does it rejoin if someone removes it?

No. If the bot is removed from the meeting, the recording ends the moment it is removed and it does not rejoin on its own — that is how a participant who would rather not be recorded stops it. What was captured up to that point is uploaded, transcribed and analysed as normal. To record the rest of the meeting, request a new recording and have the host admit the bot again.

Can it join a meeting hosted by another organisation?

Yes, as long as that organisation lets outside participants in. You paste the link you were invited with, Khulasa joins as its own participant and waits to be admitted, and the host on their side admits it — in the Microsoft Teams lobby, the Zoom waiting room or the Google Meet join prompt. Everyone in the meeting sees the named guest and the recording notice, so the recording is open. Tell the organiser in advance that Khulasa will ask to join, and check your own policy and local law on recording meetings with external parties.