Microsoft 365
Connect your agents to Microsoft 365 for Outlook email, OneDrive, Office documents (Word, Excel, PowerPoint), Calendar, Teams, and SharePoint.
92 tools across 10 Microsoft services.
Outlook (8 tools)
| Tool | Description |
|---|---|
outlook_send | Send email via the agent's assigned Microsoft 365 email address |
outlook_list | List emails from a mailbox folder with OData filtering |
outlook_read | Read the full content of an email by message ID |
outlook_search | Full-text search emails using KQL syntax |
outlook_reply | Reply or reply-all to an email |
outlook_forward | Forward an email to other recipients |
outlook_move | Move an email to a different folder |
outlook_delete | Delete an email (moves to Deleted Items) |
The body field supports HTML content. Multiple recipients can be comma-separated in to, cc, and bcc. The filter parameter on outlook_list accepts OData filter expressions and outlook_search uses KQL (Keyword Query Language).
OneDrive (7 tools)
| Tool | Description |
|---|---|
onedrive_list | List files and folders |
onedrive_search | Search files by name or content |
onedrive_read | Read/download file content (text or base64) |
onedrive_upload | Upload a file (text or base64, up to 4 MB) |
onedrive_create_folder | Create a folder |
onedrive_share | Share a file or folder with another user |
onedrive_delete | Delete a file or folder |
10 MB max for reads, 4 MB for simple uploads. Binary files are returned as base64.
Office Document Creation (3 tools)
Create new Office documents in OneDrive. Documents can be opened in Office Online for editing.
| Tool | Description |
|---|---|
word_create | Create a new Word document (.docx) |
excel_create | Create a new Excel spreadsheet (.xlsx) |
powerpoint_create | Create a new PowerPoint presentation (.pptx) |
Extensions are added automatically. All documents return an id, name, and webUrl for Office Online editing.
Rich Document Creation (3 tools)
Generate professional, content-rich Office documents and save them directly to OneDrive. These tools use server-side rendering to produce fully formatted files -- no templates needed.
| Tool | Description |
|---|---|
powerpoint_create_deck | Create a presentation with multiple slides, layouts, and speaker notes |
word_create_document | Create a document with sections, headings, paragraphs, bullets, and tables |
excel_create_workbook | Create a multi-sheet workbook with headers, data rows, and column sizing |
Presentation layouts: title, content, section, two-column, blank. Each slide supports title, subtitle, body, bullets, speaker notes, and layout.
Word document sections support headings (levels 1-4), paragraphs, bullet lists, and tables with headers and rows.
Excel workbooks support multiple named sheets, each with headers, data rows, and optional column widths.
Excel Data (4 tools)
Read and write spreadsheet data via the Microsoft Graph Workbook API.
| Tool | Description |
|---|---|
excel_read | Read data from a cell range |
excel_write | Write data to cells |
excel_append | Append rows to a named table |
excel_create_table | Create a named table from a range |
Create named tables before using excel_append -- it enables structured data management where new rows are automatically added to the table boundary.
Calendar (2 tools)
| Tool | Description |
|---|---|
ms_calendar_list_events | List upcoming events from the agent's Outlook calendar |
ms_calendar_create_event | Create a calendar event with optional Teams meeting |
Set isOnlineMeeting: true when creating an event to automatically attach a Teams meeting link.
Teams (5 tools)
| Tool | Description |
|---|---|
teams_create_meeting | Create a Teams meeting with join link |
teams_list_channels | List channels in a team |
teams_send | Send a message to a Teams channel |
teams_reply | Reply to a message in a channel |
teams_list_members | List members of a team |
Meetings can be instant (omit start/end times) or scheduled. Channel messages support both plain text and HTML content.
SharePoint (3 tools)
| Tool | Description |
|---|---|
sharepoint_list_sites | List or search SharePoint sites |
sharepoint_search | Search content across SharePoint (files, list items, sites) |
sharepoint_list_items | List items in a SharePoint list |
Cross-site search uses the Microsoft Search API to find content across all accessible SharePoint sites. You can filter by entity type (driveItem, listItem, etc.).
Microsoft Admin (13 tools)
Administrative tools for provisioning groups, sites, channels, users, and licenses. These require application permissions with admin consent.
Groups & Infrastructure (5 tools)
| Tool | Description | Requires Approval |
|---|---|---|
ms_admin_create_group | Create a Microsoft 365 Group (mailbox, calendar, SharePoint site, Planner) | Yes |
ms_admin_add_group_member | Add a member or owner to a group | No |
ms_admin_create_sharepoint_site | Create a SharePoint site (via group provisioning) | Yes |
ms_admin_create_teams_channel | Create a Teams channel in an existing team | No |
ms_admin_teamify_group | Enable Teams for an existing Microsoft 365 Group | Yes |
User Management (4 tools)
| Tool | Description | Requires Approval |
|---|---|---|
ms_admin_create_user | Create a new user in Azure AD | Yes |
ms_admin_list_users | List/search directory users | No |
ms_admin_update_user | Update user properties | No |
ms_admin_delete_user | Delete a user (recoverable for 30 days) | Yes |
License Management (4 tools)
| Tool | Description | Requires Approval |
|---|---|---|
ms_admin_list_licenses | List available license SKUs | No |
ms_admin_assign_license | Assign a license to a user | Yes |
ms_admin_revoke_license | Remove a license from a user | Yes |
ms_admin_get_user_licenses | Get a user's assigned licenses | No |
Tools marked "Requires Approval" are gated because they incur costs, modify directory objects, or affect licensing. A human must approve before the agent can execute them.
Automatic Workspace Provisioning
When you start a team with Microsoft 365 connected, MeetLoyd can automatically create an M365 Group with a SharePoint site for the team. The document library gets standard folders (Reports, Working, Shared, Archive) and agents are added as group members.
- Azure AD app configured: M365 Group and SharePoint site created automatically during team first-start
- No credentials: A guided task is created for your admin to set up manually
Team bosses and lead agents become group owners, regular agents become members. Group members automatically get edit access to the SharePoint document library.
See Team Workspace Provisioning for full details.
Files & Attachments Integration
Microsoft 365 tools work alongside MeetLoyd's file management system:
- Agents can read and upload files to OneDrive
- Agents can create blank or rich Office documents (Word, Excel, PowerPoint) directly in OneDrive
- Agents can generate professional slide decks, structured Word documents with tables, and multi-sheet Excel workbooks
- Agents can read and write Excel data for reporting and data management
- Agents can share files with team members
- For local file operations (security scanning, parsing, RAG), use MeetLoyd's built-in file management
Setup & Configuration
Authentication Model
Microsoft 365 tools use Azure AD client credentials flow (application permissions). The agent impersonates a Microsoft 365 user via its assigned email address.
Prerequisites
- Register an app in Azure AD Portal
- Add API permissions (application type) -- see the permissions table below
- Create a client secret
- Grant admin consent for all permissions
- Store credentials in the MeetLoyd vault:
| Secret | Description |
|---|---|
MS_TENANT_ID | Azure AD tenant ID |
MS_CLIENT_ID | Application (client) ID |
MS_CLIENT_SECRET | Client secret value |
- Assign email -- each agent must have a Microsoft 365 email configured in its settings
Required Permissions by Service
| Service | Permissions |
|---|---|
| Outlook | Mail.ReadWrite, Mail.Send |
| OneDrive | Files.ReadWrite.All |
| Calendar | Calendars.ReadWrite |
| Teams meetings | OnlineMeetings.ReadWrite.All |
| Teams messaging | ChannelMessage.Send, Team.ReadBasic.All |
| SharePoint | Sites.Read.All |
| Admin: Groups | Group.ReadWrite.All |
| Admin: Sites | Sites.ReadWrite.All |
| Admin: Channels | Channel.Create |
| Admin: Users | User.ReadWrite.All, Directory.ReadWrite.All |
| Admin: Licenses | Organization.Read.All |
Only request the permissions your agents actually need. If an agent only reads email, use Mail.Read instead of Mail.ReadWrite. Admin permissions require extra care since they affect your entire directory.
Best Practices
Assign dedicated agent emails. Each agent should have its own Microsoft 365 mailbox for a clear audit trail, isolated mailbox per role, and easy revocation.
Use server-side filtering. When listing emails, use OData filter expressions to fetch only what the agent needs instead of pulling everything and filtering client-side.
Use named tables for Excel. Create a named table with excel_create_table before using excel_append -- it enables structured data management.
Troubleshooting
"No Azure Credentials" -- The tool returns a setupGuide with steps. Check that MS_TENANT_ID, MS_CLIENT_ID, and MS_CLIENT_SECRET are stored in the vault.
"Insufficient Privileges" -- Check API permissions in Azure AD app registration. Ensure admin consent was granted (application permissions require this). Verify the agent's email is a licensed Microsoft 365 account.
"No Agent Email" -- Each agent must have a Microsoft 365 email assigned in its settings page.
"Request Throttled" -- Microsoft Graph has service-specific limits:
| Service | Limit |
|---|---|
| Outlook | 10,000 requests/10 minutes |
| OneDrive | 10,000 requests/10 minutes |
| Teams | 2,000 requests/minute |
Next: Explore HubSpot integration.