Integrating Zoom to Booknetic SaaS

Integrating Zoom to Booknetic SaaS. Multi-purpose Appointment Booking Plugin For WordPress.

Version:
Categories

Booknetic SaaS supports Zoom as a per-tenant video-meeting integration. When a tenant's appointment is booked, Booknetic auto-creates a Zoom meeting and exposes the join link to workflow notifications via the customer-facing {zoom_meeting_url} shortcode and the staff-facing {zoom_meeting_host_url} shortcode.

There are two supported integration methods on Booknetic SaaS:

Method Who supplies Zoom credentials When to choose it
OAuth method Platform owner registers one Zoom OAuth App at marketplace.zoom.us; tenants click "Connect Zoom Account" in their own panel You want one branded Zoom experience for every tenant; you're willing to go through Zoom's App review process
Server-to-Server method Each tenant registers their own Zoom Server-to-Server OAuth App and pastes their Account ID + Client ID + Client Secret into their tenant panel You don't want to go through Zoom App review; each tenant is technical enough to register an S2S app themselves

Important: Booknetic no longer supports Zoom JWT Apps. Zoom sunset JWT Apps on September 1, 2023. If you have an older Booknetic SaaS install configured for JWT, switch to OAuth or Server-to-Server using the instructions below.

Before either method works:

  1. The zoom plan capability must be enabled on each tenant plan that should have Zoom access (Booknetic SaaS → Plans → edit a plan → toggle zoom on).
  2. Each tenant must connect a Zoom account against each staff member who should use Zoom (Tenant panel → Staff → edit a staff → connect Zoom).
  3. Each tenant must toggle "Activate Zoom for the service" on every service that should auto-create a Zoom meeting (Tenant panel → Services → edit a service).

OAuth method — set up the platform-wide Zoom App

Use this path when you want one Zoom OAuth App for the entire SaaS, with each tenant signing in to their own Zoom account through that shared App.

Step 1: Open the Zoom Marketplace developer console.

  1. Sign in at https://marketplace.zoom.us with the Zoom account that will own the App.
  2. Click Develop → Build App.
  3. Pick OAuth App (Zoom may also call this OAuth App (Account-level) depending on UI rev).

Step 2: Fill in App basics.

  • App name — public-facing App name; customers see this in the Zoom consent screen.
  • App type — pick User-managed app so each tenant connects their own Zoom user account.
  • App icon — upload your branding logo (300×300 PNG recommended).

Step 3: Copy the Redirect URI from Booknetic into Zoom.

  1. In Booknetic SaaS → Settings → Integrations → Zoom, set Integration method = OAuth. The screen now shows a read-only Callback URI (also called Redirect URI in Zoom's UI).
  2. Copy that URI exactly.
  3. Back in Zoom Marketplace → your App → App Credentials, paste the URI into both Redirect URL for OAuth and Add Allow Lists.

Step 4: Paste Zoom credentials into Booknetic.

  1. In Zoom Marketplace → App Credentials, copy Client ID (development) and Client Secret (development).
  2. In Booknetic SaaS → Settings → Integrations → Zoom, paste them into Client ID and Client Secret.
  3. Save.

Step 5: Set meeting topic and description defaults (tenant-side).

These can be edited later by each tenant in their own panel, but it's helpful to set sensible defaults:

  • Meeting topic — title of the Zoom meeting. Shortcodes such as {service_name}, {staff_name}, {customer_full_name} are supported.
  • Meeting description — agenda body (max 2000 characters).
  • Set random password — toggle ON if you want Zoom to auto-generate a 6-digit meeting password.

Step 6: Fill in App information.

Zoom requires App information for review: short description, long description, categories, company / support contact, privacy policy URL, and terms of service URL on your platform.

Step 7: Pick scopes.

Booknetic needs at minimum:

  • meeting:write:admin — create / update meetings.
  • user:read:admin — read the connected user profile.

Add any additional scopes Zoom's UI requires for your App type and tier.

Step 8: Submit for review.

Production credentials become available only after Zoom approves the App. Review typically takes 5–10 working days. Zoom is strict about review evidence; in the "Test account and credentials" section, register a private demo tenant on your SaaS and give the Zoom reviewers credentials so they can see the Zoom meeting auto-creation flow end-to-end.

While review is pending, you can use the development credentials Zoom shows in the App Credentials screen. Booknetic accepts development credentials so you can finish testing.

Step 9: After approval — switch to production credentials.

When you receive Zoom's approval email:

  1. Open your Zoom App → App Credentials.
  2. Copy Production Client ID and Client Secret.
  3. Paste them into Booknetic SaaS → Settings → Integrations → Zoom (replacing the development values).
  4. Save.

Server-to-Server method — per-tenant Zoom credentials

Use this path when you want each tenant to bring their own Zoom credentials without you needing to register an OAuth App.

Step 1: Switch Integration method.

In Booknetic SaaS → Settings → Integrations → Zoom, set Integration method = Server-to-Server. The Client ID / Client Secret / Account ID fields move scope: now tenants fill these inside their own panel.

Step 2: Tenants register a Server-to-Server App in Zoom Marketplace.

Each tenant signs in at marketplace.zoom.us with their own Zoom account, then:

  1. Develop → Build App → Server-to-Server OAuth App.
  2. Fill App basics → Activate the App.
  3. Copy Account ID, Client ID, Client Secret.

Step 3: Tenants paste credentials into their tenant panel.

Tenant panel → Settings → Integrations → Zoom →

  • Account ID
  • Client ID
  • Client Secret

Save.

Step 4: Tenants link staff to Zoom.

Tenant panel → Staff → edit a staff → Zoom section → Zoom user dropdown → pick the Zoom user this staff member should host meetings on.

Common setup blockers

Symptom Likely cause Fix
"redirect_uri_mismatch" error after clicking Connect Zoom Booknetic Redirect URI changed (e.g. you moved the site to a new domain) Copy the new Redirect URI from Booknetic → Settings → Integrations → Zoom and paste it into Zoom Marketplace → App Credentials
Tenants don't see a Zoom menu in their panel zoom plan capability is OFF on their plan Booknetic SaaS → Plans → edit the tenant's plan → enable zoom capability
Zoom meeting is not created on booking Staff member doesn't have a Zoom user linked, or service doesn't have "Activate Zoom" enabled Tenant panel → Staff → confirm Zoom user linked; then Services → edit service → toggle "Activate Zoom for the service" ON
{zoom_meeting_url} renders as literal text in customer email Zoom addon was off when the appointment was created, OR the shortcode is in a workflow event that runs without appointment context Verify Zoom is active for the tenant; trigger workflow on an event with appointment context (booking confirmation, booking reschedule)

Switching from JWT (legacy installs)

If your Booknetic SaaS install was set up against Zoom JWT before September 2023:

  1. The JWT App in your Zoom account no longer authorises requests — Zoom will reject calls.
  2. Re-create your integration using OAuth (this guide's first method) or Server-to-Server (above).
  3. Ask each tenant to re-connect their Zoom account once the new credentials are in place.
  4. Existing Zoom meetings already created stay on Zoom; only new bookings need the new auth path.