Log inSign up
Home
Getting Started
  • Overview
  • AI Assistant for Developers
  • Submit Your App
  • Tutorials

Getting Started

Event reference

Find Webex Webhooks API resources, events, triggers, filters, and links to product-specific payload definitions.

anchorUse this reference

anchor

This catalog covers the Webhooks API used for Messaging, Meetings, Calling, and platform events. See registration for permissions, ownership, filter syntax, and firehose limits; see receiving events for the envelope and signatures. Contact Center event payloads have a separate reference.

Fields and filters are case-sensitive API identifiers. Use the resource-specific API for its complete schema and required scopes. The catalog does not supply a universal payload schema, delivery identifier, or set of OAuth scopes.

anchorMessaging

anchor

For bots in group spaces, messages notifications are delivered only for messages that mention the bot. See Differences between bots and people.

ResourceEventTriggerSupported filters
attachmentActionscreatedA user interacted with one of your cards.messageId — limit to a particular message, by ID.
personId — limit to a particular person, by ID.
roomId — limit to a particular room, by ID.
membershipscreatedSomeone joined a room that you're in or you've been added to a new room.roomId — limit to a particular room, by ID.
personId — limit to a particular person, by ID.
personEmail — limit to a particular person, by email.
isModerator — limit to moderators of a room.
membershipsupdatedSomeone's membership was updated in a room that you're in; primarily used to detect moderator changes.roomId — limit to a particular room, by ID.
personId — limit to a particular person, by ID.
personEmail — limit to a particular person, by email.
isModerator — limit to moderators of a room.
membershipsdeletedSomeone left or was kicked out of a room that you're in, or you left or were removed from a room; only triggers for group rooms, not 1-to-1 rooms.roomId — limit to a particular room, by ID.
personId — limit to a particular person, by ID.
personEmail — limit to a particular person, by email.
isModerator — limit to moderators of a room.
messagescreatedNew message posted into a room that you're in.roomId — limit to a particular room, by ID.
roomType — limit to a particular room type (such as direct or group).
personId — limit to a particular person, by ID.
personEmail — limit to a particular person, by email.
mentionedPeople — limit to messages which contain these mentioned people, by person ID; accepts me as a shorthand for your own person ID; separate multiple values with commas.
hasFiles — limit to messages which contain file content attachments.
hasAttachments — limit to messages which contain content attachments.
messagesdeletedA message was deleted from a room that you're in.roomId — limit to a particular room, by room ID.
roomType — limit to a particular room type (such as direct or group).
personId — limit to a particular person, by ID.
personEmail — limit to a particular person, by email.
mentionedPeople — limit to messages which contain these mentioned people, by person ID; accepts me as a shorthand for your own person ID; separate multiple values with commas.
hasFiles — limit to messages which contain file content attachments.
hasAttachments — limit to messages which contain content attachments.
roomscreatedA new room was created by you or one of your integrations.type — limit to a particular room type (such as direct or group).
isLocked — limit to rooms that are locked.
roomsupdatedA room that you're in was updated; primarily used to detect when a room becomes Locked or Unlocked.type — limit to a particular room type (such as direct or group).
isLocked — limit to rooms that are locked.
roomsmigratedA room you or your bot is in was migrated to a different geography, usually during an organization’s change of data residency. There will be a change in the roomId and your app should use the new roomId.

anchorMeetings

anchor
ResourceEventTriggerSupported filters
meetingscreatedA new meeting was created.id — Meeting Id.
meetingNumber — Meeting number.
meetingType — Meeting type.
state — Meeting state.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
meetingsupdatedA meeting that you're in was updated.id — Meeting Id.
meetingNumber — Meeting number.
meetingType — Meeting type.
state — Meeting state.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
meetingsdeletedA meeting that you're in was deleted.id — Meeting Id.
meetingNumber — Meeting number.
meetingType — Meeting type.
state — Meeting state.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
meetingsstartedA meeting was started.id — Meeting Id.
meetingNumber — Meeting number.
meetingType — Meeting type.
state — Meeting state.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
meetingsendedA meeting was ended.id — Meeting Id.
meetingNumber — Meeting number.
meetingType — Meeting type.
state — Meeting state.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
recordingscreatedA new recording was created.id — Recording Id.
meetingId — Unique identifier for the parent meeting series, scheduled meeting or meeting instance for which recordings are being requested.
scheduledMeetingId — Unique identifier for the parent scheduled meeting which the recording belongs to.
meetingSeriesId — Unique identifier for the parent meeting series which the recording belongs to.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
recordingsupdatedA recording that you're in was updated.id — Recording Id.
meetingId — Unique identifier for the parent meeting series, scheduled meeting or meeting instance for which recordings are being requested.
scheduledMeetingId — Unique identifier for the parent scheduled meeting which the recording belongs to.
meetingSeriesId — Unique identifier for the parent meeting series which the recording belongs to.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
recordingsdeletedA recording that you're in was deleted permanently. There is no notification provided for moving a recording to the trash bin currently.id — Recording Id.
meetingId — Unique identifier for the parent meeting series, scheduled meeting or meeting instance for which recordings are being requested.
scheduledMeetingId — Unique identifier for the parent scheduled meeting which the recording belongs to.
meetingSeriesId — Unique identifier for the parent meeting series which the recording belongs to.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
meetingParticipantsjoinedA participant has joined the meeting.id — Participant Id.
meetingId — Meeting Instance Id.
state — Meeting state.
hostEmail — Email address for the meeting host.
hostPersonId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
meetingParticipantsleftA participant has left the meeting.id — Participant Id.
meetingId — Meeting Instance Id.
state — Meeting state.
hostEmail — Email address for the meeting host.
hostPersonId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.
meetingTranscriptscreatedA new transcript was created.id — Transcript Id.
meetingId — Unique identifier for the parent meeting series, scheduled meeting or meeting instance for which transcripts are being requested.
scheduledMeetingId — Unique identifier for the parent scheduled meeting which the transcript belongs to.
meetingSeriesId — Unique identifier for the parent meeting series which the transcript belongs to.
hostEmail — Email address for the meeting host.
hostUserId — Unique identifier for meeting host.
siteUrl — Webex site URL to query.

anchorCalling

anchor

telephony_calls, telephony_conference, and telephony_mwi notifications are delivered only for Webex Calling users.

Check interest registrations before expecting delivery. Detailed Calling payload schemas remain in the Calling guide. Converged recordings in the current catalog describe call recordings.

ResourceEventTriggerSupported filters
telephony_callscreatedYou started (originated) or received a call.personality — limit to a particular call personality (clickToDial, originator, or terminator).
state — limit to a particular call state (alerting, connected, connecting, disconnected, held, or remoteHeld).
number — limit to calls to a particular address or number.
personId — limit to a particular person, by ID.
callType — limit to a particular call type (emergency, external, location, organization, other, or repair).
telephony_callsupdatedA call you started or received, was updated (e.g. call was answered, forwarded, resumed, etc.).personality — limit to a particular call personality (clickToDial, originator, or terminator).
state — limit to a particular call state (alerting, connected, connecting, disconnected, held, or remoteHeld).
number — limit to calls to a particular address or number.
personId — limit to a particular person, by ID.
callType — limit to a particular call type (emergency, external, location, organization, other, or repair).
telephony_callsdeletedA call you started or received, was disconnected (deleted).personality — limit to a particular call personality (clickToDial, originator, or terminator).
state — limit to a particular call state (alerting, connected, connecting, disconnected, held, or remoteHeld).
number — limit to calls to a particular address or number.
personId — limit to a particular person, by ID.
callType — limit to a particular call type (emergency, external, location, organization, other, or repair).
telephony_conferencecreatedA conference is created.
telephony_conferenceupdatedA conference is updated through other conference APIs (held, resumed, muted, unmuted, participantMuted, participantUnmuted, updated, participantDeafened, participantUndeafened).
telephony_conferencedeletedA conference is deleted when the conference ends.
telephony_mwiupdatedYour Webex Calling voicemail messages were updated (e.g. message was received, deleted, marked as read, or marked as unread).
telephony_agentupdatedA call queue agent's state changed, the agent joined or left a queue, or the agent entered a wrap-up code.actorId — limit to a particular actor, by ID.
actorType — limit to a particular actor type (PEOPLE, PLACE, or VIRTUAL_LINE).
telephony_agentMonitoringupdatedAn agent monitoring status was updated when a queue call to an agent ends or is transferred.actorId — limit to a particular actor, by ID.
actorType — limit to a particular actor type (PEOPLE, PLACE, or VIRTUAL_LINE).
telephony_queueupdatedA call queue event occurred (e.g. call added, answered, abandoned, bounced, overflowed, stranded, transferred, or policy applied).actorId — limit to a particular actor, by ID.
telephony_queueMonitoringupdatedReal-time call center monitoring status was updated, including queue metrics and agent availability.actorId — limit to a particular actor, by ID.
convergedRecordingscreatedA new converged recording (for now call recording) was created.recordingId — Recording ID.
ownerId — Identifier for the recording owner for which recordings are being requested.
ownerEmail — Email address for the recording owner.
ownerType — The owner type for the recording.
storageRegion — Unique identifier for the region where the recording is stored.
serviceType — Unique identifier for the service type which the recording belongs to.
locationId — Unique identifier for location.
convergedRecordingsdeletedA new converged recording (for now call recording) was deleted.recordingId — Recording ID.
ownerId — Identifier for the recording owner for which recordings are being requested.
ownerEmail — Email address for the recording owner.
ownerType — The owner type for the recording.
storageRegion — Unique identifier for the region where the recording is stored.
serviceType — Unique identifier for the service type which the recording belongs to.
locationId — Unique identifier for location.
convergedRecordingsupdatedA converged recording (for now call recording) was updated.recordingId — Recording ID.
ownerId — Identifier for the recording owner for which recordings are being requested.
ownerEmail — Email address for the recording owner.
ownerType — The owner type for the recording.
storageRegion — Unique identifier for the region where the recording is stored.
serviceType — Unique identifier for the service type which the recording belongs to.
locationId — Unique identifier for location.
uc_countersupdatedA dedicated instance performance counter was updated. This is an organization-wide webhook for admins. The scope required to register this webhook is wxc-dedicateduc:admin_perfmon_read.clusterName — The cluster name.
hostName — The host name.
nodeType — The node type.
agentId — The agent id.

anchorPlatform and administration

anchor

applications describes application creation, updates, and deletion; serviceApp describes authorization and deauthorization. See their registration requirements. For a Service App authorization notification, data.authorizerOrgId identifies the authorizing customer organization.

ResourceEventTriggerSupported filters
dataSourcescreatedA dataSource was registered. For user-owned registrations, the API accepts byods:datasource_read, spark-admin:datasource_read, or spark:all. Organization-owned registrations require a Full admin with byods:datasource_read or spark-admin:datasource_read.id — limit to a particular data source, by ID.
schemaId — limit to a schema id, by ID.
appId — limit to a particular application id, by ID.
orgId — limit to a particular organization id, by ID.
dataSourcesdeletedA dataSource was deleted. For user-owned registrations, the API accepts byods:datasource_read, spark-admin:datasource_read, or spark:all. Organization-owned registrations require a Full admin with byods:datasource_read or spark-admin:datasource_read.id — limit to a particular data source, by ID.
schemaId — limit to a schema id, by ID.
appId — limit to a particular application id, by ID.
orgId — limit to a particular organization id, by ID.
dataSourcesupdatedA dataSource was updated. For user-owned registrations, the API accepts byods:datasource_read, spark-admin:datasource_read, or spark:all. Organization-owned registrations require a Full admin with byods:datasource_read or spark-admin:datasource_read.id — limit to a particular data source, by ID.
schemaId — limit to a schema id, by ID.
appId — limit to a particular application id, by ID.
orgId — limit to a particular organization id, by ID.
serviceAppauthorizedA Service App that you created was authorized. Use spark:applications_webhook_write on the token that creates the webhook. The API also accepts application:webhooks_write or spark:all.id — limit to this Service App’s application id.
friendlyId — limit to this Service App’s friendly ID.
trainSiteNames — limit to Service Apps authorized for this trainSiteName.
adminTrainSiteNames — limit to Service App authorized for this adminTrainSiteName.
serviceAppdeauthorizedA Service App that you created was deauthorized. Use spark:applications_webhook_write on the token that creates the webhook. The API also accepts application:webhooks_write or spark:all.id — limit to this Service App’s application id.
friendlyId — limit to this Service App’s friendly ID.
trainSiteNames — limit to Service Apps deauthorized for this trainSiteName.
adminTrainSiteNames — limit to Service App deauthorized for this adminTrainSiteName.
applicationscreatedA Bot, Integration, or Service App was created in your organization. Requires a Full admin with either spark:applications_webhook_write or application:webhooks_write, and ownedBy: "org".None
applicationsupdatedA Bot, Integration, or Service App was updated in your organization. The notification includes an application lifecycle snapshot in data; see Interpret payloads for its fields. Requires a Full admin with either spark:applications_webhook_write or application:webhooks_write, and ownedBy: "org".None
applicationsdeletedA Bot, Integration, or Service App was deleted in your organization. Requires a Full admin with either spark:applications_webhook_write or application:webhooks_write, and ownedBy: "org".None
adminBatchJobsstatusChangedA scheduled admin batch job, like “location change”, changed the status.jobType — The job type.

IMPORTANT: If you register for a generic webhook without a jobType filter, you may receive additional notifications beyond what was scheduled via API and Control Hub.

anchorInterpret payloads

anchor

The common envelope identifies the registration, resource, and event. Interpret data using the matching resource API. Message notifications can omit sensitive content; retrieve it with an authorized resource request. For applications, data is a lifecycle snapshot containing id, type, name, friendlyId, orgId, createdBy, and created, plus scopes when nonempty. An updated notification supplies this snapshot rather than a field-level diff. Do not assume it contains every field returned by an application details API.

For field-level schemas, distinguish required, optional, and nullable values using the owning API reference. Preserve field names, casing, and timestamp units. The source catalog does not document those details uniformly, so do not infer them from one example.

In This Article
  • Use this reference
  • Messaging
  • Meetings
  • Calling
  • Platform and administration
  • Interpret payloads

Connect

Support

Developer Community

Developer Events

Contact Sales

Handy Links

Webex Ambassadors

Webex App Hub

Resources

Open Source Bot Starter Kits

Download Webex

DevNet Learning Labs

Terms of Service

Privacy Policy

Cookie Policy

Trademarks

© 2026 Cisco and/or its affiliates. All rights reserved.