General plugins (Local): Microsoft Office 365 Integration

Maintained by Picture of James McQuillanJames McQuillan, Picture of Zion BrewerZion Brewer, Picture of Nima MojganiNima Mojgani
This plugin provides libraries and services that power other Office 365 plugins.
1846 sites
74 fans
Current versions available: 10

Office 365 Plugins for Moodle

Microsoft Office 365 Integration Local Plugin

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

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

This plugin is updated with stable releases. To follow active development on GitHub, click here.


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 Office 365.


Screenshot #0
Screenshot #1
Screenshot #2


Picture of James McQuillan
James McQuillan (Lead maintainer)
Picture of Vinayak (Vin) Bhalerao
Vinayak (Vin) Bhalerao
Picture of Akinsaya Delamarre
Akinsaya Delamarre
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Eric Albert
    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.

  • Picture of Andrew Chapman
    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".
  • Picture of KME Support
    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.
  • Picture of KME Support
    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!
  • Picture of James McQuillan
    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!
  • Picture of KME Support
    Mon, Sep 10, 2018, 7:00 PM
    Hi James

    I will do that, thanks for your response!
  • Picture of Peter Smolders
    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.
  • Picture of Kimmo Kiiskinen
    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.
  • Picture of Cheryl Schmelzer
    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.
  • Picture of Kashyap K
    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.
  • Photo ID
    Fri, Feb 15, 2019, 6:37 PM

    Version (2018051706) causes three 404 errors because the plugin tries to load the Segoe font on EVERY page of Moodle but the path define in style page is not valid (local \ o365 \ style.css, lines 1 to 30)

    404 Requests URL:
  • Picture of Kashyap K
    Thu, Feb 28, 2019, 3:18 PM
    Hi, I need help regarding O365 profile card to moodle fields like the orga chart.
  • Picture of Fab Lor
    Wed, Mar 6, 2019, 11:59 AM
    Hi, maybe someone can help with this question:
    I was able to configure the plugin but when a Office 365 user logins for the first time, moodle takes him to the profile page, and unless the user clicks on the update button, it will let the user continues. Why is this happening? Is there something Im missing? Why moodle thinks there is some profile information missing?
    Thank you
  • Picture of Eric Breton
    Fri, Apr 12, 2019, 10:45 PM
    Hello, can you tell us if the plugin will support version 3.6 of Moodle in a near future ?
  • Picture of Frédérique Seillec
    Tue, May 21, 2019, 9:27 PM

    I have an API Error and I don't understand why

    mode_checksetup:unified: Erreur d'appel API. Data: Array ( [file] => /home/clients/a8114442c81c1e98c5eed34ea0c75c52/web/moodle-schooltech/local/o365/classes/rest/o365api.php [line] => 262 [message] => Erreur d'appel API. [debuginfo] => [errorcode] => erroro365apibadcall [module] => local_o365 )

    ocal_o365\rest\unified::get_application_info:1130: Bad response received Data: (string)
    Bad Request
    HTTP Error 400. The request is badly formed.

    Could you help me ?
1 2 3 4 5 6 7 8
Please login to post comments