Meetings

Voice Meetings

Record, transcribe, and take notes on a Discord voice call, without leaving Discord.

See it in action
At a glance

Run standups, reviews, and retros right in a Discord voice channel. Team Toolbox keeps a raise-hand speaker queue, records with everyone's consent, and -- when your Google account is connected -- saves the notes, full transcript, and recording to a Google Doc so nobody has to scribble.

All Users

Run a Meeting

Run /meeting start <title> <stop_time> from the chat of the voice channel you want to meet in -- you don't have to be connected to it, but that is where the command has to be run, so the meeting can never land in a channel you weren't looking at. The stop time is natural language ("in 1 hour", "2:30 PM", "tomorrow at 10 AM") and must be in the future. There's one meeting per channel at a time. Five minutes before the scheduled end, and again when time is up, Team Toolbox plays a short cue in the call and posts a note -- but the meeting keeps going until everyone leaves or someone runs /meeting stop, and it auto-ends the moment the last person leaves the channel. A meeting nobody has joined ends itself at the five-minute mark, so a calendar event nobody turned up for doesn't sit open in an empty channel.

A meeting nobody joined, or one everyone left inside five minutes, is treated as cancelled: no summary is posted anywhere, and the notes doc says so instead of carrying a summary of a room nobody was in.

Put a voice channel in a Google Calendar event's location -- as a channel mention, a channel link, or just its name -- and a subscribed calendar starts the meeting there when the event begins. The notes doc gets attached to that calendar invite as it opens, so everyone who was invited has a link to it long after the Discord message has scrolled away.

The meeting's message keeps a running list of who's in the call, and the wrap-up records everyone who was there at any point. Everyone is tagged where Team Toolbox knows the account behind the name, so you can see at a glance who was in the room; past fifteen the list collapses to a count rather than filling the screen.

Both messages carry buttons to the notes, the transcript and the recording, and the title opens the notes too. Started and Ended are relative timestamps that link to the notices at either end -- a long meeting spreads its notices down the channel, and by the end the message holding the links is a long way back up.

/meeting stop wraps up straight away. Finishing the transcript, uploading the audio and writing the notes all carry on afterwards, and the recording button appears on the messages already posted once the upload lands.

/meeting start <title> <stop_time> [folder] [description]Start a meeting, ending at a natural-language future time. folder overrides where the notes and recording are saved; description shows on the meeting's message.
/meeting extend <stop_time>Give a running meeting a new end time.
/meeting stopEnd the meeting, from the voice channel's chat or while connected to it.
/meeting notes [correction]Write the last meeting's notes again from its transcript. correction is what they got wrong, in your own words.

Speaker Queue

Run /hand raise to join the queue to speak and /hand lower to step out of it, so bigger calls stay orderly. Raising posts a notice in the channel carrying the current queue and its own Raise Hand button, so nobody has to reach for a command mid-sentence. The button toggles, and only the newest notice keeps the queue on it.

Asking for a hand that's already up tells you so privately, along with how many people are ahead of you and a button to lower it -- and lowering one that isn't up does the same in reverse. Neither posts anything in the channel, since nothing happened.

/hand queue shows you the current queue privately, with a button to put it in the channel if the room needs to see it. Sharing it twice in quick succession does nothing, so several people reaching for it at once doesn't post the same list three times.

/hand raiseJoin the speaker queue to line up your turn.
/hand lowerStep out of the speaker queue when you're finished.
/hand queueSee who's waiting to speak, and share it with the channel.

Recording

Recording is off unless someone turns it on. A button on the meeting message starts it, and before anything is captured Team Toolbox posts a consent notice so everyone in the call knows recording has begun. The button only appears when Google is connected -- without it there is nowhere for the audio to go.

Ten minutes into a meeting that still isn't recording, Team Toolbox asks once whether you meant to, with a button to start it there and then. Nothing about a meeting looks any different until it ends with an empty transcript and no notes, which is far too late to do anything about.

The transcript starts with the recording, not with the meeting: until someone hits record, the Transcript tab says so rather than sitting empty. Once recording begins that note is replaced by a link back to the message the meeting opened with, and when the meeting ends the transcript closes with a link to the one that ended it. The doc's Recording line tracks the rest of it -- Not Started, In Progress, Processing while the audio uploads, and finally the file's own name, linked to it in Drive.

Stopping posts a notice that says the audio is still uploading, since a long call takes a while to land. That notice is edited once the upload finishes: the recording arrives on it as a button, and it says so. If the recording didn't save at all, it says that instead rather than leaving anyone waiting for something that isn't coming.

Notes, Transcript & Recording

When your Google account is connected (see Google Workspace), Team Toolbox saves everything to a Google Doc with separate Notes and Transcript tabs. Both open the same way -- the meeting's name, the date, and who was there -- so each tab stands on its own. The doc is named date first -- 2026-08-08 - Sprint Review -- so a folder of them sorts itself, and the recording takes the same name, so the two never drift apart in Drive.

Once the meeting ends the Notes tab gains four sections (or, for a cancelled one, a single Meeting Cancelled line saying why there are none): a short Summary, the Next Steps that came out of it, the Details behind them, and Side Conversations for the chat that was never about the meeting. The details are an outline rather than a wall of text -- a project, the areas it covered, and the points under each -- with decisions and open questions called out so they don't disappear into the discussion around them.

While the meeting runs, the Notes tab holds a Scratch Notes heading and nothing else. Anything typed there -- a decision, a name, a number the transcript won't catch -- is read alongside the transcript when the meeting ends, and the summary is written in above it. Type them as a nested list and that outline is read as one, so an agenda added before the call gives the finished notes their shape -- and the names and project words in it are ones the transcription listens out for, so it earns its keep twice. What you wrote stays exactly where you left it. If nobody wrote anything, the scratch pad goes with the prompt that explained it, rather than sitting under the finished notes.

Any link shared along the way -- an agenda, a proposal, a spreadsheet dropped in the chat or written into the scratch notes -- is carried into the summary and left clickable, on the line about the thing it points at. It's often the one part of a meeting still worth having a month later.

By default both land in the Drive of whoever started the meeting. A server admin can set one folder for everything under Meetings in Server Settings, choosing it straight out of Drive; the folder is shown by name, linked to itself, so it's clear which one it is. Shared drives work as well as your own. A calendar subscription can choose its own folder, so a team's meetings file where that team keeps them, and the folder option on /meeting start overrides both for a single meeting. If Google won't let Team Toolbox write to that folder, the notes and recording still save -- they just stay in My Drive.

What the transcript captures

Plenty of a meeting happens in the voice channel's chat -- links, names, the thing nobody wanted to interrupt for -- so the chat goes into the transcript alongside the talking, each line marked for which it came from. Joins, leaves and raised hands are noted where they happened.

The chat doesn't sit still, so neither does the transcript. Edit a message and its line is rewritten where it stands, rather than the correction turning up further down out of order. A reply says who it was answering and quotes enough of them to recognise. Reactions sit in brackets at the end of the line they belong to, held clear of the words and set in the same grey as the timestamp -- real emoji where there is one, and the emoji's name where it's a custom one. An image, GIF or clip is written down as its alt text, falling back to the filename, so a transcript that can't show it still says what it was.

The transcript is bookended by a Recording started. and a Recording ended. line, each stamped with the time and linked back to the message in Discord it's about, with whoever was in the room in brackets beside it.

Getting the names right

A name is the one thing said in a meeting with no context around it to fall back on, which is why speech recognition mangles them more than anything else -- and a name is exactly what an action item hangs off. So before a word is transcribed, Team Toolbox hands the recogniser the names of everyone in the call, everyone else in the server behind them, and the meeting's own title. Somebody who joins halfway through is added as they arrive.

Jargon is the next worst thing, and that is what the agenda is for: the project names, the product words and the people you are about to spend an hour saying out loud. Add it to the scratch notes before you start and it goes to the recogniser too. It only helps what comes after it, though -- an agenda typed half an hour in does nothing for the first half hour -- so it is worth putting there before anyone presses record.

Posting the notes to a channel

Notes in a doc only reach whoever thinks to open it. Pick a channel under Meetings in Server Settings and Team Toolbox posts the summary and the action items there when the meeting wraps up, with links back to the doc, the transcript and the recording, and Started and Ended timestamps that jump to either end of the meeting itself.

Each action item tags whoever it names, so the people who own something hear about it without reading the whole thing. Only people who were actually in the meeting get tagged -- a name that matches nobody in the room is left as text. Nothing posts until a channel is picked, and the toggle beside it pauses posting without losing the channel.

A calendar that starts its own meetings can answer for them separately: its own channel, or none at all. A recurring standup and a board review rarely belong in the same place, and one of the two is often nobody else's business. That lives with the subscription under Google Calendar. The server-wide toggle still has the last word -- switch meeting notes off there and nothing posts anywhere, whatever a calendar says.

When the notes get something wrong

Notes written from a transcript are only ever as good as what the recogniser heard, and a name or an owner can come out wrong in a way nobody but the people who were there would catch. /meeting notes writes them again from the transcript -- rewriting the doc and editing the post in the channel rather than leaving the wrong ones standing under a new set.

Run it from the chat of the voice channel the meeting ran in, or while you're sitting in that channel, and it takes the most recent meeting to have finished there. Meetings are kept for a month, so this also covers the rarer case of the notes never arriving at all -- the transcript is still in the doc either way.

Add a correction and it outranks the transcript: /meeting notes correction: the shirt mock-up was June's, not Ellie's. It is applied to both the notes and the check that follows them, and everything the correction doesn't touch is written as before.

Google is what saves the record

Without a connected Google account the meeting still runs -- speaker queue, recording, and all -- but nothing is saved afterward. Connect Google before your first meeting to keep the notes, transcript, and recording.

Need a hand?

Run /meeting help in Discord, join the community server, or check the Help page.