Skip to main content

Microsoft 365 Integration

This articles covers the Microsoft 365 integration which provides access to Outlook, Calendar, Microsoft Teams, OneDrive, SharePoint, and Excel - all through a single connection.

Overview

The Microsoft 365 integration brings the power of your Microsoft productivity suite directly into Hatz. Once connected, you get a broad set of tools across Outlook email, Calendar, Contacts, Microsoft Teams, OneDrive, SharePoint, and Excel.

The Microsoft 365 integration uses an Enterprise Application in Microsoft with the necessary permissions to allow Hatz to interact with M365 data.

This is a per user integration meaning each user that wants to use the Microsoft 365 tools need to setup the integration.

The Microsoft 365 integration can read, search, and update supported Microsoft resources through the listed tools. It does not save generated files directly to a user's local computer path. For generated files, use the Hatz generated file card or an available Microsoft 365 export/save option.

Prerequisites

Before integrating Microsoft 365, confirm the below:

  • You have access to a Global Admin user in the M365 tenant you plan to integrate

  • You are able to manage integrations in Hatz

Integration Process

A Global Admin user must configure the M365 integration before any other users attempt to setup the connection. The Global Admin user will grant consent for the rest of the organization which will then allow anyone else to connect M365. The Global Admin can use the below steps to integrate first and then all other users will use the same steps. Follow the below steps to setup the integration:

  • Login to Hatz, select Workshop at the top and then select Connections on the left menu

Connections page with Microsoft 365 available to connect.
  • Search for Microsoft 365 and select "Add"

  • Select which toolkits you need for the integration and review the associated permissions and then select "Connect Microsoft 365"

Microsoft 365 Integration screen showing selected toolkits, permissions, and Connect Microsoft 365 button.
  • You will be redirected to Microsoft to authenticate

  • As a Global Admin you will see the permissions being requested and will check the "Consent on behalf of my organization box" and will then be redirected back to Hatz

Microsoft consent screen with consent on behalf of organization selected and Accept button highlighted.
  • As a normal user you will be redirected back to Hatz

  • Confirm that Microsoft 365 is now showing as connected

Video walkthrough of the integration:

Available Tools With Microsoft 365 Integration

Below are the available tools once M365 has been integrated

📧 Outlook Email

Tool

Description

list_emails

Fetch recent emails, optionally limited to a folder (Inbox, Sent, Drafts, etc.) or by follow-up flag

list_mail_folders

List your mail folders so you can target one in list/search

read_email

Read the full body and headers of a specific email

search_emails

Search emails by keywords, subject, body, sender, or folder

compose_email

Draft a new email or an in-thread reply (saved to Drafts for you to review and send). Attachments are supported, including OneDrive files by link

update_email

Mark an email read/unread or set its follow-up flag

move_email

Move an email to another folder

forward_email

Forward an email to other recipients


📅 Calendar

Tool

Description

list_events

Fetch upcoming calendar events with full details

create_meeting

Create a calendar meeting (Teams link optional; supports recurring meetings)

update_event

Edit or reschedule an existing event

respond_to_event

Accept, tentatively accept, or decline an invitation

forward_event

Forward a meeting to other people


🗓️ Scheduling

Tool

Description

find_meeting_times

Suggest meeting times that work for the attendees

get_schedule

Look up free/busy availability for people


👤 Contacts

Tool

Description

list_contacts

List your Outlook contacts

search_contacts

Search contacts by name, email, or company

get_contact

Read a single contact's details


💬 Microsoft Teams

Team Management

Tool

Description

get_authed_user

Get authenticated user's profile

list_teams

List all teams user is a member of

create_team

Create a new team

get_team

Get details of a specific team

list_team_members

List members of a team

add_member_to_team

Add a member to a team

Channel Management

Tool

Description

list_channels

List channels in a team

get_channel

Get channel details

create_channel

Create a new channel in a team

update_channel

Update a channel's name or description

list_channel_members

List the members of a channel

add_channel_member

Add a member to a channel

list_channel_messages

Read messages in a channel

list_message_replies

Read replies to a channel message

Chat & Messaging — chat, channel, and reply messages can be sent as plain text, HTML, or an Adaptive Card, with ready-made templates (status update, alert, summary, approval request, link share).

Tool

Description

list_chats

List user's chats

create_chat

Create new chat (1:1 or group)

get_chat_messages

Get messages from a chat

post_chat_message

Post a message to a chat

post_channel_message

Post a message to a team channel

reply_to_message

Reply to a channel message

Meetings & Transcripts

Tool

Description

list_meetings

List past Teams meetings

get_meeting

Get online meeting details

create_online_meeting

Create a Teams online meeting

get_meeting_id_from_join_url

Resolve meeting ID from a join URL

list_transcripts

List meeting transcripts

get_transcript

Get transcript content

Users

Tool

Description

list_users

Search and list organization users

Presence

Tool

Description

get_my_presence

Check your own presence/status

get_user_presence

Check a teammate's presence

set_my_presence

Set your status (Available, Busy, Do Not Disturb, etc.)

clear_my_presence

Clear a status you set

Directory & People

Tool

Description

list_groups

Browse organization groups

list_group_members

List members of a group

list_my_people

Your relevance-ranked frequent contacts

get_my_manager

Look up your manager

list_my_direct_reports

List your direct reports


📁 OneDrive & SharePoint

File Browsing

Tool

Description

get_drive

Get user's default drive info and quota

list_items

List items in a drive folder

get_recent_items

List recently accessed files

get_shared_items

List items shared with user

get_sharepoint_list_items

Get SharePoint list items

File Operations

Tool

Description

onedrive_download_file

Download file and get presigned URL

download_shared_file

Download a shared file

update_drive_item_metadata

Update file name/description

create_link

Create a sharing link

create_folder

Create a new folder

move_item

Move a file or folder to another folder

copy_item

Copy a file or folder to another folder

Search

Tool

Description

graph_search

Search OneDrive/SharePoint using KQL


📊 Excel

Session Management

Tool

Description

create_excel_session

Create workbook session (required first)

close_excel_session

Close workbook session (call when done)

get_workbook_info

Get workbook information

list_workbook_permissions

List file permissions

Worksheet Management

Tool

Description

list_worksheets

List all worksheets

get_worksheet_info

Get worksheet info

add_worksheet

Add new worksheet

update_worksheet

Update worksheet properties

delete_worksheet

Delete worksheet

protect_worksheet

Protect worksheet from editing

Range Operations

Tool

Description

get_range

Get a range of cells

get_used_range

Get used range of worksheet

get_row_range

Get entire row

get_column_range

Get entire column

update_range

Update cell values

get_sharepoint_range

Get range from SharePoint workbook

update_sharepoint_range

Update SharePoint range

clear_range

Clear range contents

insert_range

Insert blank cells

merge_cells

Merge cells in range

sort_range

Sort range

Table Management

Tool

Description

list_tables

List worksheet tables

add_table

Create new table from range

update_table

Update table properties

delete_table

Delete table (converts to range)

list_table_columns

List table columns

get_table_column

Get column details

add_column_to_table

Add new column

delete_column

Delete column

list_table_rows

List table rows (with pagination)

add_row_to_table

Add single row

add_rows_to_table

Add multiple rows

delete_row

Delete row

Chart Management

Tool

Description

list_charts

List worksheet charts

get_chart

Get chart details

add_chart

Create new chart

update_chart

Update chart properties

update_chart_legend

Update chart legend

delete_chart

Delete chart


📋 At a glance

The integration spans Outlook email, Calendar, Scheduling, Contacts, Microsoft Teams (chat, channels, meetings, presence, and directory), OneDrive & SharePoint files, and Excel. The exact tool set evolves over time; the tables above reflect what's available today.


For Users With the Old M365 Integration

Users who want to access the new tools must disconnect and reconnect the Microsoft 365 integration to obtain the updated permissions.

Steps:

  • Navigate to the Workshop tab and select Connections on the left

  • Select the gear icon on the existing Microsoft 365/Outlook integration and delete it

  • Reconnect using the updated Microsoft 365 integration

Data Safety and Destructive Actions

To keep your information safe, the integration is built around reading, finding, creating, and updating rather than bulk or irreversible removal. It will not delete your emails, OneDrive/SharePoint files, or Teams channels. Within a spreadsheet you are working in, the Excel tools can remove structural elements you ask to change (for example a worksheet, table, row, or column). Everything runs with your own Microsoft permissions and only in response to your instructions, so the integration can never do more than you are able to do yourself.

Common Questions and Troubleshooting

I am attempting to integrate Microsoft 365 and Hatz but I am getting a "Need admin approval" message

Microsoft Need admin approval screen for the Hatz AI M365 MCP Server app.
  • This screen is shown when a Global Admin in Microsoft has not configured the integration and granted admin consent

  • Please reach out to an administrator in your Microsoft 365 tenant and ask them to setup the integration

  • Once that has been done, try configuring the integration again

Does Hatz need all of the permissions shown when setting up the integration?

  • Hatz requests access to the permissions for the toolkits that are selected when setting up the integration

  • You can not select or deselect individual permissions scopes at the time of the integration but once it has been integrated you can edit the permissions within the Enterprise Application in Microsoft if you would like to make it less permissive

Outlook email tools are connected, but I cannot read or draft email

  • Admin consent and mailbox access are separate. Admin consent allows the Hatz application to request Microsoft permissions for the organization. Each user still needs to connect their own Microsoft 365 account, and Microsoft only returns mailbox data that connected user is allowed to access.

  • Reconnect Microsoft 365 and make sure the Outlook toolkit is selected during setup. The Outlook toolkit requests mail permissions such as Mail.Read, Mail.ReadWrite, and Mail.Send.

  • Confirm the signed-in Microsoft user has an active mailbox and can access the same mailbox directly in Outlook on the web. Hatz cannot use a user's connection to bypass Microsoft mailbox permissions.

  • If the user recently received a new mailbox license, role assignment, or admin consent grant, wait for Microsoft to apply the change, then disconnect and reconnect Microsoft 365 in Hatz.

Will all users have access to all of the data in Microsoft 365?

  • No - Users will only have access to the data that their user in Microsoft is able to access.

Can I send emails and create OneDrive or SharePoint files with this integration?

  • Email: the integration creates email and reply drafts (saved to your Drafts folder for you to review and send), and can attach files — but it does not send email on your behalf.

  • Files: you can create folders and move or copy existing files in OneDrive/SharePoint, but saving a brand-new generated file directly into OneDrive/SharePoint is not available yet. For generated files, use the Hatz generated file card.

  • Please add this as a feature request or upvote a current request on our Canny board: https://hatz-ai.canny.io/feature-requests

Why can't the assistant see a teammate's Teams status, or list a channel's members?

  • Reading another person's presence and listing the members of a channel require organization-wide Microsoft permissions that this integration does not request, so those specific actions are not available. You can still check and set your own status, and read and post messages in channels you belong to.

I just created a Teams channel, but updating it fails or says it cannot be found.

  • Newly created Teams channels take a short time for Microsoft to finish setting up. If an update right after creating the channel fails, wait a minute and try again.

I can't find a past meeting or its transcript.

  • Past meeting lookups cover roughly the last 90 days, so widen the time range if an older meeting is missing. A meeting's transcript only appears when transcription was turned on for that meeting and you have organizer-level access; otherwise the transcript list comes back empty.

I am not able to perform "X" action within Microsoft 365 through the integration.

  • This is more than likely due to that action not being supported as a tool for the integration.

  • Please add this as a feature request or upvote a current request on our Canny board: https://hatz-ai.canny.io/feature-requests

Did this answer your question?