Zoom videoconference plugin beta

Since we are already using the Zoom videoconference service in production at CERN, we released the current version of the Zoom plugin for Indico as a beta version to the general public as well.

You can find more information on the plugin in its README file (including a changelog since the last beta); and if you would like to give it a try, simply pip install indico-plugin-vc-zoom, enable the vc_zoom plugin in indico.conf and configure it in the Indico admin area.



I’m trying to configure the vc_zoom plugin but I find the README configuration part very synthetic!! In particular, I don’t really understand what I’m supposed to do to get the API key and secret. Am I supposed to create an application, as I did for other plugins? And even less clear, what I’m supposed to do to get a JWT token for the webhooks. The Zoom page linked speks about installing a library but it is not clear how you get a ticket from that?

Help greatly appreciated! Cheers,


Check the Zoom docs here on how to create the JWT:

Sorry, I missed the only important § in this long page… “Register your app”. May be it would be good to highlight that it is the important part…

That said, I registered our instance but I’m having a problem because, if I understood properly, the Zoom user account to use is built by adding the Indico user name with the authorized domains. In our case, it will not work as all the Zoom accounts have the format givenname.surname@ijclab.in2p3.fr when the Indico username is only something close to the surname… Am I missing something?


There are different ways of looking up the zoom user for an indico user:

  • matching email addresses on the indico account (we try all emails)
  • matching email addresses on the indico account (only for specified domains)
  • querying the configured authenticators (e.g. ldap) for the identifier(s) (usually a username) of the user, and prepending @somedomain to them

At CERN we use the last option because via SSO we enforce username@cern.ch as the email for each Zoom account.

The local Indico username is never used - so in your case it sounds like you want option 2 with the email domain set to ijclab.in2p3.fr. Then you just need to inform your users that in order to use Zoom in Indico they MUST have the givenname.surname@ijclab.in2p3.fr on their account (it doesn’t need to be the primary email, it just need to be there).

Thanks for the clarifications. I’ll see if we can use option 2, looks the most appropriate for us, I agree.


I confirm the plugin works just great after fixing the email problem (the initial email used was a secondary email I forgot about). I need to understand how to solve the email problem for all the users but it is another story!

A last question! The JWT token has a lifetime. Should I specify “other” and ensure it never expires (or expires in the far future)? I guess so…


The credentials you get from Zoom are just an API key and secret. Indico then generates JWTs on the fly when making API calls, but since those are used only once they will not even get close to the specified expiry.

Just to be sure to understand how this plugin work. Who eventually create the conference in zoom ? technically speaking. Here we have very few people who have access to the account on zoom for creating a videoconference. And those people are not who use indico.

The plugin assumes your users have Zoom licenses. I don’t think it works without users having a license, and there is currently no support for using a pool of licenses (and then using those users as hosts) or assigning/removing licenses to users on the fly when needed.

Ok…and does the person who create the zoom call need to be the creator of the event ?

Any event manager can create/add videoconferences to an event

Ok. But does he need to be the/a event manager.

Since only event managers have access to manage videoconferences in an event: Yes.

Note: It doesn’t matter if the selected host of the zoom meeting is an event manager - anyone with an Indico account can be chosen as the host, and you can make yourself co-host from within Indico as well.