Skip to content

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

json
{
    "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.typesmartschedule, personal, or team.
  • meetingInfo.formValues — populated only on scheduling.smartscheduler.* events; an empty array on personal- and team-scheduling events.
  • meetingInfo.teamMembers — populated on scheduling.teamscheduling.* events; an empty array on scheduling.personalscheduling.* events; null on scheduling.smartscheduler.* events. Guard against null before reading .length or iterating.
  • meetingInfo.surveyQuestions[].isRequired — present only on items delivered with scheduling.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

AttributeTypeDescription
userIdstringThe Cirrus Insight identifier for the meeting owner's user record, prefixed with usr_.
usernamestringThe user's username, typically email format.
firstNamestringFirst name of the meeting owner.
lastNamestringLast 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

AttributeTypeDescription
meetingIdstringThe Cirrus Insight identifier for the booked meeting (same value as the top-level id), prefixed with mtg_.
typestringThe scheduling experience that produced this event. One of smartschedule, personal, or team.
primaryInviteestringThe email address of the primary invitee; typically the individual who scheduled the meeting.
primaryInviteeNamestringThe full display name of the primary invitee.
primaryInviteeFirstNamestringThe first name of the primary invitee, when provided on the scheduling form.
primaryInviteeLastNamestringThe last name of the primary invitee, when provided on the scheduling form.
primaryInviteePhoneNumberstringThe phone number of the primary invitee, when provided on the scheduling form.
optionalInviteesstringA comma-separated list of optional invitees for the meeting. Entered by the primaryInvitee when scheduling the meeting.
meetingNamestringThe name (subject) of the meeting.
locationstringThe location of the meeting. May contain a conferencing URL when Zoom, Microsoft Teams, or Google Meet is configured.
existingEmailMeetingIdstringOn reschedule events, the external system identifier of the prior calendar event that was replaced. null on initial scheduling events.
calendarUrlstringThe URL of the scheduling page that was used to book the meeting.
organizationPathstringThe vanity partial-path of the organization in the scheduling link.
calendarPathstringThe vanity partial-path of the scheduling page.
rescheduleUrlstringA self-service link the primary invitee can use to reschedule the meeting.
cancelUrlstringA self-service link the primary invitee can use to cancel the meeting.
timeZoneobject(See below) The time zone the meeting was booked in, expressed as a time-zone descriptor.
timeZoneOffsetnumberThe invitee's offset from UTC at the time of the meeting, in minutes.
culturestringThe IETF culture tag (e.g. en-US) the invitee used when booking.
formValueslist(See below) Responses to the host-matching form (Smart Scheduler only). Empty on personal- and team-scheduling events.
surveyQuestionslist(See below) Responses to the post-booking survey configured on the scheduling page.
teamMemberslist(See below) Participating team members. Populated on scheduling.teamscheduling.* events; an empty array on scheduling.personalscheduling.* events; null on scheduling.smartscheduler.* events.
campaignobject(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

AttributeTypeDescription
idstringA platform-internal time zone identifier.
displayNamestringThe localized display name of the time zone (e.g. (UTC-05:00) Eastern Time (US & Canada)).
standardNamestringThe Windows standard name of the time zone (e.g. Eastern Standard Time).
ianastringThe IANA zone name (e.g. America/New_York).
shortNamestringA short, generic abbreviation for the zone (e.g. ET).
utcOffsetstringThe 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

AttributeTypeDescription
questionstringA question used for host matching.
answerTextstringThe 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

AttributeTypeDescription
questionstringAn informational question asked by the host of the scheduling user.
answerstringThe scheduling user's answer.
isRequiredbooleanA 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

AttributeTypeDescription
userIdstringThe Cirrus Insight identifier for the team member's user record, prefixed with usr_.
usernamestringThe team member's username, typically email format.
firstNamestringFirst name of the team member.
lastNamestringLast 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

AttributeTypeDescription
utm_idstringThe UTM ID parameter.
utm_sourcestringThe UTM source parameter identifying the source of traffic.
utm_mediumstringThe UTM medium parameter identifying the marketing medium.
utm_campaignstringThe UTM campaign parameter identifying the specific campaign.
utm_termstringThe UTM term parameter for paid search keywords.
utm_contentstringThe UTM content parameter for differentiating similar content/ads.

Raleigh, NC — a Cirruspath, Inc. company