.png)
Zoom Integration Guide
Connect Zoom users, meetings, webinars, recordings, participants, and reports with enterprise systems through REST APIs, OAuth, scheduled workflows, and selected webhook events.
Zoom integration options at a glance
Zoom’s primary integration mechanism is its versioned REST API, which exposes users, meetings, webinars, participants, cloud recordings, reports, and account resources over HTTPS using JSON. OAuth supports user-authorized applications, while Server-to-Server OAuth supports account-level integrations. Zoom also provides webhook-style notifications for selected events, including meeting activity, participant changes, recording completion, and registration activity. Cloud recording endpoints expose recording metadata and files, while reporting APIs support usage synchronization. Martini can consume these APIs, receive validated webhook requests, schedule reconciliation workflows, paginate through collections, transform Zoom data, and apply retries and business rules before updating downstream systems.
| Integration point | Supported by Zoom? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Zoom’s main interface for users, meetings, webinars, participants, cloud recordings, reports, and account resources. | Martini can consume Zoom REST endpoints from workflows, handle JSON responses, paginate collections, and expose a controlled API façade for downstream applications. |
| Webhooks / outbound callbacks | Limited | Selected meeting, webinar, participant, recording, user, and registration events can notify an external HTTPS endpoint. | Martini can expose an API or webhook intake workflow, implement Zoom URL validation, acknowledge quickly, and process events asynchronously with idempotency controls. |
| Authentication | Yes | OAuth supports user-authorized integrations, while Server-to-Server OAuth supports account-level applications with configured scopes. | Martini can manage OAuth configuration and protected credentials through environment configuration and secrets, then use bearer tokens in API workflows. |
| File / recording APIs | Limited | Cloud recording endpoints provide recording metadata, file types, and download URLs for meetings and webinars. | Martini can select recording files, copy metadata or content to an approved target, and account for permissions, expiration, retention, and duplicate notifications. |
| Reporting APIs | Yes | Meeting, webinar, participant, usage, and account reports support operational and usage synchronization. | Martini can schedule report retrieval, follow pagination, normalize time ranges, load results into applications or databases, and reprocess reconciliation windows. |
| Bulk / async / batch APIs | Not confirmed | Zoom collection and reporting endpoints are available, but a general-purpose bulk or batch API was not confirmed. | Martini can orchestrate paginated and scheduled retrieval with controlled concurrency rather than assuming a universal batch interface. |
| Database / analytics access | Limited | Zoom exposes reporting and usage APIs; direct database access was not confirmed. | Martini can retrieve reporting data through REST APIs and write transformed results to a database or analytics platform using supported database connectivity. |
| GraphQL APIs | Not confirmed | No official Zoom GraphQL API was identified in the supplied research. | Martini integrations should use Zoom’s documented REST APIs rather than assuming GraphQL availability. |
How Zoom exposes data and business events
Zoom REST APIs
Zoom provides versioned REST APIs over HTTPS using JSON for users, meetings, webinars, recordings, participants, reports, and account resources. Access is controlled by OAuth scopes and the available operations depend on the application type and account permissions.
Martini implementation pattern
Martini implementation pattern: a workflow obtains or refreshes the required OAuth token, calls the relevant Zoom endpoint, validates the response, follows pagination, maps the JSON payload into a canonical model, and writes the result to the target system. Rate-limit responses and transient failures are handled through bounded retries and backoff.
Implementation sequence
Zoom Webhooks
Zoom supports webhook-style notifications for selected events such as meeting or webinar activity, participant activity, recording completion, user changes, and registration activity. Coverage varies by product and event, and Zoom requires endpoint URL validation.
Martini implementation pattern
Martini implementation pattern: expose a Martini API or webhook-triggered workflow, implement Zoom’s URL-validation response, verify the incoming event according to Zoom’s requirements, acknowledge promptly, and process the event asynchronously. The workflow retrieves current resource details when the notification is not sufficient for downstream processing.
Implementation sequence
Cloud Recording APIs
Zoom cloud recording endpoints expose recording metadata, file types, and download URLs for available meeting or webinar recordings. This is a recording-specific capability rather than a general-purpose arbitrary attachment service.
Martini implementation pattern
Martini implementation pattern: trigger from a recording-completed event or scheduled reconciliation, retrieve the recording resource, select permitted file types, and copy metadata or content to an approved destination. The workflow accounts for temporary URLs, permissions, delayed availability, expiration, and retention.
Implementation sequence
Zoom Reporting APIs
Zoom reporting and usage endpoints provide meeting, webinar, participant, and account activity for operational synchronization. Reports may not be complete immediately after a meeting or webinar ends.
Martini implementation pattern
Martini implementation pattern: a scheduler starts a workflow for a configured date range, retrieves each report collection, follows pagination, normalizes time zones and report types, and loads the results into a warehouse or business application. A reconciliation window allows late-arriving data to be reprocessed safely.
Implementation sequence
Zoom OAuth
Zoom supports OAuth for user-authorized applications and Server-to-Server OAuth for account-level integrations. Scopes determine access to users, meetings, webinars, recordings, reports, and event notifications.
Martini implementation pattern
Martini implementation pattern: store client credentials, refresh tokens, account credentials, and scopes in protected environment configuration or secrets. A reusable workflow obtains valid bearer tokens, limits scopes to required operations, and routes authorization failures for controlled remediation.
Implementation sequence
Common Zoom integration patterns
Pattern 1: Synchronize meeting and webinar attendance
When to use this pattern
Use this pattern when sales, marketing, learning, or operations teams need Zoom attendance associated with people, campaigns, or events in another system. Because participant and report data may be paginated or delayed, the workflow should combine scheduled retrieval with a reconciliation window.
Integration direction
Example Mapping
| Zoom Field | Canonical Field | Target Field |
|---|---|---|
| user_id | participant.externalId | Contact.ZoomUserId |
| meeting_id | session.externalId | Event.ZoomMeetingId |
| join_time | attendance.joinedAtUtc | EventParticipant.JoinedAt |
| leave_time | attendance.leftAtUtc | EventParticipant.LeftAt |
Martini implementation pattern
A scheduled Martini workflow retrieves meetings or webinars for a configured period, follows participant pages, normalizes timestamps to UTC, and upserts attendance using a composite key such as Zoom user ID plus meeting or webinar ID and session date. It records checkpoints, retries rate-limited requests, and reprocesses recent windows for late-arriving data.
Martini capabilities used
- scheduled workflows
- REST API consumption
- pagination
- data mapping
- business rules
- idempotent upserts
- error handling
Pattern 2: Distribute completed recordings
When to use this pattern
Use this pattern when completed Zoom recordings must be indexed, announced, or copied into an approved repository. Recording availability, temporary download URLs, access permissions, and multiple file types require explicit workflow rules.
Integration direction
Example Mapping
| Zoom Field | Canonical Field | Target Field |
|---|---|---|
| recording_id | recording.externalId | message.metadata.zoomRecordingId |
| recording_type | recording.fileType | message.metadata.fileType |
| download_url | recording.sourceUrl | message.attachmentUrl |
| recording_start | recording.startedAtUtc | message.metadata.startedAt |
Martini implementation pattern
A Martini webhook workflow receives a selected recording-completed event, validates and deduplicates it, retrieves the current cloud recording, chooses the required file, and sends metadata or a controlled notification to the target. If the URL is temporary, the workflow copies the file to approved storage rather than treating the Zoom URL as a permanent archive.
Martini capabilities used
- webhook intake
- REST API consumption
- event validation
- mapping and transformation
- conditional routing
- duplicate handling
- retry logic
Pattern 3: Synchronize Zoom users
When to use this pattern
Use this pattern when an authoritative directory, HR process, or service-management platform must be reconciled with Zoom users, statuses, licenses, or ownership information.
Integration direction
Example Mapping
| Zoom Field | Canonical Field | Target Field |
|---|---|---|
| id | user.externalId | User.ZoomId |
| user.email | User.Email | |
| status | user.lifecycleStatus | User.Status |
| type | user.licenseType | User.ZoomLicenseType |
Martini implementation pattern
A scheduled Martini workflow retrieves paginated Zoom users, compares them with the target system, and applies configured rules for creation, update, deactivation, and license changes. Stable Zoom IDs prevent display-name collisions, while authorization failures and individual record errors are isolated for retry or review.
Martini capabilities used
- scheduler triggers
- REST API consumption
- data comparison
- mapping
- business rules
- controlled retries
- operational logging
Pattern 4: Load Zoom usage reports
When to use this pattern
Use this pattern when finance, operations, or analytics teams need meeting, webinar, participant, or account usage data in a warehouse or reporting application.
Integration direction
Example Mapping
| Zoom Field | Canonical Field | Target Field |
|---|---|---|
| meeting_id | usage.sessionId | zoom_usage.session_id |
| participant_count | usage.participantCount | zoom_usage.participant_count |
| duration | usage.durationMinutes | zoom_usage.duration_minutes |
| start_time | usage.startedAtUtc | zoom_usage.started_at_utc |
Martini implementation pattern
A scheduled workflow retrieves report collections for a persisted date range, follows pagination, separates meeting and webinar data, normalizes time zones, and writes idempotent rows to the target database. The workflow uses a delayed reconciliation window and reprocesses recent periods to capture late-arriving report data.
Martini capabilities used
- scheduled workflows
- REST API consumption
- pagination
- JSON transformation
- database integration
- checkpointing
- duplicate detection
Applications commonly integrated with Zoom
Zoom data can be orchestrated with adjacent business applications when organizations need consistent scheduling, attendance, user lifecycle, recording, notification, or reporting processes. The exact direction and write operations depend on the permissions and APIs enabled in each application.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce | Associate meetings, webinars, registrants, attendance, and recordings with Leads, Contacts, Campaigns, or Events. | Zoom → Martini → Salesforce | Use Zoom REST API retrieval or selected webhook events to normalize meeting and attendance data, match Salesforce records using stable identifiers, and upsert activity or campaign information with validation and retry handling. |
| HubSpot | Connect webinar registrations, meeting activity, attendance, and follow-up processes to marketing and CRM records. | Zoom → Martini → HubSpot | Schedule Zoom synchronization and process selected events through a Martini workflow, map participants and registrants to HubSpot objects, and apply duplicate detection before updates. |
| Microsoft Teams | Coordinate selected scheduling and collaboration processes in organizations using both Zoom and Teams. | Zoom → Martini → Microsoft Teams | Implement a workflow-specific one-way exchange using Zoom APIs and the receiving system’s supported API, with explicit rules for meeting ownership, timestamps, and duplicate events. |
| Slack | Send meeting-start, recording-available, webinar, or operational notifications to selected channels. | Zoom → Martini → Slack | Receive a Zoom event or run a scheduled check, format a concise notification, and call the Slack API after applying channel-routing and duplicate-suppression rules. |
| ServiceNow | Create or update incidents, requests, or tasks when Zoom events, recordings, or user-management changes require service operations. | Zoom → Martini → ServiceNow | Use Zoom webhooks or scheduled REST API retrieval to create validated ServiceNow records, retain Zoom identifiers for idempotent updates, and route failures for retry or review. |
| Google Calendar | Synchronize scheduling information and calendar invitations with Zoom meeting details. | Google Calendar → Martini → Zoom | Receive or retrieve calendar changes, apply meeting-creation and ownership rules, and call Zoom REST endpoints with OAuth credentials while recording the relationship between calendar and meeting IDs. |
| Microsoft 365 | Add Zoom meeting details to calendar events and coordinate scheduling for Microsoft 365 users. | Microsoft 365 → Martini → Zoom | Orchestrate Microsoft Graph and Zoom API calls, transform time zones and attendee data, and use correlation identifiers to prevent repeated meeting creation. |
| NetSuite | Use Zoom attendance, webinar, or customer-event data in operational and finance-related processes. | Zoom → Martini → NetSuite | Load normalized Zoom reporting data into NetSuite through its supported API, apply date and account rules, and maintain checkpoints for reconciliation. |
How to build a Zoom integration in Martini
Objective
Establish the Zoom application and Martini environment configuration needed for API access without embedding credentials in workflow logic.
Instructions in Martini
- Choose OAuth for user-authorized access or Server-to-Server OAuth for account-level access
- Configure only the Zoom scopes required by the integration
- Store client secrets, refresh tokens, account credentials, and webhook secrets in protected Martini configuration
Objective
Select an event-driven or scheduled entry point based on Zoom’s event coverage and the completeness requirements of the business process.
Instructions in Martini
- Use a Martini API or webhook-triggered workflow for selected Zoom events
- Use a scheduler for users, reports, pagination, reconciliation, and event gaps
- Define a delay or reconciliation window where Zoom data may arrive late
Objective
Call the relevant Zoom REST endpoints and obtain complete resource collections or current resource details.
Instructions in Martini
- Call the users, meetings, webinars, recordings, participants, or reports endpoints
- Follow pagination and persist page state or synchronization checkpoints
- Use controlled concurrency and honor rate-limit responses and retry headers
Objective
Coordinate validation, enrichment, routing, and downstream writes in a maintainable Martini workflow.
Instructions in Martini
- Validate webhook requests and API responses
- Retrieve related Zoom resources when event payloads are incomplete
- Route meeting, webinar, recording, participant, and report data according to business rules
Objective
Convert Zoom JSON and timestamps into a stable canonical model suitable for downstream applications and databases.
Instructions in Martini
- Map Zoom identifiers rather than display names to correlation fields
- Normalize timestamps to UTC while preserving relevant source time zones
- Handle optional fields, multiple recording files, and separate meeting and webinar structures
Objective
Enforce authorization, ownership, retention, duplicate, and lifecycle policies before committing changes.
Instructions in Martini
- Use stable idempotency keys for webhook and attendance processing
- Apply recording retention and access rules
- Separate transient failures from permission, validation, and data-quality failures
Common Zoom data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Users | Synchronize Zoom account membership, profiles, licenses, status, and ownership information. | Identity directories, HR platforms, Salesforce, ServiceNow | Martini retrieves or receives applicable changes, maps Zoom user IDs and status fields, applies lifecycle rules, and upserts downstream records. |
| Meetings | Manage scheduled or recurring meetings, settings, hosts, participants, and related recordings. | Salesforce, Google Calendar, Microsoft 365, Slack | Martini creates or retrieves meetings through REST workflows, normalizes time zones, stores correlation IDs, and applies duplicate and ownership rules. |
| Webinars | Coordinate webinar definitions, panelists, registrants, attendees, and reports. | HubSpot, Salesforce, learning platforms, data warehouses | Martini synchronizes webinar resources and attendance, maps registration fields, and uses checkpoints and reconciliation windows for late data. |
| Cloud recordings | Retrieve recording metadata, recording file types, and download URLs after recording completion. | Content repositories, Salesforce, Slack, approved storage | Martini processes recording-completed events or scheduled checks, selects required files, and handles access, expiration, retention, and duplicate delivery. |
| Participants | Capture meeting or webinar attendance, join times, leave times, and participant activity. | Salesforce, HubSpot, learning platforms, data warehouses | Martini follows paginated participant endpoints, combines participant and meeting identifiers, normalizes timestamps, and performs idempotent upserts. |
| Reports | Collect meeting, webinar, participant, usage, and account-level operational data. | Data warehouses, finance reporting, dashboards, NetSuite | Martini schedules retrieval by date range, follows pagination, transforms report structures, stores checkpoints, and reprocesses recent windows for completeness. |
Authentication and security considerations
OAuth and account access
Zoom supports OAuth for user-authorized integrations and Server-to-Server OAuth for account-level applications. Scopes should be limited to the users, meetings, webinars, recordings, reports, and event operations that the workflow requires.
Credential protection
Store client secrets, refresh tokens, account credentials, signing secrets, and endpoint configuration in protected Martini environment configuration or secrets rather than embedding them in workflows.
Webhook security
Webhook intake should implement Zoom’s URL-validation procedure and current authenticity requirements. Acknowledge valid requests promptly and process substantial work in a controlled workflow.
Operational considerations for Zoom integrations
Rate limits and retries
Zoom applies rate limits that can vary by endpoint, account, application, and request category. Use controlled concurrency, bounded exponential backoff, and retry-related response headers when available.
Pagination and checkpoints
Collection endpoints may be paginated. Persist page state, continuation tokens, timestamps, or resource checkpoints rather than assuming one request returns all users, participants, recordings, or reports.
Idempotency and event order
Use stable Zoom identifiers and composite keys for attendance and event processing. Design for duplicate, delayed, and out-of-order webhook delivery.
Recordings and timestamps
Recording URLs may expire or require authorization. Treat them as controlled access locations, normalize timestamps to UTC, and preserve the source time zone where reporting requires it.
Schema and completeness
Optional response fields vary by endpoint, product, account type, and permissions. Test licensed and non-licensed users, meetings without recordings, empty participant sets, and late-arriving reports.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini coordinates Zoom API calls, webhook intake, pagination, transformations, validation, downstream writes, and retry behavior in reusable workflows rather than distributing logic across isolated scripts.
Maintainable data movement
Mappings and canonical models separate Zoom-specific payloads from target-system structures. This makes it easier to support Salesforce, HubSpot, ServiceNow, databases, notification services, and other endpoints without duplicating integration logic.
Operational control
Martini provides workflow-based scheduling, event handling, business rules, error paths, protected configuration, and monitoring practices for integrations that must be reconciled and supported over time.
API-led reuse
Martini can expose controlled APIs around Zoom operations, allowing internal applications to consume governed services instead of embedding Zoom authentication, pagination, and rate-limit behavior in every client.
Frequently asked questions
Zoom can be integrated through its versioned REST APIs over HTTPS using JSON, OAuth or Server-to-Server OAuth, selected webhook notifications, cloud recording endpoints, and reporting APIs. Enterprise workflows can retrieve or update Zoom resources, process attendance and recordings, and load normalized data into business applications or databases.
Yes. Martini can consume Zoom REST APIs, receive selected Zoom webhook events through a Martini API or webhook-triggered workflow, schedule synchronization, transform Zoom JSON, and apply validation, business rules, pagination, retries, and downstream updates.
No. A dedicated Zoom connector is not required. Martini can integrate with Zoom using Zoom’s documented REST APIs, OAuth authentication, selected webhook events, cloud recording endpoints, and reporting endpoints.
Lonti does not charge an additional per-connector or per-vendor fee to integrate Zoom with Martini. Integrations are subject to the provisioned capacity of the Martini environment. Separate costs may apply from Zoom, cloud infrastructure, or other third-party systems depending on subscriptions, usage, and deployment model.
Use Zoom REST APIs as the primary method for users, meetings, webinars, participants, recordings, and reports. Use OAuth or Server-to-Server OAuth according to the authorization model, selected webhooks for near-real-time events, and scheduled workflows for pagination, reporting, reconciliation, and events that are not covered by webhooks.
Yes. Martini can expose an HTTPS API or webhook workflow for selected Zoom events. The implementation must complete Zoom’s URL-validation process, follow the required authenticity checks, acknowledge requests promptly, and account for duplicate, delayed, or out-of-order notifications.
A Martini workflow follows the pagination metadata returned by each Zoom collection endpoint and stores a cursor, page state, timestamp, or other checkpoint. For reports and attendance, it can use a delayed reconciliation window and reprocess recent periods to capture data that was not complete immediately after a meeting or webinar.
Martini workflows can detect HTTP rate-limit responses, honor retry-related headers when provided, and use bounded exponential backoff. Stable identifiers such as Zoom user, meeting, webinar, recording, and participant IDs support idempotent upserts and duplicate-event suppression, while validation and operational failures can be routed for review.
Related Martini documentation
Connect Zoom with your enterprise systems
Use Martini to build governed Zoom integrations for meetings, webinars, attendance, recordings, users, and reporting data.