Provisioning a Meeting Agent ALPHA
Required plan: EmergingWhen creating or updating an event
add a meeting_agent property as specified below to request a Meeting Agent
join the meeting.
In addition, register to receive webhooks for meeting_agent_complete and
meeting_agent_failed interactions to react to key events in the Meeting
Agent’s lifecycle.
Example Request #
POST /v1/calendars/cal_n23kjnwrw2_jsdfjksn234/events HTTP/1.1
Host: {data_center_url}
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json; charset=utf-8
{
"event_id": "qTtZdczOccgaPncGJaCiLg",
"summary": "Meeting agent enhanced",
"start": "2025-12-07T15:30:00Z",
"end": "2025-12-07T17:00:00Z",
"tzid": "Europe/Berlin",
"conferencing": {
"profile_id": "default"
},
"meeting_agent": {
"profile_id": "cronofy"
},
"subscriptions": [
{
"type": "webhook",
"uri": "https://example.com/notification",
"interactions": [
{ "type": "meeting_agent_complete" },
{ "type": "meeting_agent_failed" }
]
}
]
}Parameters #
data_center_url required
The URL for the data center you want to communicate with. Possible choices are:
api-au.cronofy.com- π¦πΊ Australiaapi-ca.cronofy.com- π¨π¦ Canadaapi-de.cronofy.com- π©πͺ Germanyapi-sg.cronofy.com- πΈπ¬ Singaporeapi-uk.cronofy.com- π¬π§ United Kingdomapi.cronofy.com- πΊπΈ United States
Find out more about Cronofy's data centers.
meeting_agent.profile_id required #
A String value representing the type of
Meeting Agent to provision. One of:
cronofyto provision a Cronofy Meeting Agentnoneto de-provision a previously provisioned Meeting Agent if necessary
If the meeting_agent parameter is omitted entirely then any existing Meeting
Agent will be left untouched.
subscriptions optional #
Object containing an array of subscriptions.
subscriptions[].type optional #
Only one value of webhook is supported.
subscriptions[].uri optional #
The URI within your application you want Cronofy to send notifications to when the interaction is triggered. Must be an externally accessible HTTP or HTTPS URI.
subscriptions[].interactions optional #
An array of interactions that should trigger a call to the uri.
subscriptions[].interactions[].type optional #
The type of interaction. Currently supported are:
meeting_agent_complete- sent when the Meeting Agent has successfully joined the meeting, captured data from it, and processed those into resources it has made available for downloadmeeting_agent_failed- sent when the Meeting Agent was unable to run successfully
Example callbacks #
meeting_agent_complete #
Meeting Agent resource download for how to pull a copy of resources into your application as desired.
POST /notification HTTP/1.1
Host: example.com
Content-Type: application/json; charset=utf-8
Cronofy-HMAC-SHA256: {Base64(HmacSHA256(body_bytes, CLIENT_SECRET))}
{
"notification": {
"type": "event_subscription",
"interactions": [
{
"type": "meeting_agent_complete"
}
]
},
"event": {
"event_id": "qTtZdczOccgaPncGJaCiLg",
"summary": "Meeting agent enhanced",
"start": "2025-12-07T15:30:00Z",
"end": "2025-12-07T17:00:00Z",
"tzid": "Europe/Berlin",
"conferencing": {
"provider_name": "zoom",
"join_url": "https://zoom.us/00001111-222"
},
"meeting_agent": {
"profile_id": "cronofy"
}
},
"meeting_agent": {
"sub": "agt_692702a100ccd07000000000",
"state": "complete",
"resources": [
{
"category": "cronofy",
"type": "dashboard",
"url": "https://..."
},
{
"category": "transcript",
"type": "cronofy",
"url": "https://..."
},
{
"category": "audio",
"type": "voice",
"url": "https://..."
},
{
"category": "video",
"type": "conference",
"url": "https://..."
}
]
}
}meeting_agent_failed #
POST /notification HTTP/1.1
Host: example.com
Content-Type: application/json; charset=utf-8
Cronofy-HMAC-SHA256: {Base64(HmacSHA256(body_bytes, CLIENT_SECRET))}
{
"notification": {
"type": "event_subscription",
"interactions": [
{
"type": "meeting_agent_failed",
"subtype": "meeting_agent_joining_meeting_failed"
}
]
},
"event": {
"event_id": "qTtZdczOccgaPncGJaCiLg",
"summary": "Meeting agent enhanced",
"start": "2025-12-07T15:30:00Z",
"end": "2025-12-07T17:00:00Z",
"tzid": "Europe/Berlin",
"conferencing": {
"provider_name": "zoom",
"join_url": "https://zoom.us/00001111-222"
},
"meeting_agent": {
"profile_id": "cronofy"
}
},
"meeting_agent": {
"sub": "agt_692702a100ccd07000000000",
"state": "complete",
"resources": [
{
"category": "cronofy",
"type": "dashboard",
"url": "https://..."
}
]
}
}