- The transcript, as a person reads it — a clock, who spoke, and what they said, with each voice on its own line.
- The audio, both sides mixed onto the one timeline they happened on, so an interruption sounds like an interruption. Optional.
- A tag, if you set one. Whoever you tag is notified on that message, which is how an agent sitting in the channel picks the conversation up and does something with it.
Connect a channel
In the console, Settings → Discord. Three things go in.1
A bot
Create an application at
discord.com/developers, add a
bot to it, and invite the bot to your server. In the channel it will post
in, it needs View Channel, Send Messages and Attach Files.Paste the bot token. It is stored sealed, is never returned by the API, and
the console never reads it back — so the field is empty on every visit, and
leaving it empty keeps the token you already connected.
2
The channel id
Turn on Developer Mode in Discord (Settings → Advanced), then
right-click the channel and Copy Channel ID.Saving checks the id against Discord before storing it. If the bot cannot
see that channel you are told now, with what to change — not on the first
conversation somebody was relying on.
3
Who gets tagged
A name is only words.
@Hermes Agent typed into a message body notifies
nobody; <@1416700000000000001> is a notification.To get the second, type a backslash before the name in Discord —
\@Hermes Agent — and send it to yourself. What appears is the tag to
paste. A role works the same way and arrives as <@&…>.Only that one id can ever be notified. Nothing in the transcript is read as
a mention, so a conversation in which somebody said “at everyone” out loud
does not ping a server.Send one
Open the conversation in Studio → Sessions and press Send to Discord under the transcript. A conversation that heard more than one voice is taggedSpeaker 1,
Speaker 2 by the transcriber, and the dialog offers a name for each. The
names are used for that post and stored nowhere: a speaker number is a
temporary voice cluster that can split, merge or expire, never a person, so a
name remembered from one conversation would eventually land on somebody
else’s words. The person pressing the button was in the room.
Sending is queued, not done on the request — reading two tracks out of storage,
mixing and encoding them takes longer than a click should wait.
A conversation is sent once. Press Send again and you are told it already
went, rather than the channel getting a second copy. A message in a channel
cannot be taken back, so that is the direction this errs in; if you want a
second copy, the files are on the first message.
What the audio is
Both tracks are summed into one mono file and encoded as Opus, at a bitrate chosen from the conversation’s own length so it fits what Discord accepts. Discord plays it inline. A conversation too long to fit is posted with its transcript and a link to the console instead of a shortened recording — half a brainstorm is worse evidence than none, because nothing in the file says where it stopped. The message says which happened. If the workspace was not recording audio (Settings → Preferences), the transcript goes on its own and the message says why there is no recording.What this is not
- Not automatic. Nothing leaves the workspace until somebody opens a conversation and sends it.
- Not a second copy of the console. Everyone in that Discord channel can read what you post there, including people who cannot sign in to the workspace. Sending is the decision; the channel is not access-controlled by us.
- Not erasure-aware after the fact. Deleting a session erases the audio, the transcript and the row here. It cannot unpost a Discord message.
conversation.shared_to_discord, with
who sent it, which channel it went to and which files went with it.