Cisco Webex · Arazzo Workflow

Cisco Webex Register a Messages Webhook for a Room

Version 1.0.0

Create a room and register a messages-created webhook scoped to it.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub CollaborationCommunicationsMeetingsMessagingTeamsVideo ConferencingArazzoWorkflows

Provider

cisco-webex

Workflows

register-messages-webhook
Create a room and register a messages webhook filtered to it.
Creates a group room and registers a webhook for the messages resource created event, filtered to that room.
2 steps inputs: accessToken, roomTitle, secret, targetUrl, webhookName outputs: roomId, webhookId
1
createRoom
createRoom
Create a new group room to monitor for new messages.
2
registerWebhook
createWebhook
Register a webhook on the messages resource for the created event, filtered to the new room so only its messages trigger notifications.

Source API Descriptions

Arazzo Workflow Specification

cisco-webex-register-messages-webhook-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Cisco Webex Register a Messages Webhook for a Room
  summary: Create a room and register a messages-created webhook scoped to it.
  description: >-
    Sets up real-time message notifications for a new space. The workflow
    creates a group room and then registers a webhook on the messages resource
    with the created event, scoped to that room via a roomId filter, so the
    target URL is notified whenever a message is posted. Every step spells out
    its request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: roomsApi
  url: ../openapi/cisco-webex-rooms-openapi.yml
  type: openapi
- name: webhooksApi
  url: ../openapi/cisco-webex-webhooks-openapi.yml
  type: openapi
workflows:
- workflowId: register-messages-webhook
  summary: Create a room and register a messages webhook filtered to it.
  description: >-
    Creates a group room and registers a webhook for the messages resource
    created event, filtered to that room.
  inputs:
    type: object
    required:
    - accessToken
    - roomTitle
    - webhookName
    - targetUrl
    properties:
      accessToken:
        type: string
        description: Webex API bearer access token.
      roomTitle:
        type: string
        description: A user-friendly name for the new room.
      webhookName:
        type: string
        description: A user-friendly name for the webhook.
      targetUrl:
        type: string
        description: The URL that will receive webhook POST requests.
      secret:
        type: string
        description: Optional secret used to sign webhook payloads.
  steps:
  - stepId: createRoom
    description: Create a new group room to monitor for new messages.
    operationId: createRoom
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.roomTitle
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      roomId: $response.body#/id
  - stepId: registerWebhook
    description: >-
      Register a webhook on the messages resource for the created event,
      filtered to the new room so only its messages trigger notifications.
    operationId: createWebhook
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.webhookName
        targetUrl: $inputs.targetUrl
        resource: messages
        event: created
        filter: "roomId=$steps.createRoom.outputs.roomId"
        secret: $inputs.secret
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      webhookId: $response.body#/id
      webhookStatus: $response.body#/status
  outputs:
    roomId: $steps.createRoom.outputs.roomId
    webhookId: $steps.registerWebhook.outputs.webhookId