What is Microsoft Graph Extensions?

It allows you to extend the graph API resources to save the data of your application. You can add the custom properties of Microsoft graph resources like users and messages. You can define custom schema and maintain the application data in graph API which meets the schema requirements. It avoids the overhead of maintaining data in two different data stores.

Microsoft Graph offers two types of extensions

Note. Don’t use extensions to store sensitive information like credentials, banking details, or government identity-related details.

Why do we need Microsoft Graph Extension?

Let’s assume you have an application where you need to save some user-specific data like user theme color or user-specific settings.

Here you will be saving user-specific data in your custom database and user profile details from Active Directory. Managing data in two different data stores is a headache, right?

What if you can manage the user-centric data in Graph API itself?

What if you can get your application data along with Graph results itself?

It eases the overload in managing data in the single data store and gets it using Graph API calls.

Supported resources where Microsoft Graph Extensions is generally available.

Supported resources where Microsoft Graph Extensions is in Preview.

All the above-mentioned resources are supported in work or school accounts.

Below are the resources that you can use for graphs with personal accounts.

What permissions are needed to use Microsoft Graph Extension?

You don’t need any additional permission to use Open Extension, the same permission that is needed for the resource is enough to use Open Extension.

But to manage schema extension the application must be granted Directory.AccessAsUser.All permission.

Limitations in Microsoft Graph Extension

Conclusion

I hope this article helps you to understand Microsoft Graph Extensions, its purpose, and its limitations. If you have any questions/issues about this article, please let me know in the comments.