<Conference>
Join the call into a named conference room.
Used inside
<Dial>.
Element body
The conference's friendly name. Rooms are isolated per account, so two accounts using the same name get independent rooms.
Example
<Response>
<Dial action="https://app.example.com/conf-exit">
<Conference startConferenceOnEnter="false"
waitUrl="https://cdn.example.com/hold.wav"
statusCallback="https://app.example.com/conf-events"
participantLabel="customer">support-room</Conference>
</Dial>
</Response>
Attributes
| Attribute | Default | Behaviour |
|---|---|---|
muted |
false |
true joins the participant muted — they hear the room but are not heard. |
beep |
true |
A tone plays to the room when the participant joins or leaves; false suppresses it. |
startConferenceOnEnter |
true |
false makes this a waiting participant who hears hold audio until a participant with startConferenceOnEnter=true arrives and the conference begins. |
endConferenceOnExit |
false |
true ends the conference for everyone the moment this participant leaves. |
waitUrl |
unset |
Audio played while waiting for the conference to start. Streaming sources and silence URIs are accepted verbatim. |
participantLabel |
unset |
Friendly label visible in conference events and on the Participants REST resource; also the value another participant's coach attribute matches against. |
maxParticipants |
unset |
Per-join hint for the room's maximum size; the hard cap is set at platform level. |
whisper |
unset |
URL fetched just before the join; the returned VoiceML runs privately on the joining participant's leg ("you have a call from…, press 1 to accept"). Best-effort: a fetch failure does not abort the join. |
record |
do-not-record |
record-from-start records the conference mix; recording stops when this participant leaves. |
trim |
trim-silence |
Accepted for compatibility; currently a no-op for conference recordings. |
recordingStatusCallback |
unset |
URL receiving recording lifecycle events: in-progress, completed, absent (same shape as <Record>). |
recordingStatusCallbackMethod |
POST |
HTTP method for recording lifecycle callbacks. |
recordingStatusCallbackEvent |
completed |
Comma-separated list of recording lifecycle events to deliver. |
statusCallback |
unset |
URL receiving live conference status events. |
statusCallbackEvent |
all events |
Comma-separated allow-list of conference event names to deliver; omit to receive all. See the event vocabulary below. |
coach |
unset |
Set to another participant's participantLabel to join as a whisper-coach: hear everyone, be heard only by the coached participant. |
region |
unset |
Accepted for compatibility; a no-op on this single-region platform. |
Notes
- Conference status events: conference-start, conference-end, participant-join, participant-leave, participant-mute, participant-unmute, participant-hold, participant-unhold, participant-speech-start, participant-speech-stop. Match on the full event strings.
- Friendly names containing a double underscore (__), whitespace, control characters, or the URL metacharacters / ? # are rejected.
- When the participant leaves, the parent <Dial> action fires with ConferenceSid, DialCallStatus (completed on a clean leave, failed on a join error), and DialCallDuration (seconds in the room).