Zoom Integration Documentation
1. Overview
QuickMeet is a Chromium-based browser extension (Chrome, Edge, Brave, Opera, Vivaldi) that generates meeting links with a single click. The Zoom integration lets you create a Zoom meeting link directly from the QuickMeet popup and copies it to your clipboard, without leaving the tab you are in.
The integration uses Zoom's official OAuth 2.0 Authorization Code + PKCE flow (public client, no client secret) and Zoom's REST API for meeting creation. No Zoom credentials or meeting content ever pass through, or are stored by, QuickMeet's own infrastructure — details are in Privacy Policy Section 3b.
2. Prerequisites
- A Chromium-based desktop browser: Chrome 116+, Edge 116+, Brave, Opera 100+, or Vivaldi 6+
- A Zoom account (any tier — Basic/free, Pro, Business, or Enterprise)
- If you are on a managed Zoom account (Business/Enterprise), your Zoom admin must have Marketplace apps enabled for your organization. Ask your admin if you're unsure.
3. Installation
- Visit the QuickMeet listing on the Chrome Web Store and click Add to Chrome. Chrome will show a permission summary. Click Add extension to confirm.
- Chrome installs the extension and adds the QuickMeet icon to the toolbar. If the icon does not appear, click the puzzle-piece (Extensions) icon in the toolbar, find QuickMeet in the list, and click the pin icon to pin it.
- Click the QuickMeet icon to open the popup. On first launch you will see a list of supported providers with Google Meet, Jitsi, and Zoom under "Available now" and other providers under "Coming soon".
4. Connecting your Zoom account
- Open the QuickMeet popup and click Settings (gear icon).
- Under Connected accounts, find Zoom and click Connect.
- Chrome opens Zoom's official sign-in window (hosted at
zoom.us). You will never be asked for your Zoom password by QuickMeet — the sign-in happens on Zoom's own domain. - Sign in with your Zoom credentials, then review the permission-consent screen. Zoom will list the scopes QuickMeet is requesting (see Section 6 below). Click Allow to authorize.
- Zoom redirects back to the extension. The Settings screen now shows a green "Connected" indicator next to Zoom.
You only need to do this once per Chrome profile. The token stays valid until you disconnect or revoke access from your Zoom account settings.
5. Creating a Zoom meeting link
- Click the QuickMeet icon in the toolbar to open the popup.
- Click Zoom in the "Available now" list.
- QuickMeet creates the meeting via Zoom's API and copies the join URL to your clipboard within a couple of seconds. A confirmation appears in the popup.
- Paste the link into your calendar invite, chat message, or email. That's it.
The meeting created is a standard instant Zoom meeting owned by your account. It appears in your Zoom "Meetings" list and can be started or edited from Zoom's own UI.
6. OAuth scopes requested and why
QuickMeet requests only the minimum scopes required to create meetings on your behalf:
meeting:write— required to create a new meeting via thePOST /v2/users/me/meetingsendpoint. Without this, the "Create Zoom meeting" action cannot function.user:read— required so the extension can display "Signed in as your.email@example.com" on the Settings screen, and to confirm the token is valid on a fresh connection. QuickMeet reads only your account's display name and email — nothing else from your Zoom profile.
QuickMeet does not request any of the following scopes: recording:*, webinar:*, report:*, chat:*, contact:*, phone:*, or any user-management scopes. The extension has no ability to read your recordings, chat history, contacts, or account settings.
7. What happens when you click "Create Zoom meeting"
Here is the exact request flow, in order:
- The QuickMeet extension retrieves your Zoom access token from Chrome's local secure storage (
chrome.storage.local). - The extension sends a
POSTrequest to the QuickMeet Zoom relay (a stateless Cloudflare Worker atquickmeet-zoom-relay.ashish-vin03.workers.dev). The request has your Bearer token in theAuthorizationheader and an empty JSON body. - The relay validates the presence of a Bearer token and the
chrome-extension://origin, then forwards the request tohttps://api.zoom.us/v2/users/me/meetings. The relay does not store, log, or modify the token or the request body. - Zoom creates the meeting and returns a JSON response containing the join URL, meeting ID, and metadata.
- The relay passes Zoom's response back to the extension verbatim.
- The extension extracts the
join_url, writes it to the clipboard via an offscreen document, and displays a confirmation.
The relay exists because Zoom's REST API rejects browser-origin requests as a security measure. The relay is the minimum server-side component needed to bridge that restriction. Full details, including what the relay does not do, are in Privacy Policy Section 3b.
8. Disconnecting your Zoom account
You can disconnect Zoom at any time in one of three ways:
- From the extension: Open the QuickMeet popup → Settings → next to Zoom, click Disconnect. This immediately deletes the local access token. QuickMeet cannot create Zoom meetings until you reconnect.
- From your Zoom account: Sign in at marketplace.zoom.us → Manage → Added Apps → find QuickMeet → Remove. Zoom will notify our de-authorization webhook, and the token becomes invalid on Zoom's side. On the next attempt to use it, the extension will detect the invalid token and clear it locally.
- By uninstalling QuickMeet: Chrome removes all extension storage on uninstall, including the Zoom access token.
9. Troubleshooting
Sign-in loops back to the popup without connecting
This usually means your Zoom account has restrictions on external apps. Ask your Zoom admin to enable Marketplace apps for your account, or try with a personal (free) Zoom account.
"Failed to create meeting" or 401 error
Your Zoom access token has likely expired or been revoked. Open Settings, click Disconnect on Zoom, then Connect again to re-authorize.
Meeting is created on Zoom but no link is copied
Some Chrome Enterprise policies block clipboard access for extensions. Check chrome://policy or ask your IT admin. The meeting itself is still on Zoom — visit zoom.us/meeting to find it and copy the link manually.
"Invalid CORS request" errors in the console
This should not happen in normal use — the relay handles CORS. If you see it, the relay may be unreachable. Check cloudflarestatus.com. If Cloudflare is healthy, please report the issue to quickmeet@eightai.work.
10. Data and privacy
Full details of what data is collected, stored, and transmitted are in the Privacy Policy. The short version for the Zoom integration:
- Your Zoom access token lives only in Chrome's local secure storage on your device. It is never stored on any QuickMeet server.
- The meeting URLs Zoom creates for you are copied to your clipboard and are never logged, stored, or transmitted by QuickMeet.
- The QuickMeet Zoom relay is stateless — no database, no request log, no analytics on the relay itself.
- Anonymous, aggregated analytics on which provider was used (Zoom vs. Google Meet vs. others) go to PostHog. This never includes your Zoom email, name, meeting URL, or account details. Details in Privacy Policy Section 6.
11. Support
See our Support page for common issues and contact information. For direct email:
quickmeet@eightai.work