Zoom · Arazzo Workflow

Zoom Create and Confirm a Meeting

Version 1.0.0

Schedule a meeting for a user and read it back to confirm the saved details.

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

Provider

zoom

Workflows

create-and-confirm-meeting
Create a scheduled meeting for a user and confirm it by reading it back.
Calls createMeeting to schedule a meeting for the supplied user, then calls getMeeting with the returned meeting id to confirm the persisted details.
2 steps inputs: accessToken, duration, startTime, timezone, topic, userId outputs: joinUrl, meetingId, startUrl
1
createMeeting
createMeeting
Schedule a meeting (type 2) for the supplied user with the given topic, start time, and duration.
2
confirmMeeting
getMeeting
Read the created meeting back by id to confirm the persisted topic, start time, and settings.

Source API Descriptions

Arazzo Workflow Specification

zoom-create-and-confirm-meeting-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Zoom Create and Confirm a Meeting
  summary: Schedule a meeting for a user and read it back to confirm the saved details.
  description: >-
    Schedules a meeting for a Zoom user and then re-reads the created meeting to
    confirm the topic, start time, and join URL that Zoom persisted. The create
    step captures the new meeting id, which the confirmation step uses to fetch
    the full meeting record. 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: create-and-confirm-meeting
  summary: Create a scheduled meeting for a user and confirm it by reading it back.
  description: >-
    Calls createMeeting to schedule a meeting for the supplied user, then calls
    getMeeting with the returned meeting id to confirm the persisted details.
  inputs:
    type: object
    required:
    - accessToken
    - userId
    - topic
    properties:
      accessToken:
        type: string
        description: OAuth bearer access token for the Zoom REST API.
      userId:
        type: string
        description: The user id to schedule the meeting for, or "me" for user-level apps.
      topic:
        type: string
        description: The meeting topic.
      startTime:
        type: string
        description: Meeting start time in ISO 8601 UTC format, e.g. 2026-01-15T10:30:00Z.
      duration:
        type: integer
        description: Meeting duration in minutes.
      timezone:
        type: string
        description: Timezone used to interpret start_time, e.g. America/Los_Angeles.
  steps:
  - stepId: createMeeting
    description: >-
      Schedule a meeting (type 2) for the supplied user with the given topic,
      start time, and duration.
    operationId: createMeeting
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: userId
      in: path
      value: $inputs.userId
    requestBody:
      contentType: application/json
      payload:
        topic: $inputs.topic
        type: 2
        start_time: $inputs.startTime
        duration: $inputs.duration
        timezone: $inputs.timezone
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      meetingId: $response.body#/id
      joinUrl: $response.body#/join_url
      startUrl: $response.body#/start_url
  - stepId: confirmMeeting
    description: >-
      Read the created meeting back by id to confirm the persisted topic, start
      time, and settings.
    operationId: getMeeting
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: meetingId
      in: path
      value: $steps.createMeeting.outputs.meetingId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      topic: $response.body#/topic
      status: $response.body#/status
  outputs:
    meetingId: $steps.createMeeting.outputs.meetingId
    joinUrl: $steps.createMeeting.outputs.joinUrl
    startUrl: $steps.createMeeting.outputs.startUrl