For Agents
Read, create, and update calendar events for Microsoft 365 users, list available calendars, and check attendee availability with getSchedule.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Outlook Calendar, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Outlook Calendar API.
List the calendars and calendar groups owned by a Microsoft 365 user
Create a meeting with attendees, start time, and online Teams link on a user's calendar
Retrieve a calendar view filtered by a start and end date range
Look up free and busy time blocks for multiple attendees with getSchedule
GET STARTED
Use for: I need to schedule a 30-minute meeting with three attendees next Tuesday, Find all calendar events for a user between two dates, Check whether a colleague is free at 2pm tomorrow, List every calendar that belongs to the signed-in user
Not supported: Does not handle email sending, contacts management, Teams chat, or task lists — use for Outlook calendar reads and writes only.
The Microsoft Graph Outlook Calendar API exposes the calendar resources of a Microsoft 365 mailbox through the unified Microsoft Graph endpoint, letting applications read and write calendars, events, recurring meetings, and free/busy data for users and groups. It supports operations across the default calendar, secondary calendars, and calendar groups, and includes the getSchedule action for finding availability across multiple attendees. Authentication uses Azure AD OAuth 2.0 with delegated or application permissions such as Calendars.Read and Calendars.ReadWrite.
Update or cancel an existing event by its identifier
Manage events on a specific named calendar via /me/calendars/{calendarId}/events
Patterns agents use Outlook Calendar API for, with concrete tasks.
★ Automated Meeting Scheduling for Sales Reps
Sales operations teams use the Outlook Calendar API to programmatically place discovery calls on a rep's calendar after a lead books through a web form. The integration creates the event, attaches a Teams link, and invites the prospect. Building this directly against Microsoft Graph typically takes a developer two to four days because of OAuth consent flow, refresh tokens, and timezone handling.
Create an event on the default calendar titled 'Discovery Call' for tomorrow at 14:00 UTC for 30 minutes with attendee prospect@example.com and an online Teams meeting
Cross-Team Availability Lookup
Project managers building scheduling assistants use the getSchedule action to check free and busy windows across multiple Microsoft 365 mailboxes in a single call, avoiding the overhead of polling each calendar individually. The response returns availability windows for each attendee inside a chosen time range with configurable interval granularity.
Call getSchedule for five attendees over the next three business days at 30-minute intervals and return the first common free slot
Calendar Sync into a Custom Application
Productivity tools that surface work calendars inside their own UI use the calendarView endpoint to pull a windowed list of events including expanded recurrences, then refresh on a schedule or via change notifications. The endpoint accepts startDateTime and endDateTime query parameters and returns occurrences as discrete events.
Fetch all events from /me/calendar/calendarView for the next 14 days and store them in a local database
Agent-Driven Calendar Assistant via Jentic
An AI assistant uses Jentic to discover the Outlook Calendar operations matching a user's intent, load the schema, and execute the call without the agent author writing Microsoft Graph plumbing code. Credentials stay in the Jentic vault so the agent never holds the user's access token.
Search Jentic for 'create a calendar event in outlook', load the schema, and execute it with the user's natural-language meeting request
14 endpoints — the microsoft graph outlook calendar api exposes the calendar resources of a microsoft 365 mailbox through the unified microsoft graph endpoint, letting applications read and write calendars, events, recurring meetings, and free/busy data for users and groups.
METHOD
PATH
DESCRIPTION
/me/calendars
List the user's calendars
/me/calendar/events
List events on the default calendar
/me/calendar/events
Create an event on the default calendar
/me/calendars/{calendarId}/events
Create an event on a specific calendar
/me/calendar/calendarView
Get a windowed view of event occurrences
/me/calendar/getSchedule
Look up free/busy availability for attendees
/me/calendars
List the user's calendars
/me/calendar/events
List events on the default calendar
/me/calendar/events
Create an event on the default calendar
/me/calendars/{calendarId}/events
Create an event on a specific calendar
/me/calendar/calendarView
Get a windowed view of event occurrences
Three things that make agents converge on Jentic-routed access.
Credential isolation
Microsoft 365 OAuth 2.0 tokens are stored encrypted in the Jentic vault (MAXsystem) and refreshed transparently. Agents receive a scoped, short-lived access token at execution time and never see the user's refresh token or client secret.
Intent-based discovery
Agents search Jentic by intent (e.g., 'schedule a meeting in outlook') and Jentic returns the matching Microsoft Graph calendar operation with its JSON schema, so the agent can call the right path without browsing Microsoft Learn.
Time to first call
Direct Microsoft Graph integration: 2-4 days for Azure AD app registration, OAuth flow, token refresh, and timezone handling. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Outlook Calendar API through Jentic.
What authentication does the Outlook Calendar API use?
The API accepts Azure AD OAuth 2.0 access tokens or HTTP bearer tokens via the standard Microsoft Graph authentication flow. Scopes such as Calendars.Read or Calendars.ReadWrite must be granted at consent time. Through Jentic the user's tokens are stored encrypted in the Jentic vault and the agent only receives a scoped, short-lived credential to call the API.
Can I create recurring events through the Outlook Calendar API?
Yes. POST to /me/calendar/events or /me/calendars/{calendarId}/events with a recurrence pattern (daily, weekly, monthly) and range, and the calendar will materialise occurrences. To read the expanded series back, query /me/calendar/calendarView with startDateTime and endDateTime instead of /events, because /events returns the master series only.
What are the rate limits for the Outlook Calendar API?
Microsoft Graph applies per-app, per-tenant, and per-mailbox throttling for Outlook resources. The current published guidance is 10,000 requests per 10 minutes per app per mailbox for outlook services. When throttled the API returns HTTP 429 with a Retry-After header, which Jentic surfaces to the agent so it can back off and retry.
How do I check whether several people are free for a meeting through Jentic?
Search Jentic for 'check outlook calendar availability', load the operation that maps to /me/calendar/getSchedule, and execute it with the list of attendee email addresses, a start and end window, and an interval in minutes. The response returns availabilityView strings for each attendee that you can intersect to find common free time.
Does this API let me access another user's calendar?
Yes, by replacing /me with /users/{id|userPrincipalName} in the path, provided the calling app has been granted application permissions or delegated access to that mailbox. Shared calendars accessed via delegation appear under the owning user's /calendars collection once the share is accepted.
How is Outlook Calendar typically used by AI agents through Jentic?
Agents use Jentic to discover the right operation by intent (for example 'schedule a meeting'), load the JSON schema, and execute the call with structured parameters. Common flows include creating events on /me/calendar/events, reading a date range from /me/calendar/calendarView, and cancelling by id. Get started at https://app.jentic.com/sign-up.
/me/calendar/getSchedule
Look up free/busy availability for attendees