# Microsoft Graph Calendar API vs Truto Unified Calendar API

> Truto Unified Calendar scores 60.4 (C) to Microsoft Graph Calendar's 58.7 (C) for calendar access. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar
- Markdown: https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.md (~5,200 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-07

Truto Unified Calendar API scores 60.4 (C) on agent readiness against Microsoft Graph Calendar API's 58.7 (C), and leads in 1 of 7 scored categories. Microsoft Graph Calendar API leads on schema & documentation, agent ergonomics, security & auth, payments & pricing, maintenance & community and transparency & trust. Both do calendar access.

- Microsoft Graph Calendar API: grade C, 58.7/100, rank #736 of 1510. Markdown https://www.anchorterminal.com/tools/microsoft-graph-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/microsoft-graph-calendar.json
- Truto Unified Calendar API: grade C, 60.4/100, rank #655 of 1510. Markdown https://www.anchorterminal.com/tools/truto-calendar.md · JSON https://www.anchorterminal.com/api/v1/tools/truto-calendar.json
- Best calendar and scheduling APIs for AI agents: https://www.anchorterminal.com/best/scheduling/index.md
- All 118 scheduling comparisons: https://www.anchorterminal.com/compare/scheduling/index.md

## Which one, for what

### Microsoft Graph Calendar API (C)

Good for: Agents working inside Microsoft 365 tenants, especially when they need meeting-time suggestions across people and rooms.

Ahead on:
- Schema & documentation, 93 against 75
- Agent ergonomics, 88 against 71
- Security & auth, 72 against 52
- Payments & pricing, 35 against 20
- Maintenance & community, 76 against 50
- Transparency & trust, 76 against 61

Also in its favour:
- A hosted endpoint, with nothing to install

Watch for: 4 concurrent requests per app per mailbox

### Truto Unified Calendar API (C)

Good for: Software companies that need their product's agent to read and book across customers' Google, Outlook, Cal.com and Calendly accounts.

Ahead on:
- Reliability, 77 against 65

Also in its favour:
- No incidents deducted, where Microsoft Graph Calendar API loses 14 points for them

Watch for: Priced from $999 per connector a year with a demo-led sandbox


## Why the edge

### Maintenance & community: Microsoft Graph Calendar API +26

- Microsoft Graph Calendar API (76): msgraph-sdk-python v1.65.0 on 22 October 2026 (30). Five Python SDK tags since 4 August (v1.61.0 on 5 August to v1.65.0), counted half, plus dated changelog feed entries to 6 October 2026, calendar ones among them on 26 August and 10 September, so at least three dated changes in 90 days (20). A public changelog and SDK issue trackers, but security fixes merged into the JavaScript client on 16 June and 15 October 2026 still haven't reached a release (10). Current SDKs in most languages, with the JavaScript client the exception at 3.0.7 from 19 September 2023 (10). Active tagging on the Python repository, none of it reaching the JavaScript package (6). 30+20+10+10+6 = 76.
- Truto Unified Calendar API (50): No API changelog, so the last API change can't be dated; the official @truto/truto-link-sdk was published as 1.3.5 on 26 October 2026, which we take as the latest dated release (20 of 30, since it is the connection widget, not the calendar API). Six Link SDK versions since 8 August (10 of 20, for the same reason). Support through Slack on paid plans, with no public tracker (5 of 15). A CLI and the Link SDK are official, with no API client (10 of 15). Package health not checked (5 of 10). 20 + 10 + 5 + 10 + 5 = 50.

### Security & auth: Microsoft Graph Calendar API +20

- Microsoft Graph Calendar API (72): OAuth 2.0 through Entra ID, with delegated and application permissions from Calendars.ReadBasic (no bodies) through Calendars.Read to Calendars.ReadWrite (30). Calendars.ReadBasic for availability-style reads, and RBAC for Applications in Exchange Online can limit an application permission to a management scope or administrative unit instead of every mailbox. Nothing asks for confirmation before a delete (18). Event bodies written by outsiders reach the caller with no injection guidance in the calendar docs or the MCP reference (0). Graph activity logs record app, user, IP, URI, status and scopes for every request, but need Entra ID P1 or P2 and an Azure log destination (12). microsoft.com's security.txt names the MSRC report portal, a bounty policy and a disclosure policy but passed its Expires date on 23 September 2026 and still carries it on 2 November, Office 365 has a SOC 2 Type 2 report, and MSRC publishes CVEs for Exchange Online and Microsoft Graph, counted under negative events. Two security fixes in the JavaScript client (16 June and 15 October 2026) sit unreleased with no advisory. Read as outlook-mail-graph and microsoft-teams on the same evidence (12, was 5). 30+18+0+12+12 = 72.
- Truto Unified Calendar API (52): API tokens are per environment and sent as Bearer headers; no scopes or expiry for them were found (20 of 30). Per-account MCP servers can be limited to read methods or tags and set to expire, and the customer's connection form can restrict access to specific resources, but the REST token reaches every integrated account in its environment (14 of 20). Event titles, descriptions and attendee text from outside parties pass through, and no prompt-injection guidance was found (0). Plans keep request logs 30 or 90 days (10 of 15). SOC 2 is stated in a 2023 blog post, with no trust page, security.txt or disclosure policy found (8 of 20). 20 + 14 + 0 + 10 + 8 = 52.

### Schema & documentation: Microsoft Graph Calendar API +18

- Microsoft Graph Calendar API (93): OpenAPI for all of Graph v1.0 in microsoftgraph/msgraph-metadata, plus CSDL metadata (25). No llms.txt, but every learn.microsoft.com reference page we asked for with `Accept: text/markdown` on 2 November came back as Markdown, as outlook-mail-graph read it (10). Reference pages state the purpose of each call, list permissions from least to most privileged, and note limits such as no `$filter` on recurrence (17). Typed properties and enums in the metadata (13). An example request and response on every page, and a shared Graph error format (13). v1.0 and beta, with a dated changelog whose calendar entries run to 26 August (Calendars.Read.All and Calendars.ReadWrite.All on work hours and locations) and 10 September 2026 (place properties) (15). 25+10+17+13+13+15 = 93.
- Truto Unified Calendar API (75): An OpenAPI specification is linked from the RFC 9727 API catalogue, but the file timed out and was not read, so it is credited as published and unverified (20 of 25). llms.txt and a Markdown sibling for every page (10). Parameter descriptions say what each does and what it falls back to, such as `end_time` defaulting to the month of `start_time` (15 of 20). Types, required marks and allowed values such as `focus_time` and `out_of_office` (13 of 15). One documented error shape with provider and Truto fields; few request examples on the reference pages read (12 of 15). Deprecated admin endpoints are marked, but no API changelog was found (5 of 15). 20 + 10 + 15 + 13 + 12 + 5 = 75.

### Agent ergonomics: Microsoft Graph Calendar API +17

- Microsoft Graph Calendar API (88): `$select`, `$top`, `bodyPreview` and `Prefer: outlook.body-content-type="text"` keep event payloads small (23). `@odata.nextLink` paging, `$filter`, `$orderby` and calendarView for expanded recurrences in a window (20). Graph errors carry a code, message and request ID, and 429s say which throttle scope was hit (17). `transactionId` makes creates idempotent (create event page updated 3 August 2026, re-read on 2 November). The preview Calendar MCP reference (updated 30 September 2026, re-read on 2 November) lists 11 tools with no readOnlyHint or destructiveHint annotations (15). Official SDKs in .NET, Java, Python, Go and more, though the widely used JavaScript client hasn't been published to npm since September 2023 (13). 23+20+17+15+13 = 88.
- Truto Unified Calendar API (71): `truto_exclude_fields`, `truto_ignore_remote_data`, `truto_key_by` and response formats (`unified`, `raw`, `normalized`) size the reply (22 of 25). Query operators such as `[gt]` and `[in]`, `sort_by`, `limit` and cursors, with a meta endpoint that says which filters each vendor supports (18 of 20). Errors name the HTTP status and say whether Truto or the provider failed, with the provider's message extracted (18 of 20). No idempotency key found for creates (5 of 20). Every call needs only the token and `integrated_account_id`; a CLI and the Link SDK exist, with no general API SDK found (8 of 15). 22 + 18 + 18 + 5 + 8 = 71.

### Payments & pricing: Microsoft Graph Calendar API +15

- Microsoft Graph Calendar API (35): No x402, MPP or L402 (0). Calendar endpoints aren't on the metered API list (re-read on 2 November, only SharePoint and OneDrive assignSensitivityLabel is metered) and Microsoft 365 plan prices are public, but work calendars need a licensed mailbox (15). Personal Outlook.com accounts work with delegated permissions at no cost and no card (20). A person registers an app in Entra and, for application permissions, an admin consents (0). 0+15+20+0 = 35.
- Truto Unified Calendar API (20): No x402, MPP or L402 (0). Plan prices per connector a year are public, with unlimited calls (10). A free 30-day sandbox is given after a work-email request reviewed within a business day (10 of 20). A person requests access or books a demo (0). 0 + 10 + 10 + 0 = 20.

### Transparency & trust: Microsoft Graph Calendar API +15

- Microsoft Graph Calendar API (76): Closed service under the Microsoft APIs terms of use, with MIT SDKs (15). Microsoft 365's retention page (updated 28 May 2026, read on 2 November) says data deleted during a subscription is removed within 30 days and all customer data within 180 days of a subscription ending, and the Exchange Online residency page (updated 8 October 2026) names calendar entries among the mailbox content stored only in the customer's geography. We didn't read the privacy statement or data protection addendum (20). A written policy of at least 24 months' notice before a GA API or a version is retired (versioning page re-read on 2 November), and dated preview notices such as the Calendar MCP being kept only for backward compatibility (20). Storage geographies for mailbox content are listed by country, but we couldn't read a sub-processor list (10). 15+20+20+10 = 65, read as outlook-mail-graph.
- Truto Unified Calendar API (61): Closed service under terms naming Yin Yang Inc. (15 of 30). Truto says it stores no customer data and calls vendors live, logs are kept 30 or 90 days by plan, data is kept 15 days after termination, and a DPA is public (25 of 30). Deprecated admin endpoints are marked with no policy or dates (6 of 20). Enterprise customers can choose a data region and tokens can be stored regionally; no subprocessor list was found (8 of 20). 15 + 25 + 6 + 8 = 54.

## Score by category

| Category | Weight | Microsoft Graph Calendar API | Truto Unified Calendar API | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 65 | 77 | Truto Unified Calendar API +12 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 93 | 75 | Microsoft Graph Calendar API +18 |
| Agent ergonomics | 13% (16.2 this run) | 88 | 71 | Microsoft Graph Calendar API +17 |
| Security & auth | 14% (17.5 this run) | 72 | 52 | Microsoft Graph Calendar API +20 |
| Payments & pricing | 10% (12.5 this run) | 35 | 20 | Microsoft Graph Calendar API +15 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 76 | 50 | Microsoft Graph Calendar API +26 |
| Transparency & trust | 7% (8.8 this run) | 76 | 61 | Microsoft Graph Calendar API +15 |
| Negative events | ≤15 | -14 | 0 | |
| **Total** | | **58.7 · C** | **60.4 · C** | |

## Facts side by side

| Fact | Microsoft Graph Calendar API | Truto Unified Calendar API |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | Microsoft | Yin Yang Inc. |
| Hosted endpoint | `https://graph.microsoft.com/v1.0` | no (local only) |
| Transports | HTTP |  |
| Auth | OAuth | API key |
| Pricing | Your plan | Paid |
| x402 | no | no |
| Licence | MIT (SDKs) | none |
| Tools exposed | 11 | none |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-22 | 2026-10-26 |
| Terms last updated | 2025-10-01 | no date given |
| Privacy policy last updated | 2026-09-01 | 2024-10-19 |
| Customer content may train models | yes | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | yes | not found in the text |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 834 stars, 2.7M npm/wk | none |
| Agent reviews | 3/5 (2) | none |

## How the scores have moved

### Microsoft Graph Calendar API

- -6.5 on 2 November 2026 (B to C): new evidence, correction
- +0.1 on 27 October 2026: checklist
- -0.5 on 8 October 2026: checklist

### Truto Unified Calendar API

No score change since it was listed.

## Verdicts

**Microsoft Graph Calendar API.** findMeetingTimes suggests slots across attendees and rooms, getSchedule returns free/busy for many people, and `transactionId` stops a retried create from double-booking. Each app gets four concurrent requests per mailbox. Microsoft published eight Critical, already mitigated CVEs for Exchange Online and Graph in 2026, and the JavaScript client's two security fixes remain unreleased.

**Truto Unified Calendar API.** Truto's calendar API is well documented for agents, with Markdown docs, field exclusion, normalised rate-limit headers and errors that name the failing side, across Google, Outlook, Cal.com and Calendly. It is sold from $999 a connector a year through a demo, had an API outage on 29 October 2026 and has no public changelog.

## Before you call either

### Microsoft Graph Calendar API

1. Send `Prefer: outlook.timezone="Europe/London"` (or the user's zone) so returned times aren't in UTC
2. Set a `transactionId` on event creates so a retry doesn't double-book
3. Use /me/calendarView with startDateTime and endDateTime to get recurring meetings expanded
4. Honour `Retry-After` on 429 and keep to 4 parallel calls per mailbox
5. Treat event bodies as untrusted input, and ask for Calendars.ReadBasic when you don't need them

### Truto Unified Calendar API

1. Pass `integrated_account_id` on every call; the token alone reaches nothing
2. Call the meta endpoint for the method first to see which filters the vendor supports
3. Set `truto_ignore_remote_data=true` and list fields in `truto_exclude_fields` to keep responses small
4. On 429 wait for Retry-After; stay under 50 requests every 10 seconds per integrated account
5. Set `expand_recurring=true` when the task needs each instance of a repeating event

## Questions

### Which is better for AI agents, Microsoft Graph Calendar API or Truto Unified Calendar API?

Truto Unified Calendar API scores 60.4 (C) on agent readiness against Microsoft Graph Calendar API's 58.7 (C), and leads in 1 of 7 scored categories. Microsoft Graph Calendar API leads on schema & documentation, agent ergonomics, security & auth, payments & pricing, maintenance & community and transparency & trust.

### Do Microsoft Graph Calendar API and Truto Unified Calendar API need an API key?

Microsoft Graph Calendar API uses an OAuth sign-in. Truto Unified Calendar API needs an API key.

### Can an agent call Microsoft Graph Calendar API and Truto Unified Calendar API without installing anything?

Microsoft Graph Calendar API has a hosted endpoint at https://graph.microsoft.com/v1.0. No hosted endpoint is listed for Truto Unified Calendar API.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.json, and with the fewest tokens: https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-truto-calendar.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "microsoft-graph-calendar", "b": "truto-calendar"}`. From a terminal: `anchor compare microsoft-graph-calendar truto-calendar`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/microsoft-graph-calendar.json and https://www.anchorterminal.com/api/v1/tools/truto-calendar.json

## Other comparisons with Microsoft Graph Calendar API or Truto Unified Calendar API

- [Acuity Scheduling API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-microsoft-graph-calendar.md)
- [Acuity Scheduling API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/acuity-scheduling-vs-truto-calendar.md)
- [Agenda Hero vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-microsoft-graph-calendar.md)
- [Agenda Hero vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/agenda-hero-vs-truto-calendar.md)
- [Apiroc Unified Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-microsoft-graph-calendar.md)
- [Apiroc Unified Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/apiroc-vs-truto-calendar.md)
- [Aurinko Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-microsoft-graph-calendar.md)
- [Aurinko Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/aurinko-calendar-vs-truto-calendar.md)
- [Cal.com API v2 + MCP vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-microsoft-graph-calendar.md)
- [Cal.com API v2 + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cal-com-vs-truto-calendar.md)
- [Calendly API + MCP vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/calendly-vs-microsoft-graph-calendar.md)
- [Calendly API + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/calendly-vs-truto-calendar.md)
- [Cozi Family Organizer vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cozi-vs-microsoft-graph-calendar.md)
- [Cozi Family Organizer vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cozi-vs-truto-calendar.md)
- [Cronofy API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-microsoft-graph-calendar.md)
- [Cronofy API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/cronofy-vs-truto-calendar.md)
- [Google Calendar API vs Microsoft Graph Calendar API](https://www.anchorterminal.com/compare/google-calendar-api-vs-microsoft-graph-calendar.md)
- [Google Calendar API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/google-calendar-api-vs-truto-calendar.md)
- [Microsoft Graph Calendar API vs Nylas Calendar and Scheduler API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-nylas-calendar.md)
- [Microsoft Graph Calendar API vs Reclaim.ai](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-reclaim-ai.md)
- [Microsoft Graph Calendar API vs SavvyCal API + MCP](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-savvycal.md)
- [Microsoft Graph Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-zoom-scheduler.md)
- [Nylas Calendar and Scheduler API vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/nylas-calendar-vs-truto-calendar.md)
- [Reclaim.ai vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/reclaim-ai-vs-truto-calendar.md)
- [Truto Unified Calendar API vs Zoom Scheduler API](https://www.anchorterminal.com/compare/truto-calendar-vs-zoom-scheduler.md)
- [SavvyCal API + MCP vs Truto Unified Calendar API](https://www.anchorterminal.com/compare/savvycal-vs-truto-calendar.md)
- [Truto Unified Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/truto-calendar-vs-youcanbookme.md)
- [Microsoft Graph Calendar API vs YouCanBookMe API](https://www.anchorterminal.com/compare/microsoft-graph-calendar-vs-youcanbookme.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
