Cisco Webex · Arazzo Workflow

Cisco Webex Provision a Person and Add to a Room

Version 1.0.0

Create an organization user, then add them to a room and welcome them.

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

Provider

cisco-webex

Workflows

provision-person-and-add-to-room
Create a person, add them to a room, and welcome them.
Creates a new organization user, adds the new person to a room as a member, and posts a welcome message into that room.
3 steps inputs: accessToken, displayName, email, orgId, roomId, welcomeMarkdown outputs: membershipId, messageId, personId
1
createPerson
createPerson
Create a new user account in the organization with the supplied email and display name.
2
addToRoom
createMembership
Add the newly created person to the room as a member.
3
welcome
createMessage
Post a welcome message into the room for the new person.

Source API Descriptions

Arazzo Workflow Specification

cisco-webex-provision-person-and-add-to-room-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Cisco Webex Provision a Person and Add to a Room
  summary: Create an organization user, then add them to a room and welcome them.
  description: >-
    An admin onboarding flow that creates a brand-new user account in the
    organization, adds the new person to a room as a member, and posts a
    welcome message into that room. The person ID returned from account
    creation is reused to add the membership. 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: peopleApi
  url: ../openapi/cisco-webex-people-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: provision-person-and-add-to-room
  summary: Create a person, add them to a room, and welcome them.
  description: >-
    Creates a new organization user, adds the new person to a room as a
    member, and posts a welcome message into that room.
  inputs:
    type: object
    required:
    - accessToken
    - email
    - displayName
    - roomId
    - welcomeMarkdown
    properties:
      accessToken:
        type: string
        description: Webex API bearer access token with admin scope.
      email:
        type: string
        description: Email address for the new person account.
      displayName:
        type: string
        description: Display name for the new person account.
      orgId:
        type: string
        description: Organization ID the person belongs to.
      roomId:
        type: string
        description: The room ID to add the new person to.
      welcomeMarkdown:
        type: string
        description: The markdown content of the welcome message.
  steps:
  - stepId: createPerson
    description: >-
      Create a new user account in the organization with the supplied email
      and display name.
    operationId: createPerson
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        emails:
        - $inputs.email
        displayName: $inputs.displayName
        orgId: $inputs.orgId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      personId: $response.body#/id
  - stepId: addToRoom
    description: Add the newly created person to the room as a member.
    operationId: createMembership
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        roomId: $inputs.roomId
        personId: $steps.createPerson.outputs.personId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      membershipId: $response.body#/id
  - stepId: welcome
    description: Post a welcome message into the room for the new person.
    operationId: createMessage
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        roomId: $inputs.roomId
        markdown: $inputs.welcomeMarkdown
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      messageId: $response.body#/id
  outputs:
    personId: $steps.createPerson.outputs.personId
    membershipId: $steps.addToRoom.outputs.membershipId
    messageId: $steps.welcome.outputs.messageId