Skip to content

Integration · Email

outlook.com

Connect Claude & ChatGPT to Microsoft Outlook

Ask your AI what is waiting in your inbox, what is on your calendar this week, or to answer an email for you. It searches and reads email, replies and forwards, drafts and sends new messages and moves mail between folders. It also creates and updates calendar events, answers invitations, finds meeting times and keeps your contacts up to date.

Connect Microsoft Outlook free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Which unread emails from customers came in today?”

    The AI lists unread messages received today with sender, subject and a short preview.

  • “Reply to Anna's last email and say Thursday works.”

    It finds the message and sends a reply with your text. The reply goes out right away.

  • “Move all newsletters from this week into the Reading folder.”

    It finds the messages and moves each one to that folder.

What your AI can do

Email

Search, read, draft, send, reply, forward, flag and move email, and list attachments.

Calendar

See events in any date range, create and update events, accept or decline invitations and find meeting times.

Folders and contacts

List and create mail folders, and search, read, create and update contacts.

  • “What is on my calendar next week?”

    It lists the events between Monday and Friday, with recurring meetings shown as single occurrences.

  • “Book a 30 minute call with Peter and Lise on Tuesday afternoon.”

    It finds times when all of you are free and creates the event, which sends the invitations.

  • “Add Jens Hansen from Nordic Foods to my contacts.”

    It creates a contact with name, company, email and phone.

124 tools for Microsoft Outlook

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • accept_eventVisible to othersAccept a meeting invitation by `event_id`, optionally with a comment; the organizer is notified if send_response is true.
  • cancel_eventDeletesCancel a event (event id). Destructive action; may require approval. API summary: Invoke action cancel.
  • create_calendarChanges dataCreate a new calendar. Search calendars first to avoid duplicates. API summary: Create calendar.
  • create_calendar_eventChanges dataCreate a new event for a calendar. Required: body. Search events first to avoid duplicates. API summary: Create event.
  • create_calendar_permanent_deleteChanges dataCreate a new permanent delete for a calendar. API summary: Invoke action permanentDelete.
  • create_contactChanges dataCreate a contact. Pass `body` with fields such as givenName, surname, emailAddresses, businessPhones and companyName.
  • create_contact_2Changes dataCreate a new contact. Search contacts first to avoid duplicates. API summary: Create ContactFolder.
  • create_contact_me_contact_folders_create_contactsChanges dataCreate a new contact for a contact. Required: body. Search contacts first to avoid duplicates. API summary: Create contact.
  • create_contact_permanent_deleteChanges dataCreate a new permanent delete for a contact. API summary: Invoke action permanentDelete.
  • create_contact_permanent_delete_me_contacts_contact_permanent_deChanges dataCreate a new permanent delete for a contact. API summary: Invoke action permanentDelete.
  • create_contactfolderChanges dataCreate a new contact for a contact. Search contacts first to avoid duplicates. API summary: Create ContactFolder.
  • create_document_upload_sessionChanges dataCreate a new document. Search documents first to avoid duplicates. API summary: Invoke action createUploadSession.
  • create_document_upload_session_createVisible to othersCreate a new document. Search documents first to avoid duplicates. Has effects visible outside this system. API summary: Invoke action createUploadSession.
  • create_draftChanges dataCreate a draft email in Drafts with subject, body and recipients. Nothing is sent until send_draft is called.
  • create_eventChanges dataCreate an event in the default calendar. Pass `body` as a Graph event, e.g. {"subject":"Review","start":{"dateTime":"2026-10-01T10:00:00","timeZone":"Europe/Copenhagen"},"end":{...},"attendees":[...]}. Attendees get invitations right away.
  • create_event_dismiss_reminderChanges dataCreate a new dismiss reminder for a event. API summary: Invoke action dismissReminder.
  • create_event_documentChanges dataCreate a new document for a event. Search documents first to avoid duplicates. API summary: Add attachment.
  • create_event_forwardChanges dataCreate a new forward for a event. API summary: Invoke action forward.
  • create_event_permanent_deleteChanges dataCreate a new permanent delete for a event. API summary: Invoke action permanentDelete.
  • create_event_snooze_reminderChanges dataCreate a new snooze reminder for a event. API summary: Invoke action snoozeReminder.
  • create_event_tentatively_acceptChanges dataCreate a new tentatively accept for a event. API summary: Invoke action tentativelyAccept.
  • create_mail_folderChanges dataCreate a new top-level mail folder with a `display_name`.
  • create_mail_folder_child_folderChanges dataCreate a new child folder for a mail folder. Search child folders first to avoid duplicates. API summary: Create child folder.
  • create_mail_folder_messageChanges dataCreate a new message for a mail folder. Search messages first to avoid duplicates. API summary: Create message in a mailfolder.
  • create_mail_folder_moveChanges dataCreate a new move for a mail folder. API summary: Invoke action move.
  • create_mail_folder_permanent_deleteChanges dataCreate a new permanent delete for a mail folder. API summary: Invoke action permanentDelete.
  • create_message_documentVisible to othersCreate a new document for a message. Search documents first to avoid duplicates. Has effects visible outside this system. API summary: Add attachment.
  • create_message_forwardVisible to othersCreate a new message. Search messages first to avoid duplicates. Has effects visible outside this system. API summary: Invoke action createForward.
  • create_message_permanent_deleteVisible to othersCreate a new permanent delete for a message. Has effects visible outside this system. API summary: Invoke action permanentDelete.
  • create_message_replyVisible to othersCreate a new message. Search messages first to avoid duplicates. Has effects visible outside this system. API summary: Invoke action createReply.
  • create_message_reply_allVisible to othersCreate a new message. Search messages first to avoid duplicates. Has effects visible outside this system. API summary: Invoke action createReplyAll.
  • create_multi_value_extended_propertyChanges dataCreate a new event. Required: body. Search events first to avoid duplicates. API summary: Create multi-value extended property.
  • create_permanent_deleteChanges dataCreate a new permanent delete. API summary: Invoke action permanentDelete.
  • decline_eventVisible to othersDecline a meeting invitation by `event_id`, optionally with a comment; the organizer is notified if send_response is true.
  • delete_calendarDeletesPermanently delete a calendar by calendar id. Destructive action; may require approval. API summary: Delete calendar.
  • delete_calendar_eventDeletesPermanently delete a event by event id. Destructive action; may require approval. API summary: Delete navigation property events for me.
  • delete_contactDeletesPermanently delete a contact by contact id. Destructive action; may require approval. API summary: Delete contactFolder.
  • delete_contact_me_delete_contactsDeletesPermanently delete a contact by contact id. Destructive action; may require approval. API summary: Delete contact.
  • delete_eventDeletesDelete an event by `event_id`. If you organized a meeting, attendees receive a cancellation.
  • delete_event_2DeletesPermanently delete a event by event id. Destructive action; may require approval. API summary: Delete navigation property events for me.
  • delete_event_documentDeletesPermanently delete a document by document id. Destructive action; may require approval. API summary: Delete attachment.
  • delete_mail_folderDeletesPermanently delete a mail folder by mail folder id. Destructive action; may require approval. API summary: Delete mailFolder.
  • delete_mail_folder_child_folderDeletesPermanently delete a child folder by mail folder id1. Destructive action; may require approval. API summary: Delete navigation property childFolders for me.
  • delete_mail_folder_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Delete navigation property messages for me.
  • delete_messageDeletesDelete an email by `message_id`. It moves to Deleted Items.
  • delete_message_documentDeletesPermanently delete a document by document id. Destructive action; may require approval. API summary: Delete navigation property attachments for me.
  • delete_navigation_property_childfolders_for_meDeletesPermanently delete a contact by contact folder id1. Destructive action; may require approval. API summary: Delete navigation property childFolders for me.
  • delete_navigation_property_contacts_for_meDeletesPermanently delete a contact by contact id. Destructive action; may require approval. API summary: Delete navigation property contacts for me.
  • find_meeting_timesChanges dataSuggest meeting times when the attendees are free, based on their calendars, a time window and a meeting duration.
  • forward_messageVisible to othersForward an email by `message_id` to `to_recipients` with an optional `comment`. It is sent immediately.
  • get_calendarGet one calendar by calendar id. API summary: Get calendars from me.
  • get_calendar_eventGet one event for a calendar by event id. API summary: Get events from me.
  • get_calendar_scheduleChanges dataGet one calendar. API summary: Invoke action getSchedule.
  • get_calendar_schedule_getChanges dataGet one calendar by calendar id. API summary: Invoke action getSchedule.
  • get_childfolders_from_meGet one contact for a contact by contact folder id1. API summary: Get childFolders from me.
  • get_contactGet one contact by `contact_id` with emails, phone numbers, company and address.
  • get_contact_2Get one contact by contact id. API summary: Get contactFolder.
  • get_contacts_from_meGet one contact for a contact by contact id. API summary: Get contacts from me.
  • get_eventGet one calendar event by `event_id` with time, location, attendees and their responses.
  • get_event_2Get one event by event id. API summary: Get events from me.
  • get_event_documentGet one document for a event by document id. API summary: Get attachments from me.
  • get_mail_folderGet one mail folder by mail folder id. API summary: Get mailFolder.
  • get_mail_folder_child_folderGet one child folder for a mail folder by mail folder id1. API summary: Get childFolders from me.
  • get_mail_folder_messageGet one message for a mail folder by message id. API summary: Get messages from me.
  • get_messageGet one email by `message_id` with sender, recipients, subject, body and flags.
  • get_message_documentGet one document for a message by document id. API summary: Get attachment.
  • list_calendar_eventsList calendar events between `start_date_time` and `end_date_time` (ISO 8601), with recurring events expanded into single occurrences. Use this to see what is on the calendar for a day or week.
  • list_calendarsList calendars. Optional filters: select or expand. API summary: Get calendar.
  • list_child_foldersList the subfolders of a mail folder by `mail_folder_id`.
  • list_childfoldersSearch contacts for a contact by search, filter, count, orderby, select or expand. Use this to find existing contacts before creating a new contact. Results are paginated. API summary: List childFolders.
  • list_contactsList or search contacts in the default contacts folder; use `filter` (e.g. startswith(displayName,'Anna')) and `select` to narrow the result.
  • list_contacts_2Search contacts for a contact by search, filter, count, orderby, select or expand. Use this to find existing contacts before creating a new contact. Results are paginated. API summary: List contacts.
  • list_event_calendarsList calendars for a event. Optional filters: select or expand. API summary: Get calendar from me.
  • list_eventsSearch events by search, filter, count, orderby, select or expand. Use this to find existing events before creating a new event. Results are paginated. API summary: List events.
  • list_folder_messagesList email in one folder by `mail_folder_id` (e.g. inbox, sentitems, drafts, or a folder ID), with the same search, filter, select and paging options as list_messages.
  • list_mail_foldersList the top-level mail folders with their IDs and unread and total counts.
  • list_mailbox_settingsList mailbox settings. Optional filters: select or expand. API summary: Get user mailbox settings.
  • list_message_attachmentsList the attachments of an email by `message_id`, with names, types and sizes.
  • list_messagesList or search email across the mailbox, newest first with `orderby` receivedDateTime desc. Use `search` for keywords (e.g. "from:anna invoice"), `filter` for OData conditions such as isRead eq false, `select` to limit fields and `limit` for page size.
  • move_messageVisible to othersMove an email by `message_id` to another folder by `destination_id` (a folder ID or a well-known name such as archive, deleteditems or inbox).
  • reply_all_to_messageVisible to othersReply to the sender and all recipients of an email by `message_id` with a `comment`. The reply is sent immediately.
  • reply_to_messageVisible to othersReply to the sender of an email by `message_id` with a `comment` as the reply text. The reply is sent immediately.
  • search_calendar_calendar_viewsSearch calendar views for a calendar by start date time, end date time, search, filter, count or orderby. Use this to find existing calendar views before creating a new calendar view. Results are paginated. API summary: Get calendarView from me.
  • search_calendar_eventsSearch events for a calendar by search, filter, count, orderby, select or expand. Use this to find existing events before creating a new event. Results are paginated. API summary: Get events from me.
  • search_calendar_usersSearch users for a calendar by search, filter or count. Use this to find existing users before creating a new user. Results are paginated. API summary: Invoke function allowedCalendarSharingRoles.
  • search_calendar_viewsSearch calendar views by start date time, end date time, search, filter, count or orderby. Use this to find existing calendar views before creating a new calendar view. Results are paginated. API summary: List calendarView.
  • search_calendarsSearch calendars by search, filter, count, orderby, select or expand. Use this to find existing calendars before creating a new calendar. Results are paginated. API summary: List calendars.
  • search_contactsSearch contacts by search, filter, count, orderby, select or expand. Use this to find existing contacts before creating a new contact. Results are paginated. API summary: List contactFolders.
  • search_deltaSearch delta by start date time, end date time, search, filter, count or select. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_calendar_events_deltaSearch delta by start date time, end date time, search, filter, count or select. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_calendar_view_deltaSearch delta by start date time, end date time, search, filter, count or select. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_calendars_calendar_calendar_view_deltaSearch delta by start date time, end date time, search, filter, count or select. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_calendars_calendar_events_deltaSearch delta by start date time, end date time, search, filter, count or select. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_contact_folders_contact_folder_child_folders_delSearch delta by search, filter, count, select, orderby or expand. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_contact_folders_contact_folder_contacts_deltaSearch delta by search, filter, count, select, orderby or expand. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_contact_folders_deltaSearch delta by search, filter, count, select, orderby or expand. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_contacts_deltaSearch delta by search, filter, count, select, orderby or expand. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_events_deltaSearch delta by start date time, end date time, search, filter, count or select. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_events_event_instances_deltaSearch delta by start date time, end date time, search, filter, count or select. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_mail_folders_deltaSearch delta by search, filter, count, select, orderby or expand. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_mail_folders_mail_folder_child_folders_deltaSearch delta by search, filter, count, select, orderby or expand. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_mail_folders_mail_folder_messages_deltaSearch delta by change type, search, filter, count, select or orderby. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_delta_me_messages_deltaSearch delta by change type, search, filter, count, select or orderby. Use this to find existing delta before creating a new deltum. Results are paginated. API summary: Invoke function delta.
  • search_event_documentsSearch documents for a event by search, filter, count, orderby, select or expand. Use this to find existing documents before creating a new document. Results are paginated. API summary: List attachments.
  • search_event_instancesSearch instances for a event by start date time, end date time, search, filter, count or orderby. Use this to find existing instances before creating a new instance. Results are paginated. API summary: List instances.
  • search_eventsSearch events by search, filter, count, orderby, select or expand. Use this to find existing events before creating a new event. Results are paginated. API summary: List events.
  • search_usersSearch users by search, filter or count. Use this to find existing users before creating a new user. Results are paginated. API summary: Invoke function allowedCalendarSharingRoles.
  • send_draftVisible to othersSend an existing draft by `message_id`. The email goes out immediately and cannot be recalled.
  • send_emailVisible to othersSend a new email right away with `message` (subject, body, toRecipients, ccRecipients). It is saved to Sent Items unless save_to_sent_items is false. Sent email cannot be recalled.
  • submit_mail_folderVisible to othersCopy a mail folder (mail folder id). Has effects visible outside this system. API summary: Invoke action copy.
  • submit_messageVisible to othersCopy a message (message id). Has effects visible outside this system. API summary: Invoke action copy.
  • update_calendarChanges dataUpdate an existing calendar identified by calendar id. Only the fields you pass are changed. API summary: Update the navigation property calendars in me.
  • update_calendar_eventChanges dataUpdate an existing event identified by event id. Only the fields you pass are changed. API summary: Update the navigation property events in me.
  • update_calendarsVisible to othersUpdate an existing calendar. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update calendar.
  • update_contactChanges dataUpdate a contact by `contact_id`; only the fields you pass in `body` change.
  • update_contact_2Changes dataUpdate an existing contact identified by contact id. Only the fields you pass are changed. API summary: Update contactfolder.
  • update_eventChanges dataUpdate an event in the default calendar by `event_id`; pass only the fields to change in `body`. Attendees are notified of changes to meetings.
  • update_mail_folderChanges dataUpdate an existing mail folder identified by mail folder id. Only the fields you pass are changed. API summary: Update mailfolder.
  • update_mail_folder_child_folderChanges dataUpdate an existing child folder identified by mail folder id1. Only the fields you pass are changed. API summary: Update the navigation property childFolders in me.
  • update_mail_folder_messageVisible to othersUpdate an existing message identified by message id. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update the navigation property messages in me.
  • update_mailbox_settingsVisible to othersUpdate an existing mailbox setting. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update user mailbox settings.
  • update_messageVisible to othersUpdate an email by `message_id`, for example mark it read with is_read, set a flag, or change categories. Only the fields you pass change.
  • update_the_navigation_property_childfolders_in_meChanges dataUpdate an existing contact identified by contact folder id1. Only the fields you pass are changed. API summary: Update the navigation property childFolders in me.
  • update_the_navigation_property_contacts_in_meChanges dataUpdate an existing contact identified by contact id. Only the fields you pass are changed. API summary: Update the navigation property contacts in me.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Microsoft Outlook from the app list.

  2. 2

    Paste your key

    Paste the Application (client) ID and client secret value from your own Microsoft Entra app registration, then sign in with Microsoft once. In the Microsoft Entra admin center open App registrations > New registration, choose the account types you need and add the Web redirect URI https://heymyapps.com/oauth/callback. Under Certificates & secrets create a new client secret and copy its Value. Under API permissions add the delegated Microsoft Graph permissions Mail.ReadWrite, Mail.Send, Calendars.ReadWrite, Contacts.ReadWrite and MailboxSettings.ReadWrite.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Microsoft Outlook?

It can search and read email, list folders and attachments, create drafts, send email, reply, reply all, forward, move, update and delete messages. It can list, create, update and delete calendar events, accept or decline invitations and find meeting times. It can also list, read, create and update contacts.

Does the AI see my Microsoft Outlook credentials?

No. Your client secret and the access from your Microsoft sign-in are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with search and read only. Sent email and replies cannot be recalled, and new or deleted meetings notify attendees, so those tools can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

Microsoft Outlook connects with OAuth, and OAuth connections need the HeyMyApps Pro plan or above. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Microsoft 365 or Outlook.com account.

Does it work with a personal Outlook.com account?

Yes, if you choose account types that include personal Microsoft accounts when you register the app in Microsoft Entra. The connection uses your own mailbox, so it works for both work or school accounts and personal accounts. In a company tenant, an administrator may need to approve the permissions.

Let your AI work in Microsoft Outlook today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Microsoft Outlook free

HeyMyApps is not affiliated with Microsoft Outlook. Product names are trademarks of their owners.