Microsoft 365 Integration

General plugins (Local) ::: local_o365
Maintained by Enovation Dev Team, James McQuillan, Zion Brewer, Nima Mojgani
This plugin provides libraries and services that power other Microsoft 365 plugins.
Latest release:
5314 sites
118 fans
Current versions available: 12

Microsoft 365 Plugins for Moodle

Microsoft 365 Integration Local Plugin

This plugin provides libraries and services and power other Microsoft 365 plugins.

This is part of the suite of Microsoft 365 plugins for Moodle.

To follow active development on GitHub, click here.

This plugin is updated with stable Moodle releases. This means:

  • New features, bug fixes for general core bugs, and security issues for all plugin versions for Moodle 3.9.x and earlier versions have ended, with the following exception:
    • Bug fixes for security issues for Moodle 3.9.x versions will end 8 May 2023.
  • For plugin versions for Moodle 3.10:
    • New features and full support until November 2021.
    • Bug fixes for security issues until May 2022.
  • For plugin versions for Moodle 3.11 (to be released in July 2021):
    • New features and full support until May 2022.
    • Bug fixes for security issues until November 2022.


Before we can accept your pull request, you'll need to electronically complete Microsoft's Contributor License Agreement. If you've done this for other Microsoft projects, then you're already covered.

Why a CLA? (from the FSF)


(c) Microsoft, Inc.

Code for this plugin is licensed under the GPLv3 license.

Any Microsoft trademarks and logos included in these plugins are property of Microsoft and should not be reused, redistributed, modified, repurposed, or otherwise altered or used outside of this plugin.


This plugin is part of set Microsoft 365.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5


Enovation Dev Team (Lead maintainer)
Vinayak (Vin) Bhalerao
Akinsaya Delamarre
Please login to view contributors details and/or to contact them

Comments RSS


  • Tue, Feb 20, 2018, 2:51 PM

    Can you automate the user account linking to o365-services or do every student have to do it once bythemselves?
  • Tue, Feb 20, 2018, 9:22 PM
    Urpo Karhula - The "user sync" option from the "Options" tab of the plugin settings provides a few different options for this. You can have the plugin create new user accounts for everyone in Azure AD, or have it automatically match users that have the same usernames.
  • Wed, Mar 7, 2018, 9:40 AM
    In Azure AD setup of the configuration page, when clicking on update, we get errors:
    Could not check reply url
    Could not check sign-on URL
    - And graph
    Error in API call: Property 'appid' does not exist as a declared property or extension property.

    Everything else appears correct. I have read that this problem was fixed in later versions (ie for later than Moodle 2.9), but that this version of the plugin is still quite old (from May 2017). We have the latest version. Is the problem going to be fixed for this version, too?

    We have another issue, which I wonder might be related to this: teachers who upload files to courses from their OneDrive to share with students using the O365 file picker, do not seem to get sharing permissions set properly. When students go to view the resources they receive an O365 warning that the file is not shared with them. Any advice on this?
  • Wed, Mar 7, 2018, 10:02 PM
    @andrew - You're correct, this problem should be resolved, especially if you have the latest version. What version of Moodle are you on? (PM me and we can discuss further).
  • Thu, May 17, 2018, 9:55 PM
    Which Azure AD permission governs access to the reply url?

    We are still getting "Could not check reply url." After switching to Application access. All other checks seem to work ok such as for the graph api and it all seems to work. We are on Moodle 3.4 stable and the latest detected plugin. Azure AD permissions are correct as far as we can tell.
  • Thu, Jun 14, 2018, 3:24 AM
    For the "Sync Office 365 profile photos to Moodle in cron job " is the photo coming down from Azure into Moodle or the other way around?

    We are getting:
    Syncing user
    Could not assign profile photo to user "" Reason: Could not refresh token
    Found a user in Azure AD that seems to match a user in Moodle
    moodle username: ealbert, aad upn:
    User is already matched.

  • Wed, Jul 4, 2018, 8:46 AM
    We've upgraded to Moodle 3.5. Users can access their O365 files with the picker, but when they select "Create a sharing link", an error is thrown "Exception - call to a member function get_sharing_link() on boolean".
  • Mon, Aug 13, 2018, 11:16 PM
    I am experiencing the same Problem like Andrew Chapman. I tested the Plugins on a Moodle 3.4 Testsystem and even after upgrading to Moodle 3.5 it seemed to work fine.

    So I installed all Plugins on our productive Moodle 3.5 Instance and getting the same Errors:

    Could not check reply url
    Could not check sign-on URL
    - And graph
    Error in API call: Property 'appid' does not exist as a declared property or extension property.

    Is there any quickfix? I really planned with Office 365 SSO for schoolstart, next week.
  • Thu, Aug 30, 2018, 8:48 PM
    Hi there

    Is there anybody, using these Office 365 Plugins successfully with Moodle 3.5? Am i the only one experiencing the above errors?

    Any feedback's apprechiated. Thanks!
  • Fri, Aug 31, 2018, 1:15 AM
    @KME Support - I encourage you to open an issue on our Github repository ( Providing support through these comments are often difficult. Thanks!
  • Mon, Sep 10, 2018, 7:00 PM
    Hi James

    I will do that, thanks for your response!
  • Tue, Nov 6, 2018, 9:47 PM
    I think there is an error in o365/classes/rest/unified.php. I have replaced Id with appId on line 1116 o365/classes/rest/unified.php
    $endpoint = '/applications/?$filter=appId%20eq%20\''.$oidcconfig->clientid.'\'';
    instead of
    $endpoint = '/applications/?$filter=Id%20eq%20\''.$oidcconfig->clientid.'\'';

    I do not have an API call error anymore, but the error 'Could not check reply url' remains.
  • Thu, Nov 8, 2018, 3:39 PM

    can you update the latest version here in, they are not up to date with the versions in git.
  • Fri, Feb 8, 2019, 6:28 AM
    When we sync users from Azure AD to our Moodle site, we must be able to include the user's manager (Azure Manager field); however, Manager is not available in the AD drop down list in the plugin? Can this field be added - and can we link it to a Manager field in Moodle? Thank you.
  • Thu, Feb 14, 2019, 2:41 PM
    Hi, I'm facing issues with the plugin like when first time I login with O365 account it prompts me to edit the fields instead taking to the profile/dashboard. Second issue is I'm not able to get the user profile fields from o365 like the reporting manager and the designation/role. Can u please fix this ASAP.
Please login to post comments