Zoom Marketplace Publish Checklist¶
Use this checklist to publish the ConnectGain Zoom app that captures cloud recordings and sends them over API.
Full Zoom-only walkthrough (every Marketplace task): ZOOM_MARKETPLACE_ALL_STEPS.md
1) Zoom app setup (Marketplace)¶
- Go to Zoom Marketplace > Develop > Build App.
- Create an OAuth app (User-managed recommended for SaaS installs).
- Set OAuth Redirect URL(s):
- Production:
https://<your-domain>/scheduling/integrations/zoom/callback - Local/dev if needed.
- Add scopes (minimum):
meeting:writemeeting:write:adminmeeting:readrecording:readuser:read- Configure Event Subscriptions:
- Endpoint URL:
https://<SUPABASE_PROJECT_REF>.supabase.co/functions/v1/zoom-webhook - Event:
recording.completed - Secret Token: generate in Zoom and save for backend env.
2) Supabase env configuration¶
Set these env vars for edge functions:
ZOOM_CLIENT_IDZOOM_CLIENT_SECRETZOOM_WEBHOOK_SECRET(must match Zoom Event Subscription secret token)
3) Deploy backend changes¶
- Deploy edge functions:
zoom-oauth-urlzoom-oauth-callbackzoom-create-meetingzoom-webhookwebhook-dispatcher- Run migrations, including:
20260317193000_create_zoom_recordings_bucket.sql
4) ConnectGain webhook settings¶
- Open webhook settings in ConnectGain.
- Create/edit webhook and subscribe to:
zoom.recording.completed- Save customer API endpoint and optional secret/header settings.
5) End-to-end test before submission¶
- Install app through OAuth connect flow.
- Create a Zoom meeting from ConnectGain.
- Record the meeting to cloud and stop recording.
- Confirm Zoom sends
recording.completedand edge function accepts signature. - Confirm recording file appears in storage bucket
zoom-recordings. - Confirm outbound webhook delivery with event type
zoom.recording.completed.
6) Zoom submission requirements¶
Before clicking Submit for Review in Zoom:
- App name, short/long description complete.
- Privacy Policy URL and Terms URL are public and accurate.
- Support contact email/URL is valid.
- Requested scopes are justified by app behavior.
- Demo/test credentials and instructions are ready if requested.
After approval, publish as:
- Public (listed in Marketplace), or
- Unlisted (installable only via direct link).