Microsoft Graph Toolkit: UI Components and Authentication Providers for Microsoft Graph
The Microsoft Graph Toolkit is a collection of reusable, framework-agnostic components and authentication providers for accessing and working with Microsoft Graph. The components are fully functional right of out of the box, with built in providers that authenticate with and fetch data from Microsoft Graph.
The Microsoft Graph Toolkit makes it easy to use Microsoft Graph in your application. In the following example, a signed in user and their calendar events are displayed with just two lines of code by using the Login and Agenda components.
What's in the Microsoft Graph Toolkit?
Components
The Microsoft Graph Toolkit includes a collection of web components for the most commonly built experiences powered by Microsoft Graph APIs.
The components are also available as React components.
| Component | Description |
|---|---|
| Login | A button and a flyout control to authenticate a user with the Microsoft Identity platform and display the user's profile information on sign in. |
| Person | Displays a person or contact by their photo, name, and/or email address. |
| People | Displays a group of people or contacts by their photos or initials. |
| Agenda | Displays events in a user or group's calendar. |
| People picker | Provides the ability to search for people and renders the list of results. |
| Person card | A flyout used on the person component to display more profile information about a user. |
| File | Represents a file or folder with icon, filename, author, and more. |
| File list | Displays a list of multiple files or folders. |
| Get | Make a GET query to any Microsoft Graph API directly in your HTML. |
| Channel picker | Provides the ability to search for Microsoft Teams channels to select a channel from a rendered list of results. |
| To Do | Displays and enables adding, removing, completing, or editing of tasks from Microsoft To Do. |
| Tasks | Displays and enables adding, removing, completing, or editing of tasks from Microsoft Planner or Microsoft To Do. |
Providers
Providers enable authentication and provide the implementation for acquiring access tokens on various platforms and expose a Microsoft Graph client for calling the Microsoft Graph APIs. The components work best when used with a provider, but the providers can be used on their own.
| Providers | Description |
|---|---|
| MSAL | Uses msal.js to sign in users and acquire tokens to use with Microsoft Graph. |
| MSAL2 | Uses msal-browser to sign in users and acquire tokens to use with Microsoft Graph. |
| Electron | Authenticates and provides Microsoft Graph access to components inside of Electron apps |
| SharePoint | Authenticates and provides Microsoft Graph access to components inside of SharePoint web parts. |
| Teams | Uses msal.js to sign in users and acquire tokens on the client in Microsoft Teams tabs. |
| Teams MSAL2 | Uses msal-browser to sign in users and acquire tokens in Microsoft Teams tabs. Supports Single Sign-On with custom backend. |
| Proxy | Allows the use of backend authentication by routing all calls to Microsoft Graph through your backend. |
| Custom | Create a custom provider to enable authentication and access to Microsoft Graph with your application's existing authentication code. |
Why use the Microsoft Graph Toolkit?
The Microsoft Graph Toolkit makes integrating common experiences powered by Microsoft Graph into your own application quick and easy.
Cut Development Time
The work to connect to Microsoft Graph APIs and render the data in a UI that looks and feels like a Microsoft365 experience is done for you, with no customization required.
Works Everywhere
All components are based on web standards and work seamlessly with any modern browser and web framework (React, Angular, Vue, etc.).
Beautiful but Flexible
The components are designed to look and feel like Microsoft365 experiences, but are also customizable using CSS custom properties and templating.
Who should use it?
The Microsoft Graph Toolkit is great for developers of all experience levels looking to develop an app that connects to and accesses data from Microsoft Graph, such as a:
- Web app
- Microsoft Teams tab
- Progressive Web App (PWA)
- Electron app
- SharePoint web part
Where can I use it?
The Microsoft Graph Toolkit is supported in the following browsers.
| Edge | Firefox | Chrome | Safari | Opera | Samsung |
Next steps
- Try out the components in the playground.
- Get started with the Microsoft Graph Toolkit.
- Check out the Microsoft Graph Toolkit on GitHub.