Help Center
DocsZoom
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
Open Settings → Integrations
Click the Zoom card
Click "Connect Zoom"
Review and accept the requested permissions
Return to the CRM
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.
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.