Documentation Index
Fetch the complete documentation index at: https://docs.vobiz.ai/llms.txt
Use this file to discover all available pages before exploring further.
PrerequisitesSet callbackUrl (and optionally callbackMethod) on the <Conference> element. Vobiz sends an HTTP request to this URL for each lifecycle event.
Events
Vobiz sends a callback for each of the following events:
ConferenceAction value | When it fires |
|---|
enter | A participant joins the conference room |
exit | A participant leaves the conference room |
start | The conference starts (first startConferenceOnEnter="true" participant arrives) |
end | The conference ends (last participant leaves, endConferenceOnExit fires, or timeLimit is reached) |
Parameters sent to callbackUrl
These parameters are included in every callback request.
| Parameter | Description |
|---|
ConferenceAction | The event that triggered the callback. Values: enter, exit, start, end |
ConferenceUUID | Unique identifier for this conference session |
ConferenceName | The room name set in the <Conference> element |
CallUUID | Unique identifier for the individual call leg that triggered the event |
From | Caller’s phone number for the leg that triggered the event |
To | Called phone number for the leg that triggered the event |
ConferenceCurrentSize | Number of participants currently in the conference at the time of the event |
Timestamp | When the event occurred |
RecordingUrl | URL of the conference recording. Only present on end events when record="true" |
Examples
Handling callbacks in Node.js
Express handler for conference events
const express = require('express');
const app = express();
app.use(express.urlencoded({ extended: true }));
app.post('/conference-events', (req, res) => {
const {
ConferenceAction,
ConferenceUUID,
ConferenceName,
CallUUID,
From,
ConferenceCurrentSize,
RecordingUrl
} = req.body;
switch (ConferenceAction) {
case 'enter':
console.log(`${From} joined ${ConferenceName} (${ConferenceCurrentSize} participants)`);
// Notify other participants, update dashboard, etc.
break;
case 'exit':
console.log(`${From} left ${ConferenceName} (${ConferenceCurrentSize} remaining)`);
break;
case 'start':
console.log(`Conference ${ConferenceName} started — UUID: ${ConferenceUUID}`);
// Begin any server-side session tracking
break;
case 'end':
console.log(`Conference ${ConferenceName} ended`);
if (RecordingUrl) {
console.log(`Recording available at: ${RecordingUrl}`);
// Store recording URL, notify participants, etc.
}
break;
default:
console.log(`Unknown conference event: ${ConferenceAction}`);
}
res.status(200).send('OK');
});
Handling callbacks in Python
Flask handler for conference events
from flask import Flask, request
app = Flask(__name__)
@app.route('/conference-events', methods=['POST'])
def conference_events():
action = request.form.get('ConferenceAction')
conference_name = request.form.get('ConferenceName')
conference_uuid = request.form.get('ConferenceUUID')
call_uuid = request.form.get('CallUUID')
caller = request.form.get('From')
size = request.form.get('ConferenceCurrentSize')
recording_url = request.form.get('RecordingUrl')
if action == 'enter':
print(f"{caller} joined {conference_name} ({size} participants)")
elif action == 'exit':
print(f"{caller} left {conference_name} ({size} remaining)")
elif action == 'start':
print(f"Conference {conference_name} started: {conference_uuid}")
elif action == 'end':
print(f"Conference {conference_name} ended")
if recording_url:
print(f"Recording: {recording_url}")
# Persist URL, send email notification, etc.
return 'OK', 200
Example callback payload
POST /conference-events HTTP/1.1
Host: yourapp.com
Content-Type: application/x-www-form-urlencoded
ConferenceAction=enter
ConferenceUUID=3f9a1b2c-44de-4f0a-b832-7c0a12345678
ConferenceName=WeeklyStandup
CallUUID=9a0e0208-d01a-4572-9a04-fe583a05ac53
From=918071387423
To=919624705678
ConferenceCurrentSize=3
Timestamp=2026-05-19 10:32:15
POST /conference-events HTTP/1.1
Host: yourapp.com
Content-Type: application/x-www-form-urlencoded
ConferenceAction=end
ConferenceUUID=3f9a1b2c-44de-4f0a-b832-7c0a12345678
ConferenceName=WeeklyStandup
CallUUID=9a0e0208-d01a-4572-9a04-fe583a05ac53
From=918071387423
To=919624705678
ConferenceCurrentSize=0
RecordingUrl=https://recordings.vobiz.ai/conf-3f9a1b2c.mp3
Timestamp=2026-05-19 10:58:47