Skip to content

Voice notes

Run /notes start while you are in a voice channel and the bot joins, listens and writes down who said what. When you run /notes stop it turns the conversation into the same summary and action items as an uploaded meeting transcript. The bot never joins by itself. It comes only when someone in that channel asks.

For example: you and two teammates are on a call. You run /notes start, the bot joins muted and posts a notice in the channel’s text chat, and you talk. Ten minutes later someone runs /notes stop. A minute after that the summary appears, and anyone named as the owner of an action item (a task someone agreed to do) gets a direct message with their items.

Voice notes are off unless whoever runs the bot has switched them on. When they are off, /notes does not exist in the server.

  1. Join a voice channel.
  2. Run /notes start in any channel of the server.

You can also use Discord’s Invite to voice on the bot while you are in the channel. The invite reaches the bot as a direct message with a link. The bot reacts with 👀 at once, joins, then swaps the reaction for ✅ and replies in the DM: I joined #team-sync and started taking notes. Run /notes stop in the server when you are done. It is the same start as /notes start, with the same exclusions, one meeting at a time and the same notice. Stop it with /notes stop in the server.

The bot reads only the first invite link in a message, ignores every other direct message, and ignores invites beyond 5 a minute with no reply. A refused invite gets ❌ and one of these replies, or one of the refusals under When a notes request is refused:

The bot saysWhat it means
That invite is not for a voice channel in this server.The link is expired, is for another server, or is not for a voice or stage channel
Join that voice channel first, then send the invite again.You are not in the channel the invite is for
You do not have permission to use bot commands in that channel.You lack the Discord permission to use bot commands (Use Application Commands) there

The bot answers, privately to you, that it joined. It joins muted and never speaks, but it can hear you.

Example of the bot in Discord

You type

/notes start

Doge Bot replies

I joined #team-sync and started taking notes. Run /notes stop when you are done and the summary will be posted.

Only you can see this

Discord shows the channel as a link, written here as #team-sync.

At the same moment the bot posts one notice in the voice channel’s own text chat, the chat beside the call. It says who started the notes and who can read the summary:

Example of the bot in Discord

Doge Bot replies

Taking notes, started by Sam. The summary goes to #ai-meeting-transcripts, visible to everyone who can read that channel.

Everyone who speaks here is transcribed. Audio is not kept; the text is kept for 90 days and processed by the PlaySafe transcription service and AI. Leave the call to opt out; anyone in it can run /notes stop.

The number of days is set by whoever runs the bot (90 by default). The name is the display name of whoever started the notes, cut to 40 characters. When the summary stays in the voice chat, the first line reads The summary goes to this channel's chat, visible to the people who can access this voice channel.

If the bot cannot post that notice, it leaves again and does not start, because the notice is how everyone in the call is told.

It depends on who can join the voice channel.

The voice channel isThe summary is posted inWho can read it
Open to everyone: everyone in the server can see it and join itThe shared summary channel, ai-meeting-transcripts unless an admin chose another nameEveryone in the server
Private: not everyone can see it or join it, or the bot cannot tellThe voice channel’s own text chatOnly the people who can access that voice channel

The notice says which applies, so you know before you speak. Two extra sentences can follow its first line. I created #ai-meeting-transcripts for the summaries. means the shared channel did not exist and the bot made it. I could not find or create the summary channel, so this meeting's summary stays in this chat. means the bot could not, and the notes stay in the voice chat.

Run /notes stop. These people can stop it:

  • Anyone who is in the call.
  • The person who started the notes, from anywhere.
  • A member with the Manage Server permission (an admin permission), from anywhere.

Anyone else gets Only people in the call, the person who started the notes or someone with Manage Server can stop them.

The bot also stops by itself when:

What happenedWhat the bot says in the voice chat
The last person left the channelEveryone left, so I stopped taking notes.
The meeting reached the maximum length. The default is 180 minutesThe maximum meeting length was reached, so I stopped taking notes.
The bot was disconnected, for example by a moderatorI was disconnected from the voice channel, so I stopped taking notes.
The bot is restartingThe bot is restarting, so I stopped taking notes.
An admin blocked notes in the channelThe notes stop at once, see Voice notes for admins

Each of these is followed by the result, for example Meeting notes posted in #ai-meeting-transcripts. When the notes stopped by themselves, the person who started them also gets that result as a direct message, because nobody may be left in the voice chat to read it. That message is skipped when whoever runs the bot has limited direct messages to a list of people and the starter is not on it.

The summary has the same parts as a transcript summary: a title, who was there, the decisions, the discussion and the action items. See What the bot posts. Three things differ:

  • Who was there is the people who spoke, by their server display name. Someone who joined but never spoke is not listed.
  • Action items are matched to people by who spoke, so an item owned by “Alex” goes to the Alex who was in the call.
  • The post is not a reply to anything, and it pings nobody.

Each person named as an owner gets a direct message with their items, ready to file in Linear with one click. That needs a Linear connection. The buttons, teams and tickets are on Meeting transcripts.

Run /notes status to see whether the bot is taking notes and where.

The bot saysWhat it means
I am not taking notes right now.No meeting is being noted
Taking notes in #team-sync, started by @Sam since 12 minutes ago.Notes are running. The time shows as Discord’s own “x minutes ago” and is left out while the bot is still joining. (joining) or (wrapping up) follows the channel while it is starting or finishing
I am taking notes in a channel you cannot see.Notes are running in a channel you cannot see. The bot does not name it or who started it

These replies are private to you.

The bot saysWhat it means
Join a voice channel first, then run /notes start.You are not in a voice channel
I am already taking notes in #team-sync. Only one meeting at a time.The bot takes notes in one channel at a time. If you cannot see that channel it says another channel
An admin has turned off notes in this channel.An admin blocked notes here and you do not have Manage Server
Ask an admin to give me Connect, View Channel and Send Messages in that channel.The bot cannot join or post there
I could not check this channel right now. Try again in a moment.The bot could not look up whether the channel is blocked
I could not join that voice channel. Try again in a moment.Discord did not let the bot connect
I lost the voice connection while joining. Try again in a moment.The connection dropped while the bot was joining
I could not post the notice in the voice channel chat, so I did not start taking notes. Check my Send Messages permission there.The consent notice could not be posted, so nothing was started
I am not taking notes right now.You ran /notes stop with no meeting running
Notes are still starting. Try again in a moment.You ran /notes stop during the join
The notes are already being wrapped up.Someone already stopped it

The result line says what happened.

The bot saysWhat it means
Meeting notes posted in #ai-meeting-transcripts.It worked. Some speech could not be transcribed. follows when part of the meeting was missed. A sentence naming the owners who could not get a DM follows when their DMs are closed
There was too little speech (the transcript was too short), so no notes were posted.Fewer than 200 characters of text, speaker names included, came out of the call
The transcription service was unavailable, so no notes were written.The bot could not turn any speech into text
The AI service was unavailable, so the notes are not written yet. I kept what was said and will write them up automatically in a few minutes.The AI provider is down. See When the AI is down, because the line reads the same whether or not the notes will follow
The daily limit for meeting notes has been reached. Try again tomorrow.The server’s daily total of meetings and transcripts is used up
You have reached your daily limit for meeting notes. Try again tomorrow.The person who started the notes already had 5 meetings or transcripts in the last 24 hours
These notes were already posted.The same meeting was already written up
The meeting notes channel is not available.The summary channel does not exist and the bot could not post
The notes were interrupted.The write-up was cut short while the bot was shutting down
What was said is saved and the notes will be finished when the bot is back.The bot was stopped mid-meeting. It finishes the notes after it restarts
Something went wrong while writing the notes.An unexpected error

If the transcription service has trouble in the middle of a meeting, the bot says The transcription service is having trouble, so parts of this meeting may be missing from the notes. once in the voice chat.

Whenever the write-up fails for one of these reasons, the person who started the notes also gets a direct message, even after a normal /notes stop. It is skipped when whoever runs the bot has limited direct messages to a list of people and the starter is not on it.

The bot saysWhat happened
The AI service is unavailable right now. I kept what was said and will write up the voice meeting notes automatically in a few minutes.See When the AI is down
The AI service is unavailable right now, so I could not write up the voice meeting notes. Please try again in a minute.The meeting ended while the AI was down and too little was said to keep
The daily limit for transcripts has been reached, so I could not write up the voice meeting notes. Please try again tomorrow.The server’s daily total is used up
You have reached your daily limit of 5 transcripts, so I could not write up the voice meeting notes. Please try again tomorrow.You already had 5 meetings or transcripts in the last 24 hours
The meeting notes channel is not available, so I could not post the voice meeting notes.The summary channel does not exist and the bot could not post
Something went wrong while writing up the voice meeting notes.An unexpected error

The bot sends the same two lines (the result line and the direct message) in two different situations.

  • The outage was already known. Another meeting or upload failed because of it in the last minute. Your text is saved, and about a minute later the bot tries once to write it up. If the AI is back, the summary posts as usual.
  • Yours was the first to hit it. The notes are not written, whatever the lines say. The text is kept until it is deleted, but nothing reads it again. The audio is gone, so this meeting cannot be written up. Run /notes start again for the next meeting.

When the bot is stopped or restarted during a meeting, it saves what it heard and tells the voice chat. After it comes back it writes the notes, posts them where they were meant to go, and sends the person who started the notes A restart interrupted your voice meeting notes, so I finished them now: and a link. If it cannot post, that person gets a direct message that says why, when the bot is allowed to message them.

LimitDefaultCounted
Meetings at onceOneThe whole server. A second /notes start is refused
Meeting length180 minutesPer meeting. Whoever runs the bot can set 5 to 720
Shortest speech kept0.8 secondsShorter sounds are ignored
Meetings and transcripts per day20Across everyone, with uploaded transcripts, in any rolling 24 hours. A restart resets the count
Meetings and transcripts per person per day5Per person who started notes or uploaded, in any rolling 24 hours. A restart resets the count
Action items per meeting15Any more are dropped
  • The audio is not kept. It is held in memory only until each short piece of speech has been turned into text. Nothing is written to disk.
  • The text is kept for 90 days by default (whoever runs the bot can change that), then deleted. The summary, the names of who spoke and the action items stay.
  • The speech goes to the PlaySafe transcription service, a speech-to-text service the bot uses, which turns it into text. Then the text goes to Google’s Gemini to write the summary, the same as an uploaded transcript.
  • The voice chat is not copied. The bot keeps a searchable copy of messages in the server’s text channels. Messages in a voice channel’s text chat, including the bot’s notice and a private summary, are left out of it.
  • There are no time stamps. The transcript is who said what, in order.

Full detail is on What the bot stores.