Overview

Pre-built tooling

Pre-built integrations

No pre-built integration yet (time to contribute: <48h)

Not seeing the integration you need? Build your own independently.

Access requirements

Pre-RequisitesStatusComment
Paid dev account
Paid test account
Partnership
App review
Security audit

Setup guide

No setup guide yet.

Need help getting started? Get help in the community.
Contribute improvements to the setup guide by editing this page
Contribute useful links by editing this page

API gotchas

  • Microsoft has a unified OAuth system for their various APIs. This provider should work for most of them (e.g. Microsoft EntraID, OneNote, Onedrive, Outlook, Sharepoint Online, Microsoft Teams etc.).
  • Microsoft offers a tool that allows you to construct and perform Graph API queries and see their response for any apps on which you have an admin, developer, or tester role. For more information you can check Microsoft Graph Explorer.
  • You can find permissions required for each API call in their corresponding API methods section, i.e, to retrieve a list of notebook objects from Onenote, you can have a look at List Notebooks permissions.
  • Please be aware that the Microsoft Graph API implements throttling to manage the volume of requests. For more information on handling throttling, refer to the Microsoft Graph Throttling Guidance.
  • If you are developing an app for users within your own organization and the app has already been granted adequate permissions at the organization level with user consent turned off, you must override the integration config when calling the create connect session method:
    • Override authorization_params by setting only scope: '.default offline_access' and "prompt": "" to remove the consent screen. Note that if consent is required it will prompt the user for consent due to the “.default” scope.
    • Set the .default scope documentation to ensure the permissions remain the same as those granted at the organization level.
const { data } = await nango.createConnectSession({
  [...],
  integrations_config_defaults: {
    "microsoft": {
      authorization_params: {
        scope: '.default offline_access',
        "prompt": ""
      }
    }
  }
});

If this is not done, the app will show a consent screen prompting the user to grant permissions which the user will be unable to do without admin access.

Contribute API gotchas by editing this page