---
title: Microsoft 365 API Integration on Truto
slug: microsoft
category: Default
canonical: "https://truto.one/integrations/detail/microsoft/"
---

# Microsoft 365 API Integration on Truto



**Category:** Default  
**Status:** Generally available

## Unified APIs

### Unified HRIS API

- **Employees** — Represents an employee in HRIS

### Unified Knowledge Base API

- **Page-Content** — Represents the content of a page
- **Pages** — Represents the pages, posts, articles in a knowledge base
- **Spaces** — Represents the high level grouping of pages in a knowledge base

### Unified Instant Messaging API

- **Channels** — Channels are a way to group the communication happening between users in the source application. Channels can be used for group messaging, team messaging, etc.
- **Members** — Members are users, apps, bots and integrations part of the organization. To differentiate between the type of member, use the `type` attribute.
- **Messages** — Messages are the communication between users in the source application.
- **Workspaces** — Workspaces represent concepts like teams, workspaces, projects in apps that support them

### Unified User Directory API

- **Activities** — Activities are the actions performed by users in the source application.
- **Licenses** — Licenses represent concepts like user seats in apps that support them
- **Me** — 
- **Roles** — The Role object represents a role of a User.
- **Users** — The User object represents a User.
- **Workspaces** — Workspaces represent concepts like teams, workspaces, projects in apps that support them

### Unified File Storage API

- **Drive-Items** — Drive Items are the files and folders present in a file storage system. These items are usually part of a Drive. You can differentiate between files and folders using the type attribute.
- **Drives** — Drives is a collection of files and folders. They could have multiple Drive Items within them. Users could have multiple Drives accessible to them in a file storage system.
- **Permissions** — Permissions can answer your questions around which User has access to do what on a Drive Item or a Drive.
- **Users** — Users represent the people using the underlying file storage system.
- **Workspaces** — Workspaces represent the top-level subdivision in a file storage system. They usually have their own set of drives, groups and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc.

### Unified Single Sign-On API

- **App Users** — AppUsers represent the users assigned to an application.
- **Apps** — Applications represent the applications that are registered with the SSO service.

### Unified Ticketing API

- **Attachments** — Attachments are the files associated with a ticket or a comment.
- **Collections** — Tickets and contacts can be grouped into Collections. Collection resource usually maps to the various grouping systems used in the underlying product. Some examples are lists, projects, epics, etc. You can differentiate between these grouping systems using the type attribute of a Collection.
- **Ticket Priorities** — Ticket Priorities represent the intended order in which the Tickets should be worked on. Some products provide customizing the Ticket Priorities.
- **Tickets** — Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
- **Users** — Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.
- **Workspaces** — Workspaces represent the top-level subdivision in a ticketing system. They usually have their own set of settings, tickets, statuses, priorities and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. A Workspace could belong to an Organization.

### Unified Search API

- **Search** — Search endpoint for all the apps.

## How it works

1. **Link your customer's Microsoft 365 account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Microsoft 365.** The Proxy API is a 1-to-1 mapping of the Microsoft 365 API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync your customer's corporate directory for identity-aware features** — SaaS platforms offering role-based access, audit trails, or org-chart visualizations can pull Users, Roles, and Licenses from Microsoft Entra ID via the Unified User Directory API — giving their product accurate, up-to-date identity context without asking customers to manually upload CSVs.
- **Connect to SharePoint and OneDrive for document-centric workflows** — Any SaaS product that touches customer documents — contract management, compliance, AI search — can read and write Drive-Items, manage Permissions, and browse Drives through the Unified File Storage API, so end users never have to leave your app to find their files.
- **Power real-time collaboration through Microsoft Teams messaging** — SaaS companies building project management, incident response, or helpdesk tools can create Channels, post Messages, and manage Members inside their customers' Teams workspaces via the Unified Instant Messaging API, keeping stakeholders informed without context switching.
- **Surface SharePoint intranet content inside your product** — Knowledge management and enterprise search platforms can ingest Pages, Spaces, and Page-Content from SharePoint sites through the Unified Knowledge Base API to power search indexes, RAG pipelines, or content dashboards that reflect the customer's internal knowledge base.
- **Automate IT ticketing workflows tied to Microsoft 365 accounts** — Helpdesk and ITSM SaaS products can create and manage Tickets, track priorities, and resolve issues using the Unified Ticketing API while correlating tickets to Microsoft 365 user identities — enabling automated routing, SLA tracking, and self-service IT support inside Teams.

## What you can build

- **Automated user provisioning from Entra ID** — Read Users, Roles, and Licenses from Microsoft Entra ID via the Unified User Directory API to automatically provision and deprovision accounts in your product when customers' directories change.
- **One-click OneDrive and SharePoint file picker** — Let end users browse Drives and attach Drive-Items from their OneDrive or SharePoint document libraries directly into your app's workflows using the Unified File Storage API.
- **Teams channel notifications for key events** — Post rich Messages to a customer's Microsoft Teams Channels via the Unified Instant Messaging API whenever important events happen in your product — ticket updates, deal closures, deployment alerts.
- **Permission-aware enterprise search index** — Ingest Drive-Items and their Permissions alongside Knowledge Base Pages and Spaces to build a search experience that respects each user's Microsoft 365 access controls.
- **Cross-platform ticket sync with Microsoft 365 context** — Create and update Tickets via the Unified Ticketing API while enriching them with user profile data from the Unified User Directory API for smarter routing and prioritization.
- **SSO-powered app user mapping** — Use the Unified Single Sign-On API to map App Users and Apps to your product's internal accounts, streamlining onboarding for organizations that authenticate everything through Microsoft.

## FAQs

### How does authentication work for Microsoft 365 integrations through Truto?

Truto handles the full OAuth 2.0 flow with Microsoft Entra ID. Depending on the use case, your customers' end users can authenticate with delegated permissions (accessing only their own data) or a tenant admin can grant app-only permissions for organization-wide access. Truto manages token refresh and storage so you don't have to.

### Which Microsoft 365 services are covered by Truto's Unified APIs?

Truto maps Microsoft 365 data across multiple Unified APIs: User Directory (Entra ID users, roles, licenses), File Storage (OneDrive and SharePoint drives, files, permissions), Instant Messaging (Teams workspaces, channels, messages, members), Knowledge Base (SharePoint pages and sites), Ticketing, Single Sign-On, HRIS (employee data), and Search. The underlying data comes primarily from the Microsoft Graph API.

### How does Truto handle Microsoft Graph API rate limits and pagination?

Truto abstracts away Microsoft Graph's throttling and pagination. API responses are automatically paginated using cursor-based pagination, and Truto manages retry logic with exponential backoff when Graph returns 429 (Too Many Requests) responses, so your application doesn't need to implement this directly.

### Can I access both delegated (per-user) and app-only (tenant-wide) data?

Yes. Truto supports both permission models. Delegated access is ideal when your end user connects their own Microsoft 365 account to access their personal files or calendar. App-only access is used when a tenant admin grants your app broad permissions to sync the entire corporate directory, all SharePoint sites, or all Teams channels across the organization.

### What if I need a Microsoft 365 capability that isn't in the current Unified API resources?

Truto builds integration tooling on request. If you need access to Microsoft 365 data or actions — such as Outlook email, calendar events, or Planner tasks — that aren't yet mapped to a Unified API resource, Truto's team can add support. You can also use Truto's proxy mode to call any Microsoft Graph endpoint directly while still benefiting from Truto-managed auth.

### Does Truto support real-time change detection from Microsoft 365?

Microsoft Graph supports webhooks (change notifications) and delta queries for incremental data sync. Truto can leverage these mechanisms to keep your data fresh without full re-syncs, reducing API call volume and ensuring near-real-time updates for resources like users, drive items, and messages.

## Related reading

- [How to Integrate with the Microsoft Dynamics 365 CRM API (2026 Guide)](https://truto.one/blog/how-to-integrate-with-the-microsoft-dynamics-365-crm-api-2026-guide/) — A technical guide to integrating with the Dynamics 365 Dataverse Web API — covering Azure AD OAuth setup, OData quirks, Service Protection rate limits, and architectural shortcuts.
- [How to Architect a Microsoft Dynamics 365 Business Central API Integration](https://truto.one/blog/how-to-integrate-with-microsoft-dynamics-365-business-central-api/) — A technical guide to integrating the Microsoft Dynamics 365 Business Central API. Covers OAuth 2.0 via Azure AD, API Pages vs OData, rate limits, and when to build vs. buy.
- [Integrate Microsoft Dynamics 365 Business Central: Step-by-Step Guide](https://truto.one/blog/integrate-microsoft-dynamics-365-business-central/) — Learn how to integrate with Microsoft Dynamics 365 Business Central in this step-by-step guide. Improve your business efficiency with automation.
- [3 steps to integrate Microsoft Dynamics 365 Sales using Web API](https://truto.one/blog/integrate-microsoft-dynamics-365-sales/) — Follow along with screenshots as we reduce the time you spend on integrating Microsoft Dynamics 365 Sales to just a few minutes.
