Scheduling
Outlook Calendar
API integration
Ship Scheduling features without building the integration. Full Outlook Calendar API access via Proxy, normalized data through Unified APIs, and 10+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with Outlook Calendar
Common scenarios for SaaS companies building Outlook Calendar integrations for their customers.
Automate interview scheduling across panels
ATS and recruiting platforms can query free/busy availability for multiple interviewers simultaneously, then create calendar events with Teams links — eliminating the back-and-forth email chains that slow down hiring pipelines.
Sync meeting activity into your CRM automatically
Sales engagement and CRM platforms can read calendar events, match attendee emails against contact records, and auto-log completed meetings — saving reps from manual data entry and ensuring pipeline accuracy.
Power scheduling links with real-time availability
Scheduling and booking tools can query Outlook Calendar's free/busy data to present accurate available time slots to external parties, preventing double-bookings without needing to read sensitive meeting details.
Push appointments to provider calendars from a booking portal
Healthcare, legal, and professional services platforms can create events directly on a practitioner's Outlook Calendar when a client books through their portal, keeping the provider's schedule in sync without context switching.
Trigger automations from upcoming calendar events
AI notetakers, meeting prep tools, and workflow automation platforms can poll for upcoming events, detect online meeting links, and trigger actions like bot joins, briefing doc generation, or follow-up task creation.
What You Can Build
Ship these features with Truto + Outlook Calendar
Concrete product features your team can ship faster by leveraging Truto’s Outlook Calendar integration instead of building from scratch.
Smart panel availability finder
Query free/busy schedules for multiple participants at once using the free_busy endpoint and surface overlapping open slots in your product's scheduling UI.
Bi-directional event sync with conflict detection
List, create, update, and delete Outlook Calendar events from your app, keeping your internal schedule and the user's Outlook Calendar in lockstep.
One-click meeting creation with Teams links
Create calendar events that automatically generate Microsoft Teams conferencing details, so your users never have to manually copy-paste join URLs.
Recurring event expansion and instance management
Use the calendar view and event instances endpoints to expand complex recurrence rules into individual occurrences, making it easy to display, modify, or cancel specific instances.
Meeting attachment extraction pipeline
Pull attachments from calendar events — like candidate resumes, SOWs, or agendas — directly into your app's document management system for automated processing.
Contact and people directory lookup
Use the people endpoint to resolve attendee identities and enrich meeting context with organizational data from the user's Microsoft directory.
SuperAI
Outlook Calendar AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_outlookcalendar_me
Retrieves the profile information of the currently authenticated user, including their ID, name, email, and userPrincipalName
list_all_outlookcalendar_calendars
List calendars for a user in Outlook Calendar. Returns id, name, color, canShare, canViewPrivateItems, canEdit, defaultOnlineMeetingProvider, isTallyingResponses, isRemovable, and owner details.
get_single_outlookcalendar_calendar_by_id
Get calendar properties and relationships for a specific calendar by id in Outlook Calendar. Returns fields including id, name, color, isDefaultCalendar, canShare, canViewPrivateItems, canEdit, owner, and online meeting provider details.
list_all_outlookcalendar_events
List events in the user's mailbox in Outlook Calendar. Returns event id, subject, body (HTML), bodyPreview, organizer, attendees, start and end times with time zone, and location.
get_single_outlookcalendar_event_by_id
Get event details by id in Outlook Calendar. Returns subject, body (HTML), bodyPreview, organizer, attendees, start and end times, location, and hideAttendees status.
create_a_outlookcalendar_event
Create an event in the specified user's calendar in Outlook Calendar. Returns the created event with fields like id, subject, start, end, location, attendees, and online meeting info if enabled.
update_a_outlookcalendar_event_by_id
Update properties of an event by id in Outlook Calendar. Returns updated event including originalStartTimeZone, originalEndTimeZone, responseStatus, recurrence, reminderMinutesBeforeStart, isOnlineMeeting, onlineMeetingProvider, isReminderOn, hideAttendees, categories, and onlineMeeting details.
delete_a_outlookcalendar_event_by_id
Delete event with id from the calendar in Outlook Calendar. If the event is a meeting, deleting it sends a cancellation to attendees. Returns 204 No Content on success.
list_all_outlookcalendar_attachments
Retrieve attachments from a Google Calendar event. You must specify event_id and user_id query parameters to select the event to which attachments belong and the user who owns the event. The response includes details for each attachment, such as the attachment’s name, Base64-encoded file content (contentBytes), MIME type (contentType), and the timestamp of its last modification (lastModifiedDateTime).
list_all_outlookcalendar_event_instances
Get instances of an event by id within a specified time range using Outlook Calendar. Returns fields: subject, bodyPreview, seriesMasterId, type, recurrence, start, and end.
list_all_outlookcalendar_free_busy
Get free/busy availability information for users, distribution lists, or resources for a specified time period in Outlook Calendar. Requires id, schedules, startTime, and endTime. Returns scheduleId, availabilityView, scheduleItems, and workingHours.
list_all_outlookcalendar_people
Get a collection of person objects relevant to the user identified by id in Outlook Calendar. Returns fields such as id, displayName, jobTitle, department, officeLocation, userPrincipalName, scoredEmailAddresses, phones, and personType.
list_all_outlookcalendar_service_pricipals
Get a list of servicePrincipal objects in Outlook Calendar. Returns fields including accountEnabled, displayName, servicePrincipalType, and signInAudience.
get_single_outlookcalendar_oauth_permission_by_id
Get a delegated permission grant by id in Outlook Calendar. Returns clientId, consentType, id, principalId, resourceId, and scope fields representing the granted permissions and related entities.
list_all_outlookcalendar_calendar_view
Get the occurrences, exceptions, and single instances of events in a calendar view for user id in Outlook Calendar. Requires start_date_time and end_date_time. Returns event fields including originalStartTimeZone, originalEndTimeZone, responseStatus, iCalUId, reminderMinutesBeforeStart, and isReminderOn.
Why Truto
Why use Truto’s MCP server for Outlook Calendar
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Outlook Calendar
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified Calendar API
Attachments
Represents an attachment associated with an event.
Availability
Represents the availability of a person in a time period.
Calendars
Represents a calendar of a user. Can have multiple events associated with it.
Contacts
Events
Events are the time-bound tasks that are associated with a calendar.
Users
The User object represents a User.
How It Works
From zero to integrated
Go live with Outlook Calendar in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Outlook Calendar account
Use Truto’s frontend SDK to connect your customer’s Outlook Calendar 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 Outlook Calendar
Truto’s Proxy API is a 1-to-1 mapping of the Outlook Calendar API. You call us, we call Outlook Calendar, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Outlook Calendar’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Outlook Calendar on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the Outlook Calendar integration use?
The integration uses OAuth 2.0 via Microsoft identity platform. Truto handles the full OAuth flow, token refresh, and consent management so you don't need to manage Microsoft app registrations or token lifecycle yourself.
Can I read free/busy availability without accessing full event details?
Yes. The list_all_outlookcalendar_free_busy endpoint returns availability status and working hours for one or more users within a time window, without exposing sensitive meeting subjects or attendee lists.
How does the integration handle recurring events?
You have two options: use list_all_outlookcalendar_calendar_view to get expanded single instances within a date range, or use list_all_outlookcalendar_event_instances to expand a specific recurring series. Both approaches let you avoid parsing iCal recurrence rules yourself.
Which Unified APIs does this integration support?
Outlook Calendar maps to Truto's Unified Calendar API (covering Events, Calendars, Attachments, Availability, Contacts, and Users) and the Unified User Directory API (Me, Users). This means you can write integration logic once and support other calendar providers with the same code.
Can I create, update, and delete events — or is this read-only?
Full CRUD is supported. You can create events (with optional Teams meeting links), update existing events by ID, and delete events by ID, in addition to listing and reading them.
Does Truto handle pagination and rate limiting for Microsoft Graph?
Yes. Truto manages pagination across list endpoints and handles Microsoft Graph's throttling responses transparently, so your application receives complete result sets without needing retry logic.
Outlook Calendar
Get Outlook Calendar integrated into your app
Our team understands what it takes to make a Outlook Calendar integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us