Outlook Calendar integration
In short
Read and create events, and find free meeting times. Connect it on the Integrations page; your app then calls Outlook Calendar through Sapilon without ever holding a Microsoft credential.
Lets your app read the connected account’s Microsoft 365 or Outlook.com calendars, create, update and cancel events, and find times when attendees are free.
Connecting
On the Integrations page choose Connect on Outlook Calendar, sign in to Microsoft and allow access. Under Advanced you can use your own Microsoft OAuth app instead of Sapilon’s.
- Many Microsoft 365 organisations only let an admin approve new apps: if you see “Need admin approval”, ask your Microsoft 365 admin to consent once for the whole organisation.
- Sapilon’s Microsoft app is being registered. Until it is, Advanced → Bring your own OAuth app (an Entra app registration) connects today.
What your app can do
Only these requests are available; anything else is refused.
GET /me/calendarsGET|POST /me/eventsGET|PATCH|DELETE /me/events/*GET /me/calendarViewPOST /me/findMeetingTimes
How the agent uses it
Use integrations.request('outlook-calendar', …); paths are relative to https://graph.microsoft.com/v1.0.
GET /me/calendars.GET /me/calendarView— events in a window, recurring ones expanded. Example:{ method: 'GET', path: '/me/calendarView', query: { startDateTime: '2026-10-20T00:00:00Z', endDateTime: '2026-10-27T00:00:00Z' } }.GET|POST /me/events— Example:{ method: 'POST', path: '/me/events', body: { subject: 'Intro call', start: { dateTime: '2026-10-21T10:00:00', timeZone: 'Europe/Amsterdam' }, end: { dateTime: '2026-10-21T10:30:00', timeZone: 'Europe/Amsterdam' }, attendees: [{ emailAddress: { address: 'sara@acme.com' }, type: 'required' }], isOnlineMeeting: true } }.GET|PATCH|DELETE /me/events/{id}— read, move or cancel (attendees are told).POST /me/findMeetingTimes—body: { attendees: [...], timeConstraint: {...}, meetingDuration: 'PT30M' }.
Send headers: { Prefer: 'outlook.timezone="Europe/Amsterdam"' } to get times in a zone.
More from Microsoft: https://learn.microsoft.com/graph/api/resources/calendar