v0.1 — production API
This shape backs Cirrus Insight webhooks and integrations in production today. Supported indefinitely.
Meeting object
The meeting object represents a booked meeting that was scheduled through a Smart Scheduler, personal scheduling page, or team scheduling page. The object contains a foreign key reference for the meeting in the email server's calendar, meeting metadata, and invitee information. Also included are the questions and responses entered into the forms when the meeting was booked. The meeting object may be useful for creating accounts, contacts or leads for the booking user, tracking/update meeting based KPIs or other custom workflows important to your organization.
The same meeting object is delivered for every scheduling event family (scheduling.smartscheduler.*, scheduling.personalscheduling.*, and scheduling.teamscheduling.*). Use meetingInfo.type to distinguish which experience produced the event, and meetingInfo.teamMembers to identify the participating users on team-scheduled meetings.
The Meeting schema
{
"id": "mtg_00000000000000000000000000000000",
"emailMeetingId": "",
"zoomMeetingId": null,
"organizationId": "org_00000000000000000000000000000000",
"meetingStart": "",
"meetingEnd": "",
"isCanceled": false,
"meetingOwner": {
"userId": "usr_00000000000000000000000000000000",
"username": "",
"lastName": "",
"firstName": ""
},
"meetingInfo": {
"meetingId": "mtg_00000000000000000000000000000000",
"type": "team",
"primaryInvitee": "",
"primaryInviteeName": "",
"primaryInviteeFirstName": "",
"primaryInviteeLastName": "",
"primaryInviteePhoneNumber": "",
"optionalInvitees": "",
"meetingName": "",
"location": "",
"existingEmailMeetingId": null,
"calendarUrl": "",
"organizationPath": "",
"calendarPath": "",
"rescheduleUrl": "",
"cancelUrl": "",
"timeZone": {
"id": "",
"displayName": "",
"standardName": "",
"iana": "",
"shortName": "",
"utcOffset": "00:00:00"
},
"timeZoneOffset": 0,
"culture": "",
"formValues": [],
"surveyQuestions": [
{
"question": "",
"answer": ""
}
],
"teamMembers": [
{
"userId": "usr_00000000000000000000000000000000",
"username": "",
"firstName": "",
"lastName": ""
}
],
"campaign": {
"utm_id": null,
"utm_source": null,
"utm_medium": null,
"utm_campaign": null,
"utm_term": null,
"utm_content": null
}
}
}INFO
The example above shows a scheduling.teamscheduling.* payload. A few fields vary by event family — see the field descriptions below for the specifics:
meetingInfo.type—smartschedule,personal, orteam.meetingInfo.formValues— populated only onscheduling.smartscheduler.*events; an empty array on personal- and team-scheduling events.meetingInfo.teamMembers— populated onscheduling.teamscheduling.*events; an empty array onscheduling.personalscheduling.*events;nullonscheduling.smartscheduler.*events. Guard againstnullbefore reading.lengthor iterating.meetingInfo.surveyQuestions[].isRequired— present only on items delivered withscheduling.smartscheduler.*events; absent from survey-question items on personal- and team-scheduling events.
Fields
id string
The Cirrus Insight identifier for this booked meeting, prefixed with mtg_.
emailMeetingId string
The external system identifier for the event in Office 365, Exchange, or Google Calendar.
zoomMeetingId number
(optional) The Zoom meeting identifier when the meeting was created with a Zoom conferencing location. null when no Zoom meeting was created.
organizationId string
The Cirrus Insight organization identifier, prefixed with org_.
meetingStart string
The meeting start time formatted as an ISO 8601 string in UTC.
meetingEnd string
The meeting end time formatted as an ISO 8601 string in UTC.
isCanceled boolean
A flag indicating if the meeting was canceled through Cirrus Insight scheduling. This will be true on *.canceled events and false on *.scheduled and *.rescheduled events.
meetingOwner object
The Cirrus Insight user on whose calendar the meeting was scheduled. For team scheduling events, this is the user that owns the team scheduling page; the full participating team is in meetingInfo.teamMembers.
child attributes
| Attribute | Type | Description |
|---|---|---|
userId | string | The Cirrus Insight identifier for the meeting owner's user record, prefixed with usr_. |
username | string | The user's username, typically email format. |
firstName | string | First name of the meeting owner. |
lastName | string | Last name of the meeting owner. |
meetingInfo object
The meetingInfo object contains information about the meeting, including the primary invitee, meeting name, location, scheduling experience metadata, and any form or survey responses captured during booking.
Child attributes
| Attribute | Type | Description |
|---|---|---|
meetingId | string | The Cirrus Insight identifier for the booked meeting (same value as the top-level id), prefixed with mtg_. |
type | string | The scheduling experience that produced this event. One of smartschedule, personal, or team. |
primaryInvitee | string | The email address of the primary invitee; typically the individual who scheduled the meeting. |
primaryInviteeName | string | The full display name of the primary invitee. |
primaryInviteeFirstName | string | The first name of the primary invitee, when provided on the scheduling form. |
primaryInviteeLastName | string | The last name of the primary invitee, when provided on the scheduling form. |
primaryInviteePhoneNumber | string | The phone number of the primary invitee, when provided on the scheduling form. |
optionalInvitees | string | A comma-separated list of optional invitees for the meeting. Entered by the primaryInvitee when scheduling the meeting. |
meetingName | string | The name (subject) of the meeting. |
location | string | The location of the meeting. May contain a conferencing URL when Zoom, Microsoft Teams, or Google Meet is configured. |
existingEmailMeetingId | string | On reschedule events, the external system identifier of the prior calendar event that was replaced. null on initial scheduling events. |
calendarUrl | string | The URL of the scheduling page that was used to book the meeting. |
organizationPath | string | The vanity partial-path of the organization in the scheduling link. |
calendarPath | string | The vanity partial-path of the scheduling page. |
rescheduleUrl | string | A self-service link the primary invitee can use to reschedule the meeting. |
cancelUrl | string | A self-service link the primary invitee can use to cancel the meeting. |
timeZone | object | (See below) The time zone the meeting was booked in, expressed as a time-zone descriptor. |
timeZoneOffset | number | The invitee's offset from UTC at the time of the meeting, in minutes. |
culture | string | The IETF culture tag (e.g. en-US) the invitee used when booking. |
formValues | list | (See below) Responses to the host-matching form (Smart Scheduler only). Empty on personal- and team-scheduling events. |
surveyQuestions | list | (See below) Responses to the post-booking survey configured on the scheduling page. |
teamMembers | list | (See below) Participating team members. Populated on scheduling.teamscheduling.* events; an empty array on scheduling.personalscheduling.* events; null on scheduling.smartscheduler.* events. |
campaign | object | (See below) Optional UTM tracking parameters captured from the scheduling page query string. null when no UTM parameters were present. |
timeZone object
A descriptor of the time zone the invitee selected when booking.
child attributes
| Attribute | Type | Description |
|---|---|---|
id | string | A platform-internal time zone identifier. |
displayName | string | The localized display name of the time zone (e.g. (UTC-05:00) Eastern Time (US & Canada)). |
standardName | string | The Windows standard name of the time zone (e.g. Eastern Standard Time). |
iana | string | The IANA zone name (e.g. America/New_York). |
shortName | string | A short, generic abbreviation for the zone (e.g. ET). |
utcOffset | string | The current offset from UTC formatted as an unsigned time span for zero and positive offsets, and with a leading - for negative offsets. Examples: -05:00:00 (Eastern Standard), 00:00:00 (UTC), 05:30:00 (India Standard). |
formValues list
The formValues list contains the questions and answers from the initial Smart Schedule host-matching form. This list is populated for scheduling.smartscheduler.* events; on personal- and team-scheduling events the list is empty.
Child attributes
| Attribute | Type | Description |
|---|---|---|
question | string | A question used for host matching. |
answerText | string | The scheduling user's answer. |
surveyQuestions list
The surveyQuestions list contains the questions and answers from the form presented at the end of the scheduling flow. The survey contains informational questions and answers that the host wants to collect from the user who is scheduling the meeting.
Child attributes
| Attribute | Type | Description |
|---|---|---|
question | string | An informational question asked by the host of the scheduling user. |
answer | string | The scheduling user's answer. |
isRequired | boolean | A flag indicating if the question is a required field in order to schedule the meeting. Present only on survey-question items delivered with scheduling.smartscheduler.* events; absent from survey items on personal- and team-scheduling events. |
teamMembers list
The teamMembers list identifies each Cirrus Insight user that participates in the meeting. The list is populated on scheduling.teamscheduling.* events. It is an empty array on scheduling.personalscheduling.* events and is null on scheduling.smartscheduler.* events.
WARNING
Because teamMembers is null on scheduling.smartscheduler.* events but an array on personal- and team-scheduling events, consumers must guard against null before reading .length or iterating. On Smart Scheduler events, the participating host is available on the top-level meetingOwner object.
Child attributes
| Attribute | Type | Description |
|---|---|---|
userId | string | The Cirrus Insight identifier for the team member's user record, prefixed with usr_. |
username | string | The team member's username, typically email format. |
firstName | string | First name of the team member. |
lastName | string | Last name of the team member. |
campaign object
(optional) The campaign object contains UTM tracking parameters captured from the scheduling page query string. null when no UTM parameters were present on the booking link.
Child attributes
| Attribute | Type | Description |
|---|---|---|
utm_id | string | The UTM ID parameter. |
utm_source | string | The UTM source parameter identifying the source of traffic. |
utm_medium | string | The UTM medium parameter identifying the marketing medium. |
utm_campaign | string | The UTM campaign parameter identifying the specific campaign. |
utm_term | string | The UTM term parameter for paid search keywords. |
utm_content | string | The UTM content parameter for differentiating similar content/ads. |