Release Notes - v0.22.0¶
Release Date: 2026-10-29
v0.22.0 lets the meeting agent answer questions. After it announces itself, the agent stays silent until someone in the meeting says its name, then answers in a sentence or two from the recent transcript and adds the question and answer to the meeting notes. The agent's voice now defaults to Deepgram, the same provider that transcribes the meeting, so one key covers both.
Highlights¶
- Answers When Addressed - "OmniAgent, what did we decide about the launch?" gets a spoken answer in the meeting, recorded under Questions Answered in the notes.
- One Key for Speech - Deepgram is the default for both speech to text and the agent's voice. ElevenLabs and OpenAI work with the same options.
- Correct Playback Speed - The agent's speech is requested in the phone call's own format, and its sample rate is read reliably, so the announcement no longer plays at the wrong speed.
What's New¶
Asking the Agent a Question¶
The announcement now ends by inviting questions. Address the agent by name:
[00:14:02] OmniAgent, what did we decide about the launch?
[00:14:05] OmniAgent: We moved the launch to Thursday, and Dana is updating the roadmap.
Saying the name alone also works: after "Hey OmniAgent?", the next sentence is taken as the question. The agent answers one question at a time, only after the meeting has admitted it, and ignores what it hears while its own voice may still be playing, so it cannot answer its own echo.
Speech to text may spell an unusual name differently. Spacing and case do not
matter ("Omni Agent" matches "OmniAgent"); add other spellings with
--answer-to:
Anyone in the meeting can address the agent, so it answers with no tools: it
cannot send messages, look things up, or change anything. Answers use the same
LLM as the summary (--llm, --model).
| Flag | Description |
|---|---|
--no-answer |
Do not answer when addressed by name |
--answer-to |
Other names the agent answers to, besides --name (repeatable) |
Choosing a Voice¶
--tts selects the agent's voice provider. With no format set, the agent asks
for the call's own audio, 8 kHz mu-law, which all three providers produce:
--tts |
Key | --voice example |
|---|---|---|
deepgram (default) |
DEEPGRAM_API_KEY |
aura-2-thalia-en |
elevenlabs |
ELEVENLABS_API_KEY |
an ElevenLabs voice ID |
openai |
OPENAI_API_KEY |
alloy |
Using the Library¶
meeting.Config.Respondertakes ameeting.Responder. Without one, the agent stays silent after its announcement.meeting.LLMResponderanswers from the transcript with any omnillm-core chat client and sends no tools.meeting.Config.Namesadds other names the agent answers to.meeting.Record.Exchangesholds the questions answered, and the notes render them under Questions Answered. The agent's answers also appear in the transcript with its name as the speaker.
record, err := meeting.New(meeting.Config{
Name: "OmniAgent",
Transcriber: deepgram, // an omnivoice-core stt.StreamingProvider
Speaker: deepgramTTS, // any omnivoice-core tts.Provider
Responder: meeting.LLMResponder{Client: llm, Model: "claude-sonnet-5"},
Summarizer: meeting.LLMSummarizer{Client: llm, Model: "claude-sonnet-5"},
}).Attend(ctx, sess)
With no SynthesisConfig.OutputFormat, the attendant requests the meeting's
own audio format, so any provider works without per-provider settings.
Fixes¶
- Announcement speed. The sample rate in a format name such as
ulaw_8000now takes precedence over the rate a synthesis result reports, and the requested rate is used when a result reports none. A provider reporting 44.1 kHz for 8 kHz audio made the announcement play at the wrong speed.
Limitations¶
- Answers start after the speaker finishes. The agent answers once the question's sentence is transcribed, so expect a pause of a few seconds.
- One question at a time. A question asked while the agent is answering is not answered.
The limitations listed in v0.21.0 still apply.
Upgrading¶
- The agent now answers when addressed. Pass
--no-answerto keep the v0.21.0 behavior, where it is silent after its announcement. - The default voice is Deepgram.
ELEVENLABS_API_KEYis no longer needed by default; pass--tts elevenlabsto keep using ElevenLabs.
Dependencies¶
omnivoicev0.14.0, which bringsomni-openaiv0.8.0 (mu-law and A-law speech for phone calls),elevenlabs-gov0.14.0 (reports the sample rate of the returned speech), andtelnyx-go/v4v4.106.0.
Documentation¶
- Attending Meetings by Phone guide: asking the agent a question, and choosing its voice.
- CLI reference:
--no-answerand--answer-to.
Full Changelog¶
See CHANGELOG.md for the complete list of changes.