Skip to main content

Overview

The Outlook integration lets users connect their Outlook or Microsoft 365 mailbox so Alysio can read and manage their email, calendar, and tasks on their behalf. Users can ask Alysio to search emails, open message details, move messages to Deleted Items, list or create calendar events, move events, list attendees, and create, list, update, or view tasks—all in natural language. The integration uses the user’s connected Microsoft account and respects their mailbox and calendar; times are returned in the user’s timezone when the timezone tool is used. Supported capabilities / objects
  • User profile and timezone — Get the current user’s profile (id, displayName, mail, etc.) and mailbox timezone for displaying times correctly.
  • Mail — List folders; search messages (by query, sender, folder, date range, read status); get message details; trash (move to Deleted Items) a message.
  • Calendar — Create events; list events in a time range (with optional subject/attendee filters); get event details; move (reschedule) an event; list attendees for an event.
  • Tasks — Create tasks; list tasks (with filters); get task details; update a task (title, status, due date, etc.).

Authentication

Method: OAuth 2.0 (Microsoft/Azure AD). The MCP sends requests using a Bearer token and a credential ID that identifies the user’s connected Microsoft account. Microsoft Graph API is used for mail, calendar, and tasks. Redirect URI: Configured when the Outlook integration is set up in Alysio. The Azure AD app must allow this redirect URI. Token handling
  • OAuth tokens for the connected Microsoft account are stored securely and refreshed automatically.
  • Each user/tenant has their own credential; the MCP sends the appropriate credential ID with each request so calls are isolated per connection.
  • On disconnect, that credential is no longer used and Outlook tools will not be available for that user until they reconnect Outlook.
Required scopes
  • Calendars.ReadWrite
  • Mail.Read
  • Mail.ReadWrite
  • Tasks.ReadWrite
  • User.Read
Connection required: Users must connect Outlook in Alysio before Outlook tools work. If the connection is missing or expired, they may need to re-authorize in Settings → Integrations.
Timezone and deletions: Use get_user_outlook_timezone when the user needs times in their timezone (e.g. for calendar and task responses). Delete calendar event and delete task are not exposed in the current tool set.

MCP Tools

The Outlook MCP exposes the following tools. Users can invoke these capabilities through natural language in Alysio.
ToolDescriptionExample user prompts
get_outlook_user_profileReturns the current user’s Outlook profile (id, displayName, mail, userPrincipalName, etc.).”What’s my Outlook profile?”, “Which account is connected?”
get_user_outlook_timezoneReturns the user’s mailbox timezone for displaying times correctly.”What’s my timezone?”, “Use my timezone for calendar times.”
outlook_get_list_of_foldersReturns the list of mail folders (id, displayName, parentFolderId).”List my Outlook folders”, “What folders do I have?”
outlook_search_mail_messagesSearches mail by query, sender, folder, date range, read status, with pagination.”Find emails from boss@company.com”, “Search for emails about the proposal.”
outlook_get_mail_message_detailsReturns full details of a message by ID (and optional folder).”Open this email”, “Show me the full message.”
outlook_trash_mail_messageMoves a message to Deleted Items by message ID (and optional folder).”Delete this email”, “Move this message to trash.”
outlook_create_calendar_eventCreates a new calendar event with subject, start/end, attendees, location, body.”Schedule a meeting tomorrow at 2pm”, “Create an event with Sarah and John.”
outlook_list_calendar_eventsLists calendar events between start and end datetime, with optional subject/attendee filters.”What’s on my calendar this week?”, “List meetings with client@example.com.”
outlook_get_calendar_event_detailsReturns details of a single event by event ID.”Show me this meeting”, “Get details for event 123.”
outlook_move_calendar_eventMoves/reschedules an event (new subject, start, end) by event ID.”Move this meeting to 3pm”, “Reschedule the Q2 review to Friday.”
outlook_list_calendar_attendeesReturns the list of attendees for a specific event by event ID.”Who’s in this meeting?”, “List attendees for this event.”
outlook_create_taskCreates a new task (title, due date, importance, status, body, etc.) in the default task list.”Add a task: Submit report by Friday”, “Create a high-priority follow-up task.”
outlook_list_tasksLists tasks with optional filters (title, status, importance, due date) and pagination.”What tasks do I have?”, “List my incomplete tasks.”
outlook_get_task_detailsReturns full details of a task by task ID.”Show me this task”, “Get details for task 456.”
outlook_update_taskUpdates a task (title, status, due date, importance, body, etc.) by task ID.”Mark this task complete”, “Change the due date to next Monday.”

App Behavior

  • API calls are made on-demand only when the user asks something that requires Outlook data or an action (e.g. search mail, get details, trash message, list/create/move calendar events, list/create/update tasks). There is no background sync; each request triggers the relevant Microsoft Graph API call using the user’s OAuth credential.
Example flow
  1. User asks: “What’s on my calendar today?”
  2. Alysio routes the request to the Outlook MCP.
  3. The MCP may call get_user_outlook_timezone to format times, then outlook_list_calendar_events with today’s start and end in the user’s timezone.
  4. The request is sent to Microsoft Graph using the user’s stored OAuth credential.
  5. The MCP returns the event list; Alysio presents the answer in chat (e.g. in the user’s timezone).

Troubleshooting

Common issues
  • Missing or expired connection — User sees errors or no Outlook data. Fix: Reconnect Outlook in Settings → Integrations (re-authorize with Microsoft).
  • 401 Unauthorized — Token invalid or revoked. Fix: Re-authorize the integration in Settings → Integrations.
  • 403 Forbidden — Often due to insufficient OAuth scopes. Fix: Ensure the Outlook integration has the required scopes (Mail.Read, Mail.ReadWrite, Calendars.ReadWrite, Tasks.ReadWrite, User.Read).
  • Wrong timezone in responsesFix: Use get_user_outlook_timezone and pass the user’s timezone when formatting calendar and task times.
  • No task list found — Tasks are created in the default To Do list. Fix: Ensure the Microsoft account has a default task list; the MCP resolves it automatically from Graph.
  • Message or event not found — Wrong folder ID or event ID, or message was moved. Fix: Use outlook_get_list_of_folders to get folder IDs; search again to get current message/event IDs.
Support