Zoom · Arazzo Workflow

Zoom List Meetings and Inspect the First

Version 1.0.0

List a user's meetings and fetch the first meeting's details, branching when none exist.

1 workflow 1 source API 1 provider
View Spec View on GitHub ChatCollaborationCommunicationsMeetingsVideo ConferencingVideosWebinarsArazzoWorkflows

Provider

zoom

Workflows

list-meetings-and-inspect-first
List a user's meetings and fetch the first meeting's details.
Calls listMeetings for a user and, only when meetings exist, calls getMeeting for the first meeting id to read its full details.
2 steps inputs: accessToken, type, userId outputs: firstMeetingTopic, totalRecords
1
listMeetings
listMeetings
List the meetings scheduled for the user and capture the first id.
2
getFirstMeeting
getMeeting
Fetch the full details of the first meeting returned by the list step.

Source API Descriptions

Arazzo Workflow Specification

zoom-list-meetings-detail-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Zoom List Meetings and Inspect the First
  summary: List a user's meetings and fetch the first meeting's details, branching when none exist.
  description: >-
    Lists the meetings scheduled for a user and branches on the result: when at
    least one meeting is returned it fetches the full details of the first meeting,
    and when the user has no meetings it ends without further calls. The list step
    captures the first meeting id used by the detail step. Every request is spelled
    out inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: meetingApi
  url: ../openapi/zoom-meeting-api-openapi.yml
  type: openapi
workflows:
- workflowId: list-meetings-and-inspect-first
  summary: List a user's meetings and fetch the first meeting's details.
  description: >-
    Calls listMeetings for a user and, only when meetings exist, calls getMeeting
    for the first meeting id to read its full details.
  inputs:
    type: object
    required:
    - accessToken
    - userId
    properties:
      accessToken:
        type: string
        description: OAuth bearer access token for the Zoom REST API.
      userId:
        type: string
        description: The user id whose meetings to list, or "me".
      type:
        type: string
        description: >-
          The meeting list filter, e.g. scheduled, live, upcoming, or
          previous_meetings.
  steps:
  - stepId: listMeetings
    description: List the meetings scheduled for the user and capture the first id.
    operationId: listMeetings
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: userId
      in: path
      value: $inputs.userId
    - name: type
      in: query
      value: $inputs.type
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      totalRecords: $response.body#/total_records
      firstMeetingId: $response.body#/meetings/0/id
    onSuccess:
    - name: hasMeetings
      type: goto
      stepId: getFirstMeeting
      criteria:
      - context: $response.body
        condition: $.meetings.length > 0
        type: jsonpath
    - name: noMeetings
      type: end
      criteria:
      - context: $response.body
        condition: $.meetings.length == 0
        type: jsonpath
  - stepId: getFirstMeeting
    description: Fetch the full details of the first meeting returned by the list step.
    operationId: getMeeting
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: meetingId
      in: path
      value: $steps.listMeetings.outputs.firstMeetingId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      topic: $response.body#/topic
      joinUrl: $response.body#/join_url
      status: $response.body#/status
  outputs:
    totalRecords: $steps.listMeetings.outputs.totalRecords
    firstMeetingTopic: $steps.getFirstMeeting.outputs.topic