Zoom · Arazzo Workflow

Zoom Create and Confirm a Meeting Poll

Version 1.0.0

Schedule a meeting, attach a poll to it, and read the poll back.

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

Provider

zoom

Workflows

create-meeting-poll
Create a scheduled meeting, add a poll, and confirm the poll.
Calls createMeeting to schedule a meeting, createMeetingPoll to attach a poll, and getMeetingPoll to confirm the persisted poll.
3 steps inputs: accessToken, pollTitle, questionName, startTime, topic, userId outputs: meetingId, pollId
1
createMeeting
createMeeting
Schedule a meeting so a poll can be attached to it.
2
createPoll
createMeetingPoll
Create a single-choice poll on the meeting with one required question.
3
confirmPoll
getMeetingPoll
Read the created poll back by id to confirm the persisted questions.

Source API Descriptions

Arazzo Workflow Specification

zoom-create-meeting-poll-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Zoom Create and Confirm a Meeting Poll
  summary: Schedule a meeting, attach a poll to it, and read the poll back.
  description: >-
    Schedules a meeting (polls require a scheduled, not instant, meeting), creates
    a single-choice poll on it, and then reads the poll back by id to confirm the
    saved questions. The create-meeting step captures the meeting id, the
    create-poll step captures the new poll id, and the get-poll step confirms the
    persisted poll. 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-meeting-poll
  summary: Create a scheduled meeting, add a poll, and confirm the poll.
  description: >-
    Calls createMeeting to schedule a meeting, createMeetingPoll to attach a poll,
    and getMeetingPoll to confirm the persisted poll.
  inputs:
    type: object
    required:
    - accessToken
    - userId
    - topic
    - pollTitle
    - questionName
    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".
      topic:
        type: string
        description: The meeting topic.
      startTime:
        type: string
        description: Meeting start time in ISO 8601 UTC format.
      pollTitle:
        type: string
        description: Title for the poll.
      questionName:
        type: string
        description: Text of the single-choice poll question.
  steps:
  - stepId: createMeeting
    description: Schedule a meeting so a poll can be attached to it.
    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
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      meetingId: $response.body#/id
  - stepId: createPoll
    description: >-
      Create a single-choice poll on the meeting with one required question.
    operationId: createMeetingPoll
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: meetingId
      in: path
      value: $steps.createMeeting.outputs.meetingId
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.pollTitle
        anonymous: false
        poll_type: 1
        questions:
        - name: $inputs.questionName
          type: single
          answer_required: true
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      pollId: $response.body#/id
      status: $response.body#/status
  - stepId: confirmPoll
    description: Read the created poll back by id to confirm the persisted questions.
    operationId: getMeetingPoll
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: meetingId
      in: path
      value: $steps.createMeeting.outputs.meetingId
    - name: pollId
      in: path
      value: $steps.createPoll.outputs.pollId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      title: $response.body#/title
      questions: $response.body#/questions
  outputs:
    meetingId: $steps.createMeeting.outputs.meetingId
    pollId: $steps.createPoll.outputs.pollId