Skip to main content

Documentation

Requirements & Installation

Before You Start

  • WordPress 6.0+

  • PHP 8.1+

  • LearnDash installed and active

  • A valid Zoom account with enough privileges (see below)

  • 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 → License

  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 / Server-to-Server App

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

  2. Go to Develop → Build App

  3. Choose OAuth or Server-to-Server OAuth depending on your preference/Zoom permissions

  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 Verification Token — needed in the plugin


Add OAuth Scopes / Permissions

Based on earlier discussions, these are the scopes we planned to use:

  • meeting:read:admin

  • meeting:write:admin

  • user:read or user:read:admin

  • account:read:admin

These match the requirements for meeting creation, reading user data, account-level management, and (optional) webinars.

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


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 Verification 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

  • Missing “write/admin” scopes → may be due to Zoom plan/policy changes

  • Webhook not working — check webhook URL and verification 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.