If you intend to use an AI Assistant in a meeting with more than one participant, you will need to do some additional configuration to avoid the Assistant addressing every person speaking. See Suggested Assistant configuration.
How It Works
The Meeting service connects your Assistant to the meeting directly. Meeting audio reaches the Assistant, the Assistant’s speech is played into the room, and everything in between is handled for you. There is nothing to wire up: supply the Assistant’s ID and the service does the rest. Earlier versions required a Call Control connection, a caller ID and a loopback SIP URI to bridge audio to the Assistant. That machinery is gone, and so are the fields — sending them now returns400 invalid_request.
Attach an assistant with the assistant parameter at session creation:
The assistant listens to the meeting, runs its configured model and tools (webhooks, handoff, knowledge bases, MCP servers, and more), and speaks in the voice configured on the Assistant itself — the session’s own
voice applies to manual speech and is not used while an assistant is attached. Its conversation is captured in the live transcript and artifacts like any other participant.
Assistant Parameters
Eachassistant parameter has its own configuration and constraints. Select a tab for details.
- Assistant
- Audio Gate
- Leave on End
- Dynamic Variables
id RequiredSupply the ID of an existing Telnyx AI Assistant in your account. The Assistant’s instructions, model, voice, tools, transcription configuration, and other behavior all come from that Assistant resource.- Supply the resource ID, not the Assistant’s display name.
- The Assistant must be owned by the authenticated customer account.
- Test the Assistant on a normal Voice API call before using it in a meeting.
- Do not include an Assistant API key in the request. Meeting obtains a short-lived delegated credential from the authenticated customer context.
Suggested Assistant Configuration
Everything above is sent on the meeting session. This section is the other half — settings on the Assistant resource itself, in the Portal or through the Assistants API. Nothing here is required to attach an Assistant to a meeting, and nothing here is meeting-specific API surface.For meetings with more than one participant
A one-to-one call has an obvious turn structure: the caller speaks, the Assistant answers. A meeting does not. People talk to each other, and an Assistant that answers every turn it hears will talk over a discussion it was never part of. Add theskip_turn tool. It lets the Assistant choose to say nothing on a turn — in effect, to speak only when spoken to. Without it the Assistant has no way to decline a turn, so it will attempt a response to whatever it just heard.
Tools
Instructions
Weather Assistant is addressed as “Weather Assistant”; one named Nyx is addressed as “Nyx”. Nothing extra is wired up for meetings — name the Assistant and that is the name in the room.
So the name is worth choosing for a room rather than for a list. It is spoken aloud by people over compressed audio, so two or three syllables carry better than one, and a name that collides with ordinary meeting speech — “signal”, “echo”, “central” — will pull the Assistant into conversations it was not part of. It is also worth naming in the instructions, so the Assistant recognises itself when somebody says it:
Instructions
How an Assistant handles several speakers at once is not specific to meetings. Multi-participant calls covers the underlying behaviour and is worth reading alongside this.
To let the Assistant end its own session
Add thehangup tool if the Assistant should be able to decide it is no longer needed and end the conversation, rather than staying until something else removes it.
Tools
leave_on_end: the tool ends the Assistant’s conversation, and leave_on_end: true on the session turns that into the bot leaving the meeting. Set the tool alone and the Assistant stops talking while the bot stays in the room; set both and the bot goes when the Assistant decides it is done.
Authentication and Resource Ownership
For production requests:- The request must pass through the authenticated production Gateway, which supplies an account and actor identity.
- The Assistant must belong to that customer.
- The Meeting service acts on the customer’s behalf using short-lived delegated credentials resolved immediately before each command.
- API keys, bearer tokens, and webhook public keys must not be included in the
assistantobject.
id, audio_gate, dynamic_variables and leave_on_end — the whole of the assistant configuration.
Session Restrictions
Assistant-backed meeting sessions are currently:- Immediate-only —
join_atcannot be supplied. - Incompatible with
barge_in: true— the Telnyx AI Assistant owns interruption behavior. To let participants interrupt the Assistant, setaudio_gate: "full_duplex"rather thanbarge_in. - Compatible with an avatar — an Assistant and an anam avatar can be used together; Assistant speech is then delivered through the lip-synced avatar output.
Troubleshooting
Combine with a Digital Avatar
Theassistant and avatar parameters are independent, so you can use them together or separately:
Related
- Multi-participant calls — how the Assistant behaves when multiple people are in the conversation
- Controlling the Bot — the manual alternative: speak and chat by hand
- Meeting Presence — the bot’s roster name and on-camera identity
- Digital avatars — render the bot as a speaking avatar on camera