Cisco Webex · Arazzo Workflow

Cisco Webex Create Room, Add Member, and Post Message

Version 1.0.0

Create a new space, add a person to it, and post an opening message.

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

Provider

cisco-webex

Workflows

create-room-add-member-post-message
Create a Webex room, add a member, and post a message.
Creates a group room, attaches a person to it as a member, and posts an opening markdown message into the new room.
3 steps inputs: accessToken, isModerator, markdown, personEmail, title outputs: membershipId, messageId, roomId
1
createRoom
createRoom
Create a new group room (space) with the supplied title.
2
addMember
createMembership
Add the supplied person to the new room by email address, optionally as a moderator.
3
postMessage
createMessage
Post an opening markdown message into the new room.

Source API Descriptions

Arazzo Workflow Specification

cisco-webex-create-room-add-member-post-message-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Cisco Webex Create Room, Add Member, and Post Message
  summary: Create a new space, add a person to it, and post an opening message.
  description: >-
    The canonical Webex onboarding flow for a new collaboration space. The
    workflow creates a group room, adds a person to it by email or person ID as
    a member (optionally a moderator), and then posts an opening message into
    the freshly created room. 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: membershipsApi
  url: ../openapi/cisco-webex-memberships-openapi.yml
  type: openapi
- name: messagingApi
  url: ../openapi/cisco-webex-messaging-openapi.yml
  type: openapi
workflows:
- workflowId: create-room-add-member-post-message
  summary: Create a Webex room, add a member, and post a message.
  description: >-
    Creates a group room, attaches a person to it as a member, and posts an
    opening markdown message into the new room.
  inputs:
    type: object
    required:
    - accessToken
    - title
    - personEmail
    - markdown
    properties:
      accessToken:
        type: string
        description: Webex API bearer access token.
      title:
        type: string
        description: A user-friendly name for the new room.
      personEmail:
        type: string
        description: Email address of the person to add to the room.
      isModerator:
        type: boolean
        description: Whether the added person should be a room moderator.
      markdown:
        type: string
        description: The markdown content of the opening message.
  steps:
  - stepId: createRoom
    description: Create a new group room (space) with the supplied title.
    operationId: createRoom
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.title
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      roomId: $response.body#/id
      roomTitle: $response.body#/title
  - stepId: addMember
    description: >-
      Add the supplied person to the new room by email address, optionally as
      a moderator.
    operationId: createMembership
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        roomId: $steps.createRoom.outputs.roomId
        personEmail: $inputs.personEmail
        isModerator: $inputs.isModerator
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      membershipId: $response.body#/id
      memberPersonId: $response.body#/personId
  - stepId: postMessage
    description: Post an opening markdown message into the new room.
    operationId: createMessage
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        roomId: $steps.createRoom.outputs.roomId
        markdown: $inputs.markdown
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      messageId: $response.body#/id
      created: $response.body#/created
  outputs:
    roomId: $steps.createRoom.outputs.roomId
    membershipId: $steps.addMember.outputs.membershipId
    messageId: $steps.postMessage.outputs.messageId