# Zoom on boxd

> Zoom is a video conferencing and online meeting platform featuring breakout rooms, screen sharing, and integrations with various enterprise tools.

- Page: https://boxd.sh/integrations/zoom/
- CLI: `run zoom` (100 commands, 12 marked common)
- SDK: `import { zoom } from "@boxd/run"`; every parameter and response type is at `@boxd/run/zoom`
- Triggers: 11
- Connect: `run auth zoom` (Sign in with Zoom), or https://app.boxd.sh/integrations/detail/zoom
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth zoom      # once: prints a link to connect your account
run zoom           # list its commands
run zoom get-user --help
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { zoom } from "@boxd/run";

const result = await zoom.getUser({ userId: "…" });
console.log(result);

zoom.on("new-cloud-recording", async (event) => {
  // New Cloud Recording: runs on this machine, once per event
  console.log(event);
});
```

Run it with `run zoom.run.ts`. A script that calls `.on()` keeps running as a job and handles each event.

## Commands

Required flags are listed; `run zoom <command> --help` lists the optional ones. "common" marks what `run zoom` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `add-meeting-registrant` | `zoom.addMeetingRegistrant()` | `--email` `--first-name` `--last-name` `--meeting-id` | 17 | Registers a participant for a Zoom meeting that has registration enabled |
| `add-project-collaborators` | `zoom.addProjectCollaborators()` | `--collaborators` `--project-id` | 2 | Adds one or more collaborators to a whiteboard project |
| `add-webinar-registrant` | `zoom.addWebinarRegistrant()` | `--email` `--first-name` `--webinarId` | 18 | Registers a participant for a Zoom webinar that has registration enabled |
| `add-whiteboard-collaborator` | `zoom.addWhiteboardCollaborator()` | `--collaborators` `--whiteboard-id` | 2 | Adds one or more collaborators to a whiteboard |
| `apply-classification-to-whiteboard` | `zoom.applyClassificationToWhiteboard()` | `--classification-id` `--whiteboard-id` | 0 | Applies or updates a classification label on a whiteboard |
| `create-iq-conversation` ·deprecated | `zoom.createIqConversation()` | — | 7 | Use create-zra-conversation instead (Zoom rebranded IQ to ZRA) |
| `create-iq-conversation-comment` ·deprecated | `zoom.createIqConversationComment()` | `--comment` `--conversation-id` | 5 | Use create-zra-conversation-comment instead (Zoom rebranded IQ to ZRA) |
| `create-iq-user-conversation` ·deprecated | `zoom.createIqUserConversation()` | — | 3 | Use create-zra-user-conversation instead (Zoom rebranded IQ to ZRA) |
| `create-meeting` ·common | `zoom.createMeeting()` | — | 76 | Enable Zoom meeting creation via user-level apps with "me" |
| `create-project` | `zoom.createProject()` | `--project-name` | 5 | Creates a new whiteboard project in Zoom |
| `create-whiteboard` | `zoom.createWhiteboard()` | — | 1 | Creates a new whiteboard for the authenticated user |
| `create-whiteboard-export` | `zoom.createWhiteboardExport()` | `--whiteboard-ids` | 0 | Creates an export task to generate PDF exports and audit logs for specified whiteboards |
| `create-zra-conversation` | `zoom.createZraConversation()` | `--conversation-type` `--meeting-start-time` | 10 | Create a new conversation in Zoom Revenue Accelerator (ZRA) |
| `create-zra-conversation-comment` | `zoom.createZraConversationComment()` | `--comment` `--id` | 5 | Create a comment on a Zoom Revenue Accelerator conversation |
| `create-zra-crm-accounts` | `zoom.createZraCrmAccounts()` | `--data` | 0 | Create or update CRM accounts in Zoom Revenue Accelerator (ZRA) |
| `create-zra-crm-contacts` | `zoom.createZraCrmContacts()` | `--data` | 0 | Bulk import or delete CRM contacts in Zoom Revenue Accelerator |
| `create-zra-crm-deals` | `zoom.createZraCrmDeals()` | `--data` | 0 | Bulk import or delete CRM deals in Zoom Revenue Accelerator (ZRA) |
| `create-zra-crm-leads` | `zoom.createZraCrmLeads()` | `--data` | 0 | Bulk import CRM leads into Zoom Revenue Accelerator (ZRA) |
| `create-zra-crm-settings` | `zoom.createZraCrmSettings()` | `--crm-type` `--deal-stages` | 6 | Register a new CRM API integration for Zoom Revenue Accelerator (ZRA) |
| `create-zra-user-conversation` | `zoom.createZraUserConversation()` | `--id` `--start-time` `--topic` | 0 | Create a new conversation in Zoom Revenue Accelerator for a specific user |
| `delete-iq-conversation` ·deprecated | `zoom.deleteIqConversation()` | `--id` | 0 | Use delete-zra-conversation instead (Zoom rebranded IQ to ZRA) |
| `delete-iq-conversation-comment` ·deprecated | `zoom.deleteIqConversationComment()` | `--commentId` `--conversationId` | 0 | Use delete-zra-conversation-comment instead (Zoom rebranded IQ to ZRA) |
| `delete-iq-deal-activities` ·deprecated | `zoom.deleteIqDealActivities()` | `--id` | 1 | Use delete-zra-deal-activities instead (Zoom rebranded IQ to ZRA) |
| `delete-meeting` ·common | `zoom.deleteMeeting()` | `--meetingId` | 3 | Delete or cancel a scheduled Zoom meeting |
| `delete-meeting-recordings` | `zoom.deleteMeetingRecordings()` | `--meetingId` | 1 | Deletes all cloud recordings for a meeting or webinar |
| `delete-project` | `zoom.deleteProject()` | `--projectId` | 0 | Deletes a whiteboard project by its ID |
| `delete-project-collaborator` | `zoom.deleteProjectCollaborator()` | `--collaborator-id` `--project-id` | 0 | Removes a collaborator from a whiteboard project |
| `delete-recording-file` ·common | `zoom.deleteRecordingFile()` | `--meetingId` `--recordingId` | 1 | Deletes a specific cloud recording file from a meeting or webinar |
| `delete-whiteboard` | `zoom.deleteWhiteboard()` | `--whiteboardId` | 0 | Deletes a whiteboard by its unique identifier |
| `delete-whiteboard-collaborator` | `zoom.deleteWhiteboardCollaborator()` | `--collaboratorId` `--whiteboardId` | 0 | Removes a collaborator from a whiteboard |
| `delete-zra-conversation` | `zoom.deleteZraConversation()` | `--id` | 0 | Deletes a ZRA (Zoom Revenue Accelerator) conversation by ID |
| `delete-zra-conversation-comment` | `zoom.deleteZraConversationComment()` | `--comment-id` `--conversation-id` | 0 | Delete a comment from a Zoom Revenue Accelerator conversation |
| `delete-zra-crm-settings` | `zoom.deleteZraCrmSettings()` | — | 0 | Deletes CRM settings for Zoom Revenue Accelerator (ZRA) |
| `delete-zra-deal-activities` | `zoom.deleteZraDealActivities()` | `--activity-ids` `--id` | 0 | Delete activities from a Zoom Revenue Accelerator (ZRA) deal |
| `download-imported-whiteboard-file` | `zoom.downloadImportedWhiteboardFile()` | `--fileId` `--whiteboardId` | 0 | Downloads a specific file that was imported into a whiteboard, including images, PDFs, DOCX, and other supported file formats |
| `download-whiteboard-export` | `zoom.downloadWhiteboardExport()` | `--taskId` | 0 | Downloads the exported whiteboard content for a completed whiteboard export task |
| `download-whiteboard-session-activity` | `zoom.downloadWhiteboardSessionActivity()` | `--path` | 0 | Downloads the activity archive file for a whiteboard archiving session |
| `get-daily-usage-report` | `zoom.getDailyUsageReport()` | — | 3 | The daily report provides Zoom service usage details, like new users, meetings, participants, and minutes per day for a month, requiring a Pro plan or higher |
| `get-iq-conversation-comments` ·deprecated | `zoom.getIqConversationComments()` | `--conversation-id` | 2 | Use get-zra-conversation-comments instead (Zoom rebranded IQ to ZRA) |
| `get-iq-conversation-content-analysis` | `zoom.getIqConversationContentAnalysis()` | `--id` | 0 | Retrieve content analysis for a Zoom IQ conversation by its ID |
| `get-iq-conversation-interactions` ·deprecated | `zoom.getIqConversationInteractions()` | `--id` | 2 | Use get-zra-conversation-interactions instead (Zoom rebranded IQ to ZRA) |
| `get-iq-conversation-scorecards` ·deprecated | `zoom.getIqConversationScorecards()` | `--id` | 0 | Use get-zra-conversation-scorecards instead (Zoom rebranded IQ to ZRA) |
| `get-iq-deal` | `zoom.getIqDeal()` | `--id` | 0 | Get details of a specific deal in Zoom Revenue Accelerator (formerly Zoom IQ) |
| `get-iq-deal-activities` ·deprecated | `zoom.getIqDealActivities()` | `--id` | 2 | Use get-zra-deal-activities instead (Zoom rebranded IQ to ZRA) |
| `get-iq-user-conversations-playlists` ·deprecated | `zoom.getIqUserConversationsPlaylists()` | `--id` | 2 | Use list-zra-user-conversation-playlists instead (Zoom rebranded IQ to ZRA) |
| `get-marketplace-user-apps` | `zoom.getMarketplaceUserApps()` | `--id` | 2 | Retrieves a paginated list of Zoom Marketplace apps installed for a specific user |
| `get-marketplace-user-entitlements` | `zoom.getMarketplaceUserEntitlements()` | `--id` | 0 | Retrieves marketplace entitlements for a specific Zoom user by ID or 'me' |
| `get-meeting` ·common | `zoom.getMeeting()` | `--meetingId` | 2 | Retrieves detailed information about a Zoom meeting by its ID |
| `get-meeting-recordings` ·common | `zoom.getMeetingRecordings()` | `--meetingId` | 2 | To download meeting recordings, use `download_url` |
| `get-meeting-summary` ·common | `zoom.getMeetingSummary()` | `--meetingId` | 0 | IMPORTANT: This action requires a PAID Zoom account (Pro, Business, or Enterprise plan) |
| `get-past-meeting-participants` | `zoom.getPastMeetingParticipants()` | `--meetingId` | 2 | Retrieves the list of participants who attended a past (ended) Zoom meeting |
| `get-project` | `zoom.getProject()` | `--project-id` | 0 | Retrieves detailed information about a specific whiteboard project by its ID |
| `get-user` ·common | `zoom.getUser()` | `--userId` | 3 | Retrieves detailed information about a specific Zoom user by ID, email, or 'me' |
| `get-webinar` | `zoom.getWebinar()` | `--webinarId` | 2 | Access Zoom Webinar details requires Pro or higher plan and Webinar add-on |
| `get-whiteboard` | `zoom.getWhiteboard()` | `--whiteboardId` | 0 | Retrieves details about a specific whiteboard document |
| `get-whiteboard-export-status` | `zoom.getWhiteboardExportStatus()` | `--task-id` | 0 | Retrieves the status of a whiteboard export task by its task ID |
| `get-whiteboard-session` | `zoom.getWhiteboardSession()` | `--sessionId` | 2 | Retrieves detailed information about a specific whiteboard session by its session ID |
| `get-zra-conversation-comments` | `zoom.getZraConversationComments()` | `--id` | 2 | Retrieve comments for a specific Zoom Revenue Accelerator (ZRA) conversation |
| `get-zra-conversation-interactions` | `zoom.getZraConversationInteractions()` | `--id` | 2 | Retrieves interaction details for a specific Zoom Revenue Accelerator (ZRA) conversation |
| `get-zra-conversation-scorecards` | `zoom.getZraConversationScorecards()` | `--id` | 0 | Retrieve scorecards for a specific conversation in Zoom Revenue Accelerator |
| `get-zra-deal-activities` | `zoom.getZraDealActivities()` | `--id` | 2 | Retrieve activities associated with a Zoom Revenue Accelerator (ZRA) deal |
| `import-whiteboard` | `zoom.importWhiteboard()` | `--file-id` `--type` | 5 | Initiates an import of a whiteboard from an external source (Miro, Mural, or Visio files) |
| `list-all-recordings` ·common | `zoom.listAllRecordings()` | `--user-id` | 8 | This text details how to list Zoom cloud recordings for a user, notably by using "me" for user-level apps and requiring an OAuth token for access |
| `list-archived-files` | `zoom.listArchivedFiles()` | — | 6 | Lists archived meeting and webinar files within a specified date range (max 7 days) |
| `list-devices` | `zoom.listDevices()` | — | 9 | Lists devices in your Zoom account managed through Zoom Device Management (ZDM) |
| `list-iq-conversations` ·deprecated | `zoom.listIqConversations()` | — | 2 | Use list-zra-conversations instead (Zoom rebranded IQ to ZRA) |
| `list-iq-deals` ·deprecated | `zoom.listIqDeals()` | — | 2 | Use list-zra-deals instead (Zoom rebranded IQ to ZRA) |
| `list-marketplace-app-custom-fields` | `zoom.listMarketplaceAppCustomFields()` | — | 0 | Retrieve custom fields configured for a Zoom Marketplace app |
| `list-meeting-summary-templates` ·common | `zoom.listMeetingSummaryTemplates()` | `--userId` | 0 | Retrieve a list of meeting summary templates for a specified user |
| `list-meetings` ·common | `zoom.listMeetings()` | `--userId` | 7 | This Zoom API lists a user's scheduled meetings using the `me` value for user-level apps, excluding instant meetings and only showing unexpired ones |
| `list-past-meeting-instances` | `zoom.listPastMeetingInstances()` | `--meetingId` | 0 | Retrieve all UUIDs for past instances of a given meeting |
| `list-project-collaborators` | `zoom.listProjectCollaborators()` | `--project-id` | 2 | Lists all collaborators for a whiteboard project, including their roles and permissions |
| `list-projects` | `zoom.listProjects()` | — | 4 | Lists all whiteboard projects accessible to the user |
| `list-users-collaboration-devices` | `zoom.listUsersCollaborationDevices()` | `--userId` | 0 | List collaboration devices associated with a user |
| `list-users-settings` | `zoom.listUsersSettings()` | `--user-id` | 3 | Retrieve a user's settings including meeting scheduling, in-meeting features, email notifications, recording, telephony, and security preferences |
| `list-webinar-participants` | `zoom.listWebinarParticipants()` | `--webinarId` | 2 | Get a list of past webinar participants with a Pro plan or above plus an add-on |
| `list-webinar-registrants` ·common | `zoom.listWebinarRegistrants()` | `--webinar-id` | 5 | Retrieves the list of registrants for a webinar with registration enabled |
| `list-webinars` | `zoom.listWebinars()` | `--userId` | 4 | The API lists all scheduled webinars for Zoom users with a webinar plan, using `me` for user-level apps |
| `list-whiteboards` | `zoom.listWhiteboards()` | — | 8 | Lists all whiteboards accessible to the user |
| `list-zra-conversations` | `zoom.listZraConversations()` | — | 10 | List all conversations in Zoom Revenue Accelerator |
| `list-zra-crm-accounts` | `zoom.listZraCrmAccounts()` | `--crm-account-ids` | 0 | Lists CRM accounts from Zoom Revenue Accelerator by account IDs |
| `list-zra-crm-contacts` | `zoom.listZraCrmContacts()` | `--crm-contact-ids` | 0 | Retrieve CRM contact information from Zoom IQ Revenue Accelerator (ZRA) |
| `list-zra-crm-deals` | `zoom.listZraCrmDeals()` | `--crm-deal-ids` | 0 | Retrieve CRM deal information from Zoom Revenue Accelerator (ZRA) |
| `list-zra-crm-leads` | `zoom.listZraCrmLeads()` | `--crm-lead-ids` | 0 | Retrieve CRM lead information from Zoom IQ Revenue Accelerator (ZRA) |
| `list-zra-crm-settings` | `zoom.listZraCrmSettings()` | — | 0 | Retrieve the current CRM API registration information for Zoom Revenue Accelerator (ZRA) |
| `list-zra-deals` | `zoom.listZraDeals()` | — | 2 | List deals from Zoom Revenue Accelerator (ZRA) |
| `list-zra-scheduled` | `zoom.listZraScheduled()` | — | 2 | List scheduled Zoom Revenue Accelerator (ZRA) items |
| `list-zra-settings-indicators` | `zoom.listZraSettingsIndicators()` | — | 4 | Retrieve account indicator settings for Zoom Revenue Accelerator (ZRA) |
| `list-zra-user-conversation-playlists` | `zoom.listZraUserConversationPlaylists()` | `--id` | 0 | List conversation playlists for a specific user in Zoom Revenue Accelerator |
| `move-whiteboards-to-project` | `zoom.moveWhiteboardsToProject()` | `--project-id` `--whiteboard-ids` | 0 | Moves one or more whiteboards to a specified Zoom Whiteboard project |
| `remove-whiteboard-classification` | `zoom.removeWhiteboardClassification()` | `--whiteboardId` | 0 | Removes the classification label from a whiteboard |
| `remove-whiteboards-from-project` | `zoom.removeWhiteboardsFromProject()` | `--project-id` `--whiteboard-ids` | 0 | Removes one or more whiteboards from a specified Zoom Whiteboard project |
| `search-company-contacts` ·common | `zoom.searchCompanyContacts()` | `--search-key` | 3 | Search company contacts in Zoom by first name, last name, or email |
| `update-classification-label` | `zoom.updateClassificationLabel()` | `--classificationId` | 6 | Updates an existing classification label in Zoom Whiteboard |
| `update-iq-conversation-comment` ·deprecated | `zoom.updateIqConversationComment()` | `--comment-id` `--conversation-id` | 4 | Use ZOOM_UPDATE_ZRA_CONVERSATION_COMMENT instead (Zoom rebranded IQ to ZRA) |
| `update-iq-conversation-host` ·deprecated | `zoom.updateIqConversationHost()` | `--host-id` `--id` | 0 | Use ZOOM_UPDATE_ZRA_CONVERSATION_HOST instead (Zoom rebranded IQ to ZRA) |
| `update-meeting` | `zoom.updateMeeting()` | `--meeting-id` | 79 | To update a meeting via API, ensure `start_time` is future-dated; `recurrence` is needed |
| `update-project` | `zoom.updateProject()` | `--projectId` | 1 | Updates the name of an existing whiteboard project in Zoom |
| `update-project-collaborators` | `zoom.updateProjectCollaborators()` | `--collaborators` `--project-id` | 0 | Updates collaborator permissions for a whiteboard project |
| `update-whiteboard-collaborator` | `zoom.updateWhiteboardCollaborator()` | `--collaborators` `--whiteboardId` | 0 | Updates collaborator settings for a whiteboard |

## Triggers

`zoom.on("<event>", handler)` in a script; required config goes before the handler as an object.

| Event | Name | Required config | Description |
|---|---|---|---|
| `"daily-usage-report-changed"` | Daily Usage Report Changed | — | Triggers when the Zoom daily usage report changes for a selected year/month |
| `"meeting-details-changed"` | Meeting Details Changed | `meeting_id` | Triggers when a specific meeting's details change |
| `"meeting-recording-changed"` | Meeting Recording Changed | `meeting_id` | Triggers when a specific meeting's cloud recordings change |
| `"meeting-summary-updated"` | Meeting Summary Created or Updated | `meeting_id` | Triggers when a meeting summary is created or updated for a specific meeting |
| `"new-cloud-recording"` | New Cloud Recording | — | Triggers when a new cloud recording meeting instance appears for a user |
| `"new-meeting-created"` | New Meeting Created | — | Triggers when a new Zoom meeting is created for a user |
| `"new-meeting-participant"` | New Meeting Participant | `meeting_id` | Triggers when a new participant appears in a past meeting's participant report |
| `"new-webinar-created"` | New Webinar Created | — | Triggers when a new webinar is created for a user |
| `"new-webinar-participant"` | New Webinar Participant | `webinar_id` | Triggers when a new participant appears in a past webinar's participant list |
| `"user-information-changed"` | User Information Changed | `user_id` | Triggers when a Zoom user's information changes |
| `"webinar-details-changed"` | Webinar Details Changed | `webinar_id` | Triggers when a Zoom webinar's details change |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
