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
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"
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
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
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




