![]() |
Summary | Discourse Zoom empowers Discourse administrators and users with a paid Zoom subscription to schedule, manage, and participate in Zoom webinars directly from their Discourse platform. |
![]() |
Repository Link | https://github.com/discourse/discourse-zoom |
![]() |
Install Guide | How to install plugins in Discourse |
Overview
This plugin integrates Zoom webinars into a Discourse instance. Zoom webinars can be associated with topics, Discourse users can register for webinars and join them when they start.
Due to Zoom deprecating JWT authentication, as of August 1st 2023, the plugin’s authentication mechanism has changed from JWT (now deprecated, Zoom will remove on September 1st) to Server-to-Server OAuth. Existing users of the plugin need to update their settings.
Features
- When a Zoom webinar starts, the “Register” button automatically switches to “Join”, and clicking it launches the webinar using the Zoom SDK in a dedicated endpoint inside your Discourse community
- Automatically reminds webinar registrants N minutes before the event (N is configurable in the plugin settings, by default reminders are turned off)
- Administrators can add panelists to a webinar in Discourse
- Administrators can add a link to video recordings of the webinar in Discourse, which is then displayed to users after the event has ended
- Zoom event hosts and panelists are associated with Discourse user accounts
Usage
To use the Discourse Zoom plugin, you first need to install it in your Discourse instance and configure it with your Zoom Server-to-Server OAuth app credentials. Once the plugin is set up, you can create a new Zoom webinar by creating a new topic and associating it with the webinar. Users can then register for the webinar directly from the topic.
Installation
Step 1: Create a Server-to-Server OAuth app in the Zoom Marketplace
To get started, you’ll need to create a Server-to-Server OAuth app in the Zoom Marketplace.
Step 2: Install the plugin in your Discourse instance
You can install the plugin to your Discourse instance by following the instructions here.
Step 3: Configure the plugin
Once the plugin is installed, go to your Discourse site settings and check the zoom enabled
checkbox and save.
From the Zoom Marketplace go to the App Credentials tab:
Then copy and paste the values into the corresponding site settings on your Discourse instance:
zoom s2s account id
zoom s2s client id
zoom s2s client secret
Step 4: Set the webhook secret token
On the Feature tab of your Zoom Server-to-Server OAuth app, copy the “Secret Token” and add it to your Discourse site’s zoom webhooks secret token
site setting.
Step 5: Enable event subscriptions
While still on the Feature tab of your Zoom Server-to-Server OAuth app, enable “Event Subscriptions” and and select the Add Event Subscription button:
Next, set the “Event notification endpoint URL” to:
https://YOURSITE.COM/zoom/webhooks/webinars.json
then select the + Add Events button:
Open the Webinar tab from the event types list and check all of the events that listed. If you can’t see the Webinar event permissions, check how to enable the permissions.
Under the “Event notification endpoint URL” your set earlier, find the Validate button:
It should show if everything worked.
Finally select the Save button at the bottom of the page
Step 6: Create a Meeting SDK App
Zoom has changed things on their side, we are working on getting the guide updated.
Under the App Credentials tab in your Meeting SDK App, copy and paste the Client ID/ SDK key
into the zoom sdk key
field, and the Client Secret/SDK secret
into the zoom sdk secret
field.
Next, under the App Credentials tab, you will find the Redirect URL for OAuth
and the Add Allow List
. Copy and paste the following link https://YOURSITE.com/auth/oauth2_basic/callback
.
Step 7: Activate the SDK App
Go to the SDK Activation tab and in the Add URL
, copy and paste the provided URL in your browser to activate the SDK app. Currently, we don’t use the provided OAuth by the Meeting SDK, but setting it up is required.
Make sure your app is activated. To do this, click on Manage
and check the Status
column.
Limitations
The plugin only works with webinars that do not require registration in Zoom.
Notice about breaking Changes
Due to deprecations in the Zoom API, old instances of the plugin will need to be configured following the steps mentioned in this post.
Hosted by us? This plugin is available on our Enterprise plans.
Last edited by @tshenry 2024-08-20T02:20:32Z
Check document
Perform check on document: