Skip to main content

Documentation

Requirements & Installation

Before You Start

  • WordPress 6.0+

  • PHP 8.1+

  • LearnDash installed and active

  • A paid Zoom plan (Pro or higher) is required for attendance tracking — Zoom’s participant reports are not available on Basic accounts.

  • Your site’s domain (for license registration and OAuth redirect)

Install & Activate the Plugin

  1. Go to Plugins → Add New → Upload Plugin

  2. Upload the .zip file from purchase

  3. Click Install Now → then Activate

  4. A new menu item LiveClass Sync appears

Activate Your License

  1. Go to LiveClass Sync → Settings → Activation Key

  2. Enter your license key

  3. Click Activate License → wait for confirmation

  4. License must be active before Zoom features work

Zoom Configuration

What Zoom Account You Need

  • You need a Zoom account under a paid plan (not just “Basic/Free”) if you want to host meetings longer than the free-plan limit or use features beyond the free tier. 

  • Importantly: the Zoom user authorizing the app must have admin-level privileges (or the account owner) in order to install an account-level or server-to-server OAuth app with broad scopes.

  • For “Account-level” or “Server-to-Server OAuth” apps, only account admins (or users with marketplace/developer permissions) can authorize the app across the account.


Create Your Zoom OAuth App

  1. Log in to Zoom Marketplace as account owner/admin

  2. Go to Develop → Build App

  3. Choose OAuth

  4. Name the app and click Create


Configure URLs

  • Redirect URL (for OAuth): paste the URL from plugin settings

  • Webhook endpoint (for Event Subscriptions): paste the plugin’s webhook URL

  • Copy the Secret Token — needed in the plugin


Add OAuth Scopes / Permissions

  • meeting:write:meeting:admin

  • meeting:read:meeting:admin

  • meeting:update:meeting:admin or meeting:delete:meeting:admin

  • user:read:user:admin

  • report:read:list_meeting_participants:admin

If the scopes don’t appear, integration may not support automatic meeting creation or management.

Changing scopes later? Adding scopes to the app does not affect an existing connection. A token keeps whatever was granted when it was authorised, and refreshing preserves it. After changing scopes you must go to LiveClass Sync → Settings → Disconnect Zoom Account, then Connect Zoom again.


Enable Event Subscriptions (for Webhooks)

  • Turn on Event Subscriptions

  • Add the webhook URL from plugin settings

  • Subscribe to at least: meeting.started, meeting.ended (for attendance tracking)


Enter Zoom Credentials in WordPress

  1. Go to LiveClass Sync → Settings

  2. Paste Client ID, Client Secret, and Secret Token

  3. Save

Connect Zoom Account

  1. Click Connect Zoom

  2. Approve permissions when prompted

  3. Return to WordPress — you should see confirmation (unless scopes are missing)

Meeting SDK Setup — for Browser Join

  • Build a Meeting-SDK App in Zoom Marketplace

  • Use the same Redirect URL

  • Copy SDK Client ID & Secret → paste into plugin settings → Save

LearnDash Usage

Create Zoom Meeting

  • Edit or add a Topic → scroll to LiveClass Sync Meeting

  • Toggle “Enable Zoom Meeting” → fill in meeting name, date, time, duration, optional password → Save/Update

  • The plugin will automatically create the Zoom meeting and embed the join link

Update / Delete Meetings

  • Editing the Topic → Update → meeting changes updated on Zoom automatically

  • Deleting the Topic → meeting deleted on Zoom

View All Meetings

  • Go to LiveClass Sync in the admin menu → you will see lists of upcoming and past meetings with IDs, times, and durations

Management & Troubleshooting

Manage All Meetings

  • List view in the plugin shows meeting name, ID, date/time, status, etc.

Disconnect Zoom (if needed)

  • Go to LiveClass Sync → Settings → Disconnect Zoom Account — removes stored tokens

Troubleshooting Common Issues

  • License not activated → recheck key/domain

  • OAuth redirect URL mismatch or missing scopes → verify OAuth settings in Zoom

  • Zoom API errors mentioning missing scopes → confirm all six scopes are added to the app, then Disconnect and Connect again (existing tokens do not gain new scopes).

  • Webhook not working — check webhook URL and Secret Token

  • SDK join issues — verify SDK credentials and redirect URL

Understanding Completion Percentage

The Completion Percentage field determines how long users must attend to mark the topic complete:
  • 80% (default): User must attend 80% of the meeting duration

  • 100%: User must attend the entire meeting

  • 50%: User must attend half the meeting

  • 0%: Topic marked complete immediately when meeting ends (regardless of attendance)

Example: If a meeting runs for 60 minutes and completion is set to 80%, a user must attend at least 48 minutes to have the topic marked complete.