Skip to main content

Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See Getting Started on the Webex connector page.

Automatic webhook subscription

StackOne creates and manages the Webex webhooks automatically when the account is connected, and deletes them when the account is disconnected. You don’t need to create any webhook at developer.webex.com. Webex accepts one subscription per resource and event pair, so StackOne creates one Webex webhook for each event you enable.

1

Enable the webhook scopes on the integration

Open your integration at developer.webex.com/my-apps, scroll to Scopes, and tick spark:webhooks_read and spark:webhooks_write. These two scopes let StackOne create and delete the subscriptions. application:webhooks_read and application:webhooks_write are a different pair that only covers Service App authorization webhooks — they do not grant access to the Webhooks API, so selecting them instead leaves webhook creation failing.

The Scopes list of a Webex integration
2

Enable the read scope of every event you want

Webex delivers an event only if the connection can read the underlying resource, so tick the read scope for each resource you plan to subscribe to. Webhook creation fails for any event whose read scope is missing.

  • Messaging events need spark:messages_read, spark:rooms_read and spark:memberships_read.
  • Meeting events need meeting:schedules_read, meeting:participants_read, meeting:transcripts_read and meeting:recordings_read.
  • Converged (call) recording events need spark-admin:recordings_read, and call events need spark:calls_read.
The Scopes list of a Webex integration with the messaging read scopes highlighted
3

Save and reconnect the account

Click Save at the bottom of the integration page. Scope changes only take effect on new tokens, so reconnect the Webex account in StackOne afterwards — otherwise the existing token still carries the old scopes and webhook creation keeps failing.

4

Know whose activity these events cover

StackOne creates every subscription as ownedBy: creator, so Webex notifies only on activity the authorizing user takes part in — spaces they are a member of, meetings they host or attend, calls they make or receive. Activity elsewhere in the organization does not produce an event.

  • Connect the account with a user who is already in the spaces and meetings you need events for. A user who is not a member of a space receives no events from it.
  • Organization-wide delivery (Webex’s ownedBy: org) is not supported by this connector. Webex restricts it to Control Hub Full admins and Compliance Officers, and rejects it for the user-level OAuth connections StackOne creates.
5

Select events in StackOne

Enable the webhook events you want on the Webex connector in StackOne. Only the events you select are subscribed, and Webex does not deliver events that are not subscribed.

6

Keep the authorizing user active

Webex automatically disables a webhook if the user who created it is deleted from the organization. If the user who authorized the connection leaves, reconnect the account with another user so StackOne recreates the subscriptions.

Available webhook events

The following Webex events can be enabled. Webex identifies each one by a resource and an event name, shown here in the combined form the connector emits. Only events selected in StackOne are subscribed.

1

Message events

Events on messages posted in rooms the connection can see.

  • Message Created (messages.created) — Fired when a new message is posted into a room the authorizing user or bot is in. The message text is only included for bot-created webhooks or unencrypted rooms
  • Message Deleted (messages.deleted) — Fired when a message is deleted from a room the authorizing user or bot is in
2

Room events

Events on rooms, also called spaces.

  • Room Created (rooms.created) — Fired when a new room is created by the authorizing user or one of their integrations
  • Room Updated (rooms.updated) — Fired when a room is updated, most often when it is locked or unlocked
  • Room Migrated (rooms.migrated) — Fired when a room is migrated to a different geography during a change of data residency. The room ID changes as part of the migration
3

Membership events

Events on who belongs to a room.

  • Membership Created (memberships.created) — Fired when someone joins a room the authorizing user is in, or the authorizing user is added to a new room
  • Membership Updated (memberships.updated) — Fired when a membership changes, primarily to signal moderator changes
  • Membership Deleted (memberships.deleted) — Fired when someone leaves or is removed from a group room. Webex does not fire this for 1-to-1 rooms
4

Card events

Events on adaptive cards posted by the connection.

  • Card Action Submitted (attachmentActions.created) — Fired when a user submits an adaptive card. The submitted values are not in the event and must be fetched separately
5

Meeting events

Events on the meeting lifecycle, from scheduling through to the live session.

  • Meeting Created (meetings.created) — Fired when a new meeting is scheduled
  • Meeting Updated (meetings.updated) — Fired when a scheduled meeting is modified, such as a change of title, time, password or host
  • Meeting Deleted (meetings.deleted) — Fired when a scheduled meeting is cancelled or deleted
  • Meeting Started (meetings.started) — Fired when the host joins and the meeting goes live
  • Meeting Ended (meetings.ended) — Fired when the last participant leaves or the host ends the session
6

Participant events

Events on who is in a live meeting.

  • Meeting Participant Joined (meetingParticipants.joined) — Fired when a participant joins a meeting
  • Meeting Participant Left (meetingParticipants.left) — Fired when a participant leaves a meeting
7

Transcript events

Events on meeting transcripts, which Webex produces after post-processing.

  • Meeting Transcript Created (meetingTranscripts.created) — Fired when a transcript becomes available for a recorded meeting, minutes after the recording itself
8

Recording events

Events on meeting recordings and on converged recordings, which currently cover Webex Calling
call recordings.

  • Recording Created (recordings.created) — Fired when a new meeting recording finishes processing and becomes available
  • Recording Updated (recordings.updated) — Fired when an existing recording is modified, such as a change of topic, password or sharing settings
  • Recording Deleted (recordings.deleted) — Fired when a recording is permanently deleted. Moving a recording to the trash bin produces no event
  • Converged Recording Created (convergedRecordings.created) — Fired when a new call recording becomes available
  • Converged Recording Updated (convergedRecordings.updated) — Fired when an existing call recording is modified
  • Converged Recording Deleted (convergedRecordings.deleted) — Fired when a call recording is deleted
9

Call events

Events on calls the authorizing user makes or receives. Organization-wide call monitoring uses the Webex Calling scopes, which this connector does not request.

  • Call Started (telephony_calls.created) — Fired when the authorizing user originates or receives a call
  • Call Updated (telephony_calls.updated) — Fired when a call changes state, such as answered, held, resumed or transferred
  • Call Ended (telephony_calls.deleted) — Fired when a call is disconnected

Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.