Setting up Zoom Virtualmeeting plugin

Overview

The Zoom Meeting Virtualmeeting plugin allows trainers to create an ad hoc room that will automatically generate a scheduled Zoom Meeting for any seminar session with which it is associated. The start meeting and join meeting URLs are available to admins and trainers at any time. The join meeting URL is revealed to booked learners beginning 15 minutes before the session starts.

For more information on working with virtual rooms, see our product documentation.

To enable the plugin, you will need to create an OAuth app in Zoom Marketplace, and set the App ID and Client Secret in the Zoom Virtualmeeting plugin settings.

Zoom API Limitations

There are a few limitations to the Zoom API and, consequently, to the Zoom Meeting plugin:

  1. The Create Meeting API can be used a maximum of 100 times per user in a 24 hour period. This means that a user can only assign a Zoom virtual meeting room to 100 seminar sessions per day, before those assignments will start to fail virtual meeting creation.
  2. The Update Meeting API can be used a maximum of 100 times per user in a 24 hour period. This means that a user can only edit 100 seminar sessions with a Zoom virtual meeting room assigned per day, before those sessions will start to fail virtual meeting update.
  3. Private Zoom apps can only be used by other users in the same account. If your use case requires trainers to schedule Zoom Meetings using a different company account, you will either need to publish your app to the Zoom Marketplace, or start the publishing process and request access for one or more specific accounts.
  4. Capacity of Zoom rooms is limited by user licence type. Pro accounts are limited to 100 participants.

Please note that if virtual meeting creation/update fails due to rate limits the user can wait 24 hours, edit the seminar event, and click Save changes (without making any changes) to retry any pending virtual meeting operations.

Requirements

To set up the Zoom Meeting Virtualmeeting plugin you will need to meet the following requirements:

  • A Zoom Pro or Business licence
  • A Zoom admin account, or a Zoom user account with permission to create apps in the marketplace
  • Your Totara site MUST be available via https:// URL

Creating the app

  1. Log in to Zoom Marketplace.
  2. In the Develop menu, select Build App.
  3. Select OAuth (click Create).
  4. Enter the Name for your app e.g. Totara virtual meeting integration.
  5. Select User-managed app as the app type.
  6. Set Would you like to publish this app to Off (this can be changed later).
  7. Click Create.
  8. In another tab, log in to your Totara site.
  9. Go to the virtual meeting plugin setting under Quick-access menu > Plugins > Virtual meetings > Zoom Meeting.
  10. Copy the Redirect URL for OAuth from the top of the settings page. It should look like: https://your.site.name/integrations/virtualmeeting/auth_callback.php/zoom
  11. In the Zoom Marketplace tab, paste the URL into the Redirect URL for the OAuth field.
  12. Add your Totara site's homepage URL as a Whitelist URL.
  13. Click Continue.
  14. Fill in the following required fields on the Basic Information blade:
    • Short Description
    • Long Description
    • Company Name
    • Developer Name
    • Developer Email Address
  15. Click Continue.
  16. Click Continue again to skip the Feature blade.
  17. Click + Add Scopes to add the following permissions:
    • Meeting > View and manage your meetings
    • User > View your user information
  18. Click Done.
  19. Optionally, add a description to the View and manage your meetings scope, e.g. 'Used to create and update Zoom meetings on your behalf'.
  20. Optionally, add a description to the View your user information scope, e.g. 'Used to show your Zoom account name and email in Totara'.
  21. Click Continue.
  22. If there are no warnings on the Activation blade, your app is ready to use.
  23. Go to the App Credentials blade.
  24. Copy the Client ID.
  25. Switch to Totara.
  26. Paste the value into Client ID field of the Totara Zoom Meeting settings.
  27. Switch back to Zoom.
  28. Copy the Client Secret.
  29. Switch to Totara.
  30. Paste the value into the Client secret field of the Totara Zoom Meeting settings.
  31. Click Save changes.

Testing the integration setup in Totara Learn

  1. Create a course with a seminar activity.
  2. Click Add event or edit an existing event.
  3. Click Select room on a session.
  4. Switch to the Create tab in the modal.
  5. Enter the room Name and Capacity.
  6. Click the Add virtual room link dropdown.
  7. Select Zoom Meeting.
  8. Click Connect.
  9. A popup will open and one of the following things may happen:
    • You will be asked to log in to your Zoom account
    • If your browser is already logged in to Zoom in another tab or window, you will skip to the next step
  10. Note that if your browser is logged in to a Zoom account other than the one you wish to use, you will need to log out first.
  11. You may be asked to approve the permissions set.
  12. If everything works correctly, the popup will automatically close, and you will see your Zoom user name and email address next to the Connect button.
  13. If you want to use a different account, open https://zoom.us in another browser tab and log out, then switch back to Totara and click the Connect button again.
  14. Click OK to close the modal.
  15. Click Save changes.
  16. Wait for a minute (virtual meeting room creation happens in the background via adhoc task, so this may take a few minutes depending on your site's cron settings).

    For testing purposes, disabling the Cron execution via command line only admin setting allows you to run cron from the following URL: https://(your.totara.site)/admin/cron.php

  17. If virtual meeting creation fails, you will receive a notification.
  18. Click the room name to go to the room detail page.
  19. If everything works correctly, you should see a card in the upper right with a Go to Room button.
  20. Click Host meeting to start the meeting as the host, or Join meeting to join as a participant.