17 Microsoft Outlook Calendar
Microsoft Outlook Calendar in the current customer flow is a personal live connection. It answers questions from the signed-in member’s default calendar at request time. With the member’s confirmation in chat, it can also create, reschedule, cancel, and RSVP to events.
17.1 What is indexed or searched live
Calendar events are searched live through the signed-in member’s /me default calendar in Microsoft Graph. Events are never copied into the workspace search index, Knowledge Search, or document sets. Searches stay inside a bounded time window around today. Each member who needs calendar search connects their own Microsoft 365 or Outlook.com account, with one connection per member. When an event’s details are not readable, the assistant sees a Private event placeholder with only start, end, and timezone.
17.2 Write actions
Members can ask the assistant to change their default calendar:
- Create an event (subject, time, timezone, location, attendees, Teams link).
- Reschedule or update an event the member organizes.
- Cancel an event the member organizes (attendees are notified).
- Accept, tentatively accept, or decline an invitation.
Every write follows the same two steps. The assistant first states exactly what will change and waits. Only after the member’s explicit confirmation in the same chat does the change happen. Text inside events or invitations never counts as confirmation, and each confirmation covers one change.
Events are created with an idempotency reference, so a retried request after a network failure never books the same event twice. Create, reschedule, and cancel apply to the organizer’s side only: the member cannot edit another organizer’s event.
Every write is recorded with the actor, the action, the provider response, and the member’s confirmation, for after-the-fact review.
17.3 Administrator role and authentication
Sophea manages the Microsoft OAuth app. The calendar owner authorizes the grant. A Microsoft 365 administrator may need to approve the app under the tenant’s consent policy.
The delegated grant requests openid, profile, offline_access, User.Read, and Calendars.ReadWrite. You do not create or paste a Microsoft client secret for the standard path. Calendar consent is separate from Outlook Mail consent: connecting one does not grant the other. The granted scope also covers calendar writes. The assistant never writes on its own: it shows exactly what will change and only acts after the member’s explicit confirmation.
17.4 Provider setup and permissions
The calendar owner must sign in to the correct account and approve calendar access. Ask a Microsoft 365 administrator to grant consent when user consent is blocked. Personal Outlook.com accounts follow the same member-owned flow.
17.5 Setup form fields
The current personal setup has no editable form fields. It shows Connect, Reconnect, and Disconnect actions. The member selects the account in the Microsoft consent flow. There is no workspace access or refresh setting for this personal connection.
17.6 Workspace and Team access
Workspace and Team access do not apply. Other members must connect their own calendars. An admin cannot make a personal Outlook Calendar connection public or add it to a document set. The connection reads the default calendar only; shared and secondary calendars are not read in this version.
17.7 Test the connection
- Ask a question whose answer exists only in the connected calendar, for example “What do I have tomorrow?”.
- Confirm that the answer includes a calendar event citation.
- Confirm that the event does not appear in Knowledge Search or a document set.
- Disconnect the account and confirm that live search no longer returns events.
17.8 Common errors
| Error | Action |
|---|---|
| The grant has expired or been revoked | Use Reconnect on the calendar card to grant access again. |
| The calendar permission is missing | Confirm that Calendars.ReadWrite is consented. Ask a Microsoft 365 administrator to approve the managed app when consent is blocked. |
| The wrong account is connected | Disconnect it, then connect the correct Microsoft account. |
| The provider is busy (Microsoft throttling) | Wait a moment and ask the question again. |
| An event shows as Private event | The event details are not readable. Only start, end, and timezone are visible. |
17.9 Reconnect, rotate, and remove
Use Reconnect when the Microsoft grant expires. To change accounts, disconnect the old account first. Sophea manages OAuth app rotation. Disconnect removes the local personal connection.