All-in-one API to integrate with Zoom, Teams, Google Meet, and capture real-time transcripts
Contents
API Documentation
Last Updated: March 2025
The Bot API provides the capability to deploy bots into your Zoom or Google Meet meetings and receive near real-time transcripts of the meeting.
Client Libraries
We provide official client libraries to make integration easier:
Deploying Bots
Endpoints
- https://bot.chatter-box.io/join
Required Headers
- Content-Type: application/json
- Authorization: Bearer token
Note: Replace 'token' with your secret API access token.
Request Body
{
"platform": "zoom",
"meetingId": "1234567890",
"meetingPassword": "Rks...1",
"botName": "My Bot",
"webhookUrl": "https://your-domain.com/webhook"
}
platform: The online conference platform. Accepted values: 'zoom', 'googlemeet'
meetingId: The ID of the Zoom ('###########') or Google Meet ('xxx-xxx-xxx') meeting.
meetingPassword: The password for the Zoom meeting (optional).
botName: The name of the bot (optional).
webhookUrl: URL to receive webhook events for session status (optional).
Response
{
"sessionId": "04634659-cad2-454a-87f9-e983bd123456"
}
Receiving Transcripts
WebSocket Endpoints
- https://ws.chatter-box.io
Query Parameters
- auth: Your API token
- sessionId: Session identifier from bot deployment
Event Types
Session Started Event
{
"sessionId": "04634659-cad2-454a-87f9-e983bd123456",
"timestamp": 1724766459
}
Transcript Event
{
"sessionId": "04634659-cad2-454a-87f9-e983bd123456",
"timeStart": 12345,
"timeEnd": 12345,
"speaker": "User Name",
"text": "Transcript utterance"
}
Session Finished Event
{
"sessionId": "04634659-cad2-454a-87f9-e983bd123456",
"timestamp": 1724766459
}
Post-Call Information
Endpoints
- https://bot.chatter-box.io/session/{sessionId}
Required Headers
- Content-Type: application/json
- Authorization: Bearer token
Response
{
"recordingLink": "url",
"startTimestamp": "2024-05-21T14:00:00Z",
"endTimestamp": "2024-05-21T15:00:00Z",
"transcript": [
{
"timeStart": 12345,
"timeEnd": 12345,
"speaker": "User Name",
"text": "Transcript utterance"
},
{
"timestamp": 12378,
"speaker": "Another User",
"text": "Another transcript utterance"
}
]
}
Note: Recording link URL is valid for 5 minutes for security reasons.
Webhook Events
When a webhook URL is provided, the following events will be sent to your endpoint:
Session Started Webhook
{
"type": "started",
"payload": {
"sessionId": "04634659-cad2-454a-87f9-e983bd123456",
"timestamp": 1724766459
}
}
Session Finished Webhook
{
"type": "finished",
"payload": {
"sessionId": "04634659-cad2-454a-87f9-e983bd123456",
"timestamp": 1724766459,
"recordingUrl": "https://signed-url-to-recording.mp4"
}
}
Note: The recording URL in the finished webhook is valid for 5 minutes for security reasons.