Zoom meeting

Activities ::: mod_zoom
Maintained by Jonathan Champ, Steve Bader, Alan McCoyAlan McCoy
Zoom is a video and web conferencing platform that gives authorized users the ability to host online meetings and webinars.
Latest release:
10586 sites
1k downloads
284 fans
Current versions available: 2

Zoom is a web- and app-based video conferencing service. This plugin offers tight integration with Moodle, supporting meeting/webinar creation, synchronization, grading and backup/restore.

Requires a business or educational Zoom account to configure and setup.

Potential privacy issues

Meetings are joinable if URL is known. That is a limitation by Zoom. To have secure meetings, please set a passcode.

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2

Contributors

Jonathan Champ (Lead maintainer)
Steve Bader: Lead Maintainer
Alan McCoy
Alan McCoy: Lead Maintainer
Rex Lorenzo: Former Lead Maintainer (2015-April 2021)
Please login to view contributors details and/or to contact them

Comments

Show comments
  • Jonathan Champ
    Mon, 3 Mar 2025, 10:49 PM
    Hi Fabrizio Rossiello,

    The Moodle Zoom plug-in relies on creating a Zoom app (specifically, a Server-to-Server OAuth app) within your Zoom account. API access is required. This often means a Business, Enterprise or Education Zoom account, as these typically provide the necessary administrative controls. Some users have reported success using a Pro account, but some of the feature are not available on Pro accounts because the API access is limited.
  • Dr. Nellie Deutsch
    Fri, 14 Mar 2025, 6:31 PM
    I'm getting this error on Moodle 4.5.2:
    Scheduled task failed: Update tracking field settings from Zoom (mod_zoom\task\update_tracking_fields),Call to a member function check_scopes() on null
    Backtrace:
    * line 410 of /lib/classes/cron.php: call to mod_zoom\task\update_tracking_fields->execute()
    * line 208 of /lib/classes/cron.php: call to core\cron::run_inner_scheduled_task()
    * line 125 of /lib/classes/cron.php: call to core\cron::run_scheduled_tasks()
    * line 186 of /admin/cli/cron.php: call to core\cron::run_main_process()
  • Dr. Nellie Deutsch
    Fri, 14 Mar 2025, 9:37 PM
    I fixed the error by downloading the latest Zoom instead of hitting the "Install now" on Moodle.org. The "Install now" caused the error.
  • Jonathan Champ
    Fri, 14 Mar 2025, 9:59 PM
    Hi Dr. Nellie Deutsch,

    Thank you for letting us know that you were experiencing an issue. The previous update (v5.3.0) accidentally broke the update_tracking_fields task, but the latest version (v5.3.1) was quickly released to resolve the issue.
  • Tara Richardson
    Mon, 7 Apr 2025, 11:51 PM
    On my 4.5 dev site, I'm trying out the newly installed Zoom plug-in, however, I'm getting the following error message. I am logged in to my Zoom account with the same email as my moodle site. Any insight on this? Thanks in advance. - Tara


    ERROR: Unable to find your account on Zoom. If you are using Zoom for the first time, you must activate your Zoom account by logging into . Once you've activated your Zoom account, reload this page and continue setting up your meeting. Else make sure your email on Zoom matches your email on this system.
  • Debra Roth
    Tue, 15 Apr 2025, 11:36 PM
    Hi - I am having trouble with notifications relating to this plug in - specifically, the language is confusing about the reminder that goes out and there is a broken image. Does anyone know how to turn off or edit the reminder that seems to automatically go out when you set up the zoom plugin?
  • Aimei Nakao
    Tue, 20 May 2025, 2:52 PM
    Hello. I'm facing an issue with the "attendance duration" grading method.

    "Upon entry" grading works as expected — participants are marked present when they join. However, "attendance duration" does not record grades correctly.
    For example, I created a 10-minute meeting and had a user join for 5 minutes. I expected them to receive a grade of 50 (out of 100), but no grade was recorded.

    What could be causing this issue? Thank you in advance!
  • Jonathan Champ
    Thu, 19 June 2025, 11:31 PM
    Hi Aimei Nakao,

    For attendance duration, there are multiple dependent steps in order for grades to be recorded:
    - The mod_zoom task "get_meeting_reports" needs to run successfully to load the meeting participant data into Moodle. If this loaded data, it can be checked by going to the Zoom activity's session logs in Moodle. If no data was loaded, it is possible that the task is not running successfully. For example, it may not have the necessary scopes granted to allow pulling the data from the Zoom API.
    - To match the meeting participant data to a person in Moodle automatically, the matching code needs to be able to accurately match the user based on email address, full name or Moodle user ID.

    There is some help text for the grading method in Moodle that describes ways to improve the likelihood that the matching code will succeed.
  • Anastasios Lamprianidis
    Mon, 14 July 2025, 5:42 PM
    We would like to track student attendance — specifically, the time each student joined and left the session, as well as their total time spent. Is this possible? If so, could you please assist us?

    Thank you very much!
  • Jonathan Champ
    Thu, 24 July 2025, 11:10 PM
    Hi Anastasios Lamprianidis,

    Student attendance tracking / participant reports are part of the get_meeting_reports task. There is an attendance duration-based grading option which attempts to calculate total time spent. If there is specific functionality that you would want, please start a discussion on our GitHub page in case others are also interested.
  • Markus Skuthälla
    Fri, 17 Oct 2025, 2:51 PM
    Hello!

    We have an issue with the cloud recordings being uploaded to Zoom. When we have someone pause and resume a recording in Zoom, the recording shows up in Moodle but can't be watched? This is the error we get;

    Recording could not be found

    Debuginformation:
    Error code: recordingnotfound
    Stack trace:
    line 52 of /mod/zoom/loadrecording.php: moodle_exception thrown

    Other recordings that don't pause and resume work. Any ideas?
    Thank you in advance!
  • IT INSERVER
    Fri, 24 Oct 2025, 3:12 PM
    Hi!

    We’re having trouble retrieving meeting reports after updating to version 5.4.5.
    Details in the bug tracker: https://github.com/ncstate-delta/moodle-mod_zoom/issues/685

    Thank you very much, and regards!
  • Steve Bader
    Tue, 28 Oct 2025, 1:07 AM
    Hi IT INSERVER,

    Thanks for reporting this issue. We’ve reviewed the details in the tracker and our team is currently working on a resolution, and we’ll post an update in the issue once a fix is available.

    Best,
    Steve
  • Syed Muhammad Ahsan Noori
    Thu, 9 Apr 2026, 4:29 PM
    Hi team, thanks for this excellent plugin — it’s working well in our RnD.

    I have a question about multi-user onboarding at scale:

    Initially, I got this error when trying to add a Zoom activity:

    “Unable to find your account on Zoom… make sure your email on Zoom matches your email on this system.”

    After creating/activating my Zoom account (matching Moodle email), it worked.

    Our concern is production rollout: we have multiple schools and many teachers.
    For each teacher who needs to schedule Zoom meetings from Moodle:

    Do they all need to exist as users under the connected Zoom org/account?
    Is manual user provisioning in Zoom required, or is there a recommended automated approach?
    Have you implemented (or are you planning) any built-in workflow for this (e.g., auto-provision/invite, sync, fallback mapping)?
    Any best practices for large-scale onboarding (email mapping, licensing, scheduling privileges)?
    Would appreciate guidance from others who deployed this plugin with many teachers.
  • Jonathan Champ
    Fri, 10 July 2026, 3:55 AM
    Hi Syed Muhammad Ahsan Noori,

    Do [all users who can add Zoom activities] need to exist as users under the connected Zoom org/account?
    Essentially yes. Every user has an identifier (typically email address) which maps to a user in Zoom. A meeting in Zoom is created for the user that creates the activity. This help avoid problems where multiple overlapping meetings are scheduled by a single person (because Zoom only allows one active meeting per host by default).

    Is manual user provisioning in Zoom required, or is there a recommended automated approach?
    It depends. Pre-provisioning the users in Zoom is recommended so that their accounts already exist in the correct place and are ready to use. Zoom themselves has some ways to do automatic provisioning, but I recommend having a synchronization method that works well for your organization.

    Have you implemented (or are you planning) any built-in workflow for this (e.g., auto-provision/invite, sync, fallback mapping)?
    The workflow that the university uses is heavily customized to the university environment and is not done through Moodle at all. While it is technically possible to treat Moodle as the Identity Provider, I would guess that most organizations will need a dedicated Identity Provider if they are handling automatic provisioning of accounts. So no, nothing has been implemented or is planned, but I think it would be possible for someone to build a tool within Moodle that ensures registered users within their managed domain are provisioned into Moodle.

    Any best practices for large-scale onboarding (email mapping, licensing, scheduling privileges)? Would appreciate guidance from others who deployed this plugin with many teachers.
    For large scale, I would hope that you have a managed domain. So if your organization is example.com, and your email is syed@example.com, then I would expect that you already have a list of all of the employees. And hopefully they can log in with a SSO, like Shibboleth/SAML or Google. You can create a Server-to-Server OAuth and use the API to create user accounts. You can also use the managed domain to force all users in your domain to be part of your organization's overall account. I like using the API to manage licenses because I can make sure all of the active employees have licenses. Some accounts have enough licenses to give a full license or a student license to each active student and that can be updated each day. It helps to have a local cache of the current state so that you do not need to ask Zoom for all of the data every day; that way only the changes need to be processed. Scheduling privilege is helpful if you have a support employee who is setting up the Zoom activities on behalf of the teachers, but it's easier to make mistakes (forgetting to use the Schedule For setting for the correct teacher). Ultimately, you'll figure out what works best for you.

    I hope that helps,
    Jonathan
Please login to post comments