Zoom Webinars Plugin

I will look into this today. It’s possible this is a temporary issue, the web client for Zoom is marked as “under maintenance” on their Status page at status.zoom.us.


I just want to mention that use of webinars is $40.00 a month minimum to enable + $14.99 a month Pro plan. Cheers.

1 Like

Yes, unfortunately it looks like Zoom’s Web SDK is offline for now. They say they are working on bringing it back online (not quite sure what that means).

For the moment, then, I have added a workaround to the plugin, when joining a webinar, it will now show this screen when joining via SDK fails:


FYI, a cooperative I co-founded went for https://bigbluebutton.org/. Self-hosting cost us a lot less than a Zoom webinar account.


Thanks for the plugin. I followed the same as what you have explained, but getting this error

And the logs return this:
Message (7 copies reported)

TypeError (no implicit conversion of nil into String)
/var/www/discourse/plugins/discourse-zoom/lib/client.rb:12:in `parse’


/var/www/discourse/plugins/discourse-zoom/lib/client.rb:12:in `parse'
/var/www/discourse/plugins/discourse-zoom/lib/client.rb:12:in `webinar'
/var/www/discourse/plugins/discourse-zoom/lib/webinars.rb:27:in `find'
/var/www/discourse/plugins/discourse-zoom/app/controllers/webinars_controller.rb:74:in `preview'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/base.rb:196:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:135:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/callbacks.rb:41:in `process_action'


HTTP HOSTS: forum.laex.in

Edit: Webinar ID as 656-530-215 also gives the same error.


Looks like the API request to webinars/WEBINAR_ID is not returning nil for the start_time of the webinar from Zoom. You might want to test your API credentials outside of the plugin, using a tool like Postman, for example.


I did a test of API credentials and its fine. Then I did a quick update of the plugin and I am able to connect to the webinar.

  1. I am not sure, if it is for the update or, I tried to create a webinar topic, after the webinar was actually started/in progress.

  2. What time does the plugin use to calculate the Event begins in time? I have logged in from two devices at the same time, but the Event begins in show different times.

From laptop: (which has a time advance of 7 mins)

and from mobile


It uses the time returned by javascript’s new Date(). The difference you see in your screenshots matches the 7-min advance on the laptop.


It works great. Btw, is there any possibility that I can show the chat in webinar as a discussion to the topic?


Hi Penar, I just noticed there is a Webinar tab in the users profile, as an admin I can view this as expected, but as a regular user I get this error

Access Denied

while trying to load [/topics/webinar-registrations/chris_murray.json](https://community.naturephotographers.network/topics/webinar-registrations/chris_murray.json)

From the logs:

Error: Forbidden
Url: https://community.naturephotographers.network/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js
Line: 1
Column: 267206
Window Location: https://community.naturephotographers.network/u/chris_murray/activity


1 Like

@pmusaraj I was able to make webinar posts but having one issue.

The attendees are able to hear the host/panellist voice, but the host/panellists are not able to hear the attendees voice. I was able to hear two-way audio using iframe call to the webinar, but not through plugin. Is this a known issue?


This has nothing to do with the plugin, once you launch the webinar it is all on Zoom’s end, so you will want to contact them. They are having lots of technical issues at the moment due to the increased usage. It helps to hold your webinar in non-peak hours during the work week right now.


Thanks @davidkingham but I see this problem in plugin and not when I access through

<iframe src="https://zoom.us/j/417797790" allow="microphone;camera" sandbox="allow-same-origin allow-pointer-lock" height="265" width="700"></iframe>

I am not sure, the plugin might be using zoom webclient, which is having some problem lately.


I can’t reproduce this, tested on multiple sites with different usernames, including locally with a username containing an underscore.

Yes, the plugin uses Zoom’s WebSDK, and it has issues in some browsers.

1 Like

FYI I just did a webinar using this and the Join button didn’t work at all, everyone got a timeout from Zoom, but I directed everyone to the regular zoom link which worked fine. So it seems the WebSDK is having lots of problems. Maybe we could have an option to put in the url for the join button rather than relying on the websdk since it is failing?

1 Like

The Zoom SDK should work if you deploy, I updated the plugin last week. They did block all previous versions though so if you haven’t deployed recently that could explain it. And adding the zoom link as an option makes sense.


Thanks Penar, I didn’t realize there was an update, hopefully that will fix it for next time.

Question about the video you can add afterwards; does this only work for Zoom cloud recordings? If I use Vimeo or Youtube it says it’s not a supported format. Just curious, not a big deal since I can just include it in the post.

1 Like

Oh yes, that fields only works with a URL to a direct video file. Youtube or Vimeo won’t work, but as you say, it’s much easier to use oneboxing for Youtube/Vimeo URLs.


See: BigBlueButton video conference

1 Like

Just a little feedback after using this a few times now.

  1. The join button being hidden until the webinar starts is not user friendly, I get several emails before the webinar starts asking where the link to join is even though I’ve spelled it out in the webinar description and the notification that it will appear when the webinar starts, people just don’t read. Personally I would prefer to have the join button always visible, if they click on it early it will just tell them the webinar hasn’t started yet and they will look back to see what time it really starts.

  2. Would it be possible to support practice sessions? With a webinar you have the option for this where the host and panelists can talk to each other beforehand without being live for the participants. They can click the link for the zoom meeting during this time and they will get a notice telling them that the meeting has not started yet but they’re in sort of a waiting room, and it automatically joins as soon as we go live. This would alleviate a lot of problems for users.