Zoom · Arazzo Workflow

Zoom User Report With Recordings

Version 1.0.0

Pull a user's meeting report and list that same user's cloud recordings.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub ChatCollaborationCommunicationsMeetingsVideo ConferencingVideosWebinarsArazzoWorkflows

Provider

zoom

Workflows

user-report-with-recordings
Pull a user's meeting report and list the same user's cloud recordings.
Calls reportGetuserreport for a user and date range, then recordingList for the same user to enumerate their cloud recordings.
2 steps inputs: apiKey, apiSecret, from, to, userId outputs: recordedMeetings, reportedMeetings
1
userReport
reportGetuserreport
Pull the per-meeting usage report for the user over the date range.
2
listRecordings
recordingList
List the cloud recordings hosted by the same user.

Source API Descriptions

Arazzo Workflow Specification

zoom-user-report-recordings-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Zoom User Report With Recordings
  summary: Pull a user's meeting report and list that same user's cloud recordings.
  description: >-
    Pulls a user's per-meeting usage report for a date range and then lists that
    same user's cloud recordings, giving a combined view of what the user hosted
    and what was recorded. The report step confirms the user has meeting activity,
    and the recordings step enumerates their cloud recordings. Both legacy Zoom
    APIs authenticate with api_key and api_secret form fields rather than a bearer
    token, so credentials are supplied inline in each request body. 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: reportApi
  url: ../openapi/zoom-report--openapi-original.yml
  type: openapi
- name: recordingApi
  url: ../openapi/zoom-recording--openapi-original.yml
  type: openapi
workflows:
- workflowId: user-report-with-recordings
  summary: Pull a user's meeting report and list the same user's cloud recordings.
  description: >-
    Calls reportGetuserreport for a user and date range, then recordingList for the
    same user to enumerate their cloud recordings.
  inputs:
    type: object
    required:
    - apiKey
    - apiSecret
    - userId
    - from
    - to
    properties:
      apiKey:
        type: string
        description: Zoom API key used to authenticate the legacy API.
      apiSecret:
        type: string
        description: Zoom API secret used to authenticate the legacy API.
      userId:
        type: string
        description: The user id used as both report subject and recording host.
      from:
        type: string
        description: Report start date, e.g. 2026-05-01.
      to:
        type: string
        description: Report end date, e.g. 2026-05-31.
  steps:
  - stepId: userReport
    description: Pull the per-meeting usage report for the user over the date range.
    operationId: reportGetuserreport
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        api_key: $inputs.apiKey
        api_secret: $inputs.apiSecret
        user_id: $inputs.userId
        from: $inputs.from
        to: $inputs.to
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      totalRecords: $response.body#/total_records
      meetings: $response.body#/meetings
  - stepId: listRecordings
    description: List the cloud recordings hosted by the same user.
    operationId: recordingList
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        api_key: $inputs.apiKey
        api_secret: $inputs.apiSecret
        host_id: $inputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      recordingTotal: $response.body#/total_records
      meetings: $response.body#/meetings
  outputs:
    reportedMeetings: $steps.userReport.outputs.meetings
    recordedMeetings: $steps.listRecordings.outputs.meetings