Default
Microsoft 365
API integration
Ship Default features without building the integration. Full Microsoft 365 API access via Proxy, normalized data through Unified APIs — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Microsoft 365
Common scenarios for SaaS companies building Microsoft 365 integrations for their customers.
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
Ship these features with Truto + Microsoft 365
Concrete product features your team can ship faster by leveraging Truto’s Microsoft 365 integration instead of building from scratch.
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.
Unified APIs
Unified APIs for Microsoft 365
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified HRIS API
Employees
Represents an employee in HRIS
Unified Knowledge Base API
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
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
From zero to integrated
Go live with Microsoft 365 in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Microsoft 365 account
Use Truto’s frontend SDK to connect your customer’s Microsoft 365 account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Microsoft 365
Truto’s Proxy API is a 1-to-1 mapping of the Microsoft 365 API. You call us, we call Microsoft 365, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Microsoft 365’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Microsoft 365 on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
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.
From the Blog
Microsoft 365 integration guides
Deep dives, architecture guides, and practical tutorials for building Microsoft 365 integrations.
Microsoft 365
Get Microsoft 365 integrated into your app
Our team understands what it takes to make a Microsoft 365 integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us