Join 60s before start
Scheduler polls Calendar every minute and arms the join timer. Reschedules re-arm automatically.
Invite the bot to a Google Meet. It joins from Calendar, captures audio, streams a live transcript, and handles “Hey MeetBot…” for Jira — on your Mac.
Attend, capture, transcribe, and act — without another cloud notetaker in the room.
Polls the bot Workspace calendar and joins every Meet link one minute before start. Reschedules and declines are handled automatically.
Taps WebRTC audio in Chrome, writes crash-safe WAVs, and streams speaker-attributed lines a few seconds after they are spoken.
Say the hotword in the call. The bot listens, runs a Jira agent, speaks the answer, and shows status on its camera card.
Meetings list, live transcript, playback with speaker strip, commands, participants, and join-now — with Google sign-in.
Runs as a LaunchAgent on your Mac mini with a persistent Chrome profile. Your recordings stay on disk you control.
Knows people, teams, and sprints from recent issues. Matches names, picks the right track, and creates tickets without a confirmation round-trip.
From calendar invite to spoken Jira reply — on hardware you run.
MeetBot polls the bot’s Google Calendar, arms a join one minute before each event with a Meet link, and re-arms when the event moves. Declined, all-day, and cancelled events are skipped.
Remote audio tracks are chunked by speech detection and sent to an audio-capable model with colleague names and key terms in the prompt — so “MeetBot” and your teammates stay spelled right.
A fast peek model catches the hotword early, the status camera shows Listening…, then the Jira agent creates or searches issues and speaks the reply in the call.
A React dashboard lists every recording with live status, opens a meeting page with player + transcript, and lets you join or stop the bot. Sign-in is Google with an optional domain allowlist.
Each meeting folder holds the mixed recording, per-track WAVs, speaker and participant timelines, live transcript, markdown export, commands log, and metadata — playable even after a crash.
The pieces that make MeetBot reliable in day-to-day standups and planning.
Scheduler polls Calendar every minute and arms the join timer. Reschedules re-arm automatically.
Hooks RTCPeerConnection in the Meet tab and posts 100 ms PCM frames to Node.
Watches participant tiles and the People panel for speaking, join, and leave events.
Transcription carries MeetBot, Jira colleague names, team names, and your keyterms.
Every 1.5 s of speech, a peek model can show Listening… ~10 s before the full transcript.
Virtual microphone unmute only while talking. Camera shows status instead of a test pattern.
pnpm ask exercises the agent without a meeting; --dry-run creates nothing in Jira.
Signed HttpOnly session cookie. Optional WEB_ALLOWED_DOMAIN for your company.
Everything you need to know about MeetBot.
MeetBot is a self-hosted meeting assistant. It joins Google Meet meetings that the bot Workspace user is invited to, records audio, transcribes live with speaker attribution, and responds to “Hey MeetBot…” voice commands for Jira.
No. MeetBot runs on your Mac (typically a Mac mini) as a LaunchAgent. Recordings and transcripts are written to local meeting folders. Transcription uses OpenRouter when configured; you control the keys and models.
The bot signs into Chrome as an invited Google Workspace user. Because it is on the invite list as an internal participant, Meet admits it like any other colleague — no guest knock flow.
An init script taps remote WebRTC audio tracks inside the Meet tab. Speech chunks are sent to an audio-capable chat model with a vocabulary prompt (colleague names, MeetBot, key terms). Lines are attributed using speaking indicators and appear in the UI within a few seconds.
Create Jira tickets, search issues with JQL, get issue details, add comments, and look up people, teams, and sprints. The agent speaks the answer back in the call and logs the command in the web UI.
Each meeting gets a folder with mixed.wav, per-track WAVs, speakers/participants/transcript/commands JSONL, and meta.json. The web UI reads those folders. Note: if OpenRouter transcription is enabled, audio chunks are processed by the configured model provider.
macOS with auto-login, Google Chrome, Node 22+, a Workspace bot user, Calendar OAuth, optional Jira OAuth for voice commands, and an OpenRouter API key for transcription and the agent.
Yes. MeetBot Hosted runs on meet-bot.site at $0.50 per meeting hour. Self-hosted on your Mac remains free — choose whichever fits your ops model.
See the project README on GitHub for setup, troubleshooting, and selector updates when Meet’s DOM changes.
Run it on a Mac mini, invite the bot Workspace user to your Meets, and get recordings, live transcripts, and Jira from the call.
Runs as a LaunchAgent on macOS · Google Meet · Calendar · Jira