Cisco Webex · Arazzo Workflow

Cisco Webex Add Person to Team and a Team Room

Version 1.0.0

Find a person by email, add them to a team, and add them to a team room.

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

Provider

cisco-webex

Workflows

add-person-to-team-and-team-room
Resolve a person, add to a team, then add to a team room.
Looks up a person by exact email, adds them as a team member, and then adds them to a specified room as a room member.
3 steps inputs: accessToken, email, isModerator, roomId, teamId outputs: membershipId, personId, teamMembershipId
1
findPerson
listPeople
Resolve the person by exact email match.
2
addTeamMember
createTeamMembership
Add the resolved person to the team as a team member.
3
addRoomMember
createMembership
Add the same person to the specified team room as a room member.

Source API Descriptions

Arazzo Workflow Specification

cisco-webex-add-person-to-team-and-team-room-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Cisco Webex Add Person to Team and a Team Room
  summary: Find a person by email, add them to a team, and add them to a team room.
  description: >-
    Onboards an existing person into a team and one of the team's rooms. The
    workflow resolves the person by exact email, adds them as a team member,
    then adds the same person to a specified team room as a room member. 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: teamMembershipsApi
  url: ../openapi/cisco-webex-team-memberships-openapi.yml
  type: openapi
- name: membershipsApi
  url: ../openapi/cisco-webex-memberships-openapi.yml
  type: openapi
workflows:
- workflowId: add-person-to-team-and-team-room
  summary: Resolve a person, add to a team, then add to a team room.
  description: >-
    Looks up a person by exact email, adds them as a team member, and then
    adds them to a specified room as a room member.
  inputs:
    type: object
    required:
    - accessToken
    - email
    - teamId
    - roomId
    properties:
      accessToken:
        type: string
        description: Webex API bearer access token.
      email:
        type: string
        description: Exact email address of the person to onboard.
      teamId:
        type: string
        description: The team ID to add the person to.
      roomId:
        type: string
        description: The team room ID to add the person to.
      isModerator:
        type: boolean
        description: Whether the person should be a moderator of the team and room.
  steps:
  - stepId: findPerson
    description: Resolve the person by exact email match.
    operationId: listPeople
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: email
      in: query
      value: $inputs.email
    - name: max
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      personId: $response.body#/items/0/id
    onSuccess:
    - name: personFound
      type: goto
      stepId: addTeamMember
      criteria:
      - context: $response.body
        condition: $.items.length > 0
        type: jsonpath
    - name: personMissing
      type: end
      criteria:
      - context: $response.body
        condition: $.items.length == 0
        type: jsonpath
  - stepId: addTeamMember
    description: Add the resolved person to the team as a team member.
    operationId: createTeamMembership
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        teamId: $inputs.teamId
        personId: $steps.findPerson.outputs.personId
        isModerator: $inputs.isModerator
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      teamMembershipId: $response.body#/id
  - stepId: addRoomMember
    description: Add the same person to the specified team room as a room member.
    operationId: createMembership
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        roomId: $inputs.roomId
        personId: $steps.findPerson.outputs.personId
        isModerator: $inputs.isModerator
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      membershipId: $response.body#/id
  outputs:
    personId: $steps.findPerson.outputs.personId
    teamMembershipId: $steps.addTeamMember.outputs.teamMembershipId
    membershipId: $steps.addRoomMember.outputs.membershipId