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.
Calendars.ReadWriteMail.ReadMail.ReadWriteTasks.ReadWriteUser.Read
MCP Tools
The Outlook MCP exposes the following tools. Users can invoke these capabilities through natural language in Alysio.| Tool | Description | Example user prompts |
|---|---|---|
get_outlook_user_profile | Returns the current user’s Outlook profile (id, displayName, mail, userPrincipalName, etc.). | ”What’s my Outlook profile?”, “Which account is connected?” |
get_user_outlook_timezone | Returns the user’s mailbox timezone for displaying times correctly. | ”What’s my timezone?”, “Use my timezone for calendar times.” |
outlook_get_list_of_folders | Returns the list of mail folders (id, displayName, parentFolderId). | ”List my Outlook folders”, “What folders do I have?” |
outlook_search_mail_messages | Searches 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_details | Returns full details of a message by ID (and optional folder). | ”Open this email”, “Show me the full message.” |
outlook_trash_mail_message | Moves a message to Deleted Items by message ID (and optional folder). | ”Delete this email”, “Move this message to trash.” |
outlook_create_calendar_event | Creates 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_events | Lists 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_details | Returns details of a single event by event ID. | ”Show me this meeting”, “Get details for event 123.” |
outlook_move_calendar_event | Moves/reschedules an event (new subject, start, end) by event ID. | ”Move this meeting to 3pm”, “Reschedule the Q2 review to Friday.” |
outlook_list_calendar_attendees | Returns the list of attendees for a specific event by event ID. | ”Who’s in this meeting?”, “List attendees for this event.” |
outlook_create_task | Creates 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_tasks | Lists tasks with optional filters (title, status, importance, due date) and pagination. | ”What tasks do I have?”, “List my incomplete tasks.” |
outlook_get_task_details | Returns full details of a task by task ID. | ”Show me this task”, “Get details for task 456.” |
outlook_update_task | Updates 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.
- User asks: “What’s on my calendar today?”
- Alysio routes the request to the Outlook MCP.
- The MCP may call
get_user_outlook_timezoneto format times, thenoutlook_list_calendar_eventswith today’s start and end in the user’s timezone. - The request is sent to Microsoft Graph using the user’s stored OAuth credential.
- 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 responses — Fix: Use
get_user_outlook_timezoneand 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_foldersto get folder IDs; search again to get current message/event IDs.
- Email: support@alysio.ai