Help Center

Docs

Zoom

Auto-link Zoom recordings, transcripts, and AI summaries to the matching CRM activity.

Overview

What gets synced when you connect a Zoom account.

Connecting Zoom enables three things: scheduling Zoom meetings on the rep's own account from Laureo booking links, near-real-time linking of cloud recordings to CRM activities, and automatic ingestion of VTT transcripts and Zoom AI Companion summaries when the rep's plan includes them. Each rep connects their own Zoom account, matching how Google Workspace and Microsoft 365 are connected in Laureo.

Connecting your account

1

Open Settings → Integrations

Click your profile menu, then Settings, then Integrations in the left rail.
2

Click the Zoom card

A drawer opens with the Zoom connection state and a Connect button.
3

Click "Connect Zoom"

You will be redirected to Zoom's consent screen.
4

Review and accept the requested permissions

Zoom shows the seven scopes Laureo requests. Click Allow to grant.
5

Return to the CRM

Your Zoom account is now connected. Future meetings booked through Laureo land on your Zoom account; recordings start showing up on activities once Zoom finishes processing them.

Permissions explained

The seven scopes Laureo requests, what they do, and what Laureo does not call.

Five of the seven scopes are directly exercised by Laureo's integration code. Two are auto-required by Zoom Marketplace because Laureo subscribes to the matching webhook event; Laureo does not actually call the endpoints those two scopes gate.

Directly used by Laureo

  • user:read:user — capture your Zoom user identifier, account identifier, email, display name, and plan tier at connection time. Used to route webhook events to the right CRM seat.
  • meeting:read:list_meetings — list your upcoming Zoom meetings on the Laureo calendar surface.
  • meeting:write:meeting — create a Zoom meeting on your behalf when a prospect books a call through one of your Laureo scheduling links.
  • cloud_recording:read:list_user_recordings — date-range backfill of your cloud recordings. Runs every 15 minutes and on demand from the "Sync Recordings" button.
  • cloud_recording:read:list_recording_files — fast-path fetch for a single meeting's recordings after Zoom emits the recording.completed or recording.transcript_completed event.

Auto-required by event subscriptions (Laureo does not call the gated endpoints)

  • meeting:read:meeting — Zoom Marketplace attaches this scope when an app subscribes to meeting.ended. Laureo reads the meeting metadata from the webhook payload directly and never calls GET /v2/meetings/{id}.
  • cloud_recording:read:recording — Zoom Marketplace attaches this scope when an app subscribes to recording.completed. Laureo uses cloud_recording:read:list_recording_files (above) to enumerate the files, never the single-recording endpoint.

What syncs to the CRM

Three artifact types are auto-linked to activities; recording content stays on Zoom.

  • zoom_recording — MP4 video and M4A audio files. Stored as a metadata row pointing at Zoom's hosted playback URL. The video bytes themselves are not stored in Laureo.
  • zoom_transcript — VTT transcript files. Same model: metadata row + Zoom-hosted URL.
  • zoom_summary — Zoom AI Companion summaries when the rep's plan includes them and they were generated.
How matching works
When a recording is processed, Laureo first tries to match it to a CRM booking whose meeting_provider_event_id equals the Zoom meeting id. If no booking matches, Laureo falls back to a time-window match against synced calendar events (±30 minutes) and picks the closest. If neither path matches, the recording lands in the "Orphan recordings" list on Settings → Integrations → Zoom Recordings, where you can link it to a person or deal manually.

Zoom plan requirements

  • Zoom Basic (free): meeting scheduling works. Cloud recording features do not, because Zoom Basic does not include cloud recording. The Zoom drawer in Laureo surfaces an amber "Pro+ required" banner so the rep understands why recordings never appear.
  • Zoom Pro and above: full feature set, including recording links, transcripts, and Zoom AI Companion summaries when available on the plan.

Near-real-time delivery

Zoom sends Laureo a notification when a meeting ends and again when each recording file finishes processing. Laureo verifies every notification against Zoom's signed timestamp inside a five-minute replay window before acting on it. The matching activity update typically lands in Laureo within a minute of Zoom finishing processing. A 15-minute backfill cron runs in parallel so anything missed by the webhook layer self-heals on the next pass.

Disconnecting

You can disconnect Zoom from either side:

  • From Laureo: Settings → Integrations → Zoom drawer → Disconnect.
  • From Zoom Marketplace: visit marketplace.zoom.us/user/installed and remove the Laureo app. Zoom notifies Laureo via the app_deauthorized webhook.

Either path clears your Zoom OAuth tokens and synced Zoom data from Laureo within ten business days, consistent with the Zoom Marketplace Developer Agreement. Existing recordings already linked to activities can be detached manually before the disconnect if you want them to stay on the timeline as a metadata-only record.

Troubleshooting

  • Recordings are not appearing.Confirm the Zoom drawer shows your account as connected and that the "Sync Recordings" toggle is on. If the drawer shows a "Reconnect Zoom" banner, click Disconnect then Connect to re-grant the required scopes.
  • An old recording is missing.The backfill cron only looks at recordings since the last successful sync. Click "Sync Recordings" on the drawer to run a one-time sweep over the past 30 days.
  • A recording is on the wrong deal.Open the recording from the activity timeline and choose "Move to deal", or detach it and re-link to the right record manually.
  • The drawer shows "Pro+ required". The connected Zoom account is on the Basic (free) plan and cannot cloud-record. Either upgrade the Zoom account or accept that meeting scheduling works without recording sync.