# Microsoft Teams

Your Toolhouse AI Worker can connect to Microsoft Teams using 163 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=microsoft_teams).

## Tools (163)

### `Microsoft Teams Add Chat Member`

Integration name: **MICROSOFT\_TEAMS\_ADD\_CHAT\_MEMBER**

Tool to add a conversationMember to a Microsoft Teams chat. Use when adding a user to an existing chat conversation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                         | Type   | Required | Example                                           | Description                                                                                                                                                                                           |
| --------------------------------- | ------ | :------: | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `roles`                           | array  |          | `["owner"]`                                       | Roles to assign to the member. Valid values are 'owner' or 'guest'. Leave empty to add as a standard member (not owner or guest).                                                                     |
| `chat_id`                         | string |     ✅    | `"19:cf6dec80624a45d798eaf23390645655@thread.v2"` | The unique identifier of the chat to which the member will be added.                                                                                                                                  |
| `user_id`                         | string |     ✅    | `"dfce5c6f-1901-48f6-bf9f-74ba8b05fd10"`          | The user's Graph ID (GUID) or userPrincipalName (email) to add to the chat.                                                                                                                           |
| `visible_history_start_date_time` | string |          | `"2021-01-01T00:00:00Z"`                          | Optional. Timestamp denoting how far back a conversation's history is shared with the conversation member. Must be in ISO 8601 format (e.g., '2021-01-01T00:00:00Z'). Only settable for chat members. |

***

### `Microsoft Teams Add Tab`

Integration name: **MICROSOFT\_TEAMS\_ADD\_TAB**

Tool to add a new tab to a Microsoft Teams channel. Use when you need to pin an app or website as a tab in a channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                              | Description                                                                                                                                                                                                                                                                                                            |
| --------------- | ------ | :------: | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`       | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | The unique identifier (GUID) of the team containing the channel where the tab will be added.                                                                                                                                                                                                                           |
| `channel_id`    | string |     ✅    | `"19:079fd66c7bf04c07a21430a9a32c2130@thread.tacv2"` | The unique identifier of the channel where the tab will be added. This is typically in the format '19:xxx\@thread.tacv2' for standard channels.                                                                                                                                                                        |
| `display_name`  | string |     ✅    | `"Test Tab via API"`                                 | The display name for the tab as it will appear to users in Microsoft Teams.                                                                                                                                                                                                                                            |
| `teams_app_id`  | string |     ✅    | `"com.microsoft.teamspace.tab.web"`                  | The unique identifier or catalog reference of the Teams app to add as a tab. Common values: 'com.microsoft.teamspace.tab.web' for website tabs, 'com.microsoft.teamspace.tab.wiki' for Wiki, 'com.microsoft.teamspace.tab.planner' for Planner. The app must be installed in the team or available in the app catalog. |
| `configuration` | object |          | —                                                    | Configuration settings for the tab.                                                                                                                                                                                                                                                                                    |

***

### `Microsoft Teams Add Team Member`

Integration name: **MICROSOFT\_TEAMS\_ADD\_TEAM\_MEMBER**

Tool to add a user to a Microsoft Teams team. Use when granting or updating membership for a user.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                                |
| --------- | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `roles`   | array  |          | `["owner"]`                              | Roles to assign to the member. Only 'owner' is supported. Omit or leave empty to add as a standard member. |
| `team_id` | string |     ✅    | `"ee0f5ae2-8bc6-4ae5-8466-7daeebbfa062"` | The unique ID (GUID) of the Microsoft Team to which the member will be added.                              |
| `user_id` | string |     ✅    | `"8b081ef6-4792-4def-b2c9-c363a1bf41d5"` | The user's Graph ID (GUID) or userPrincipalName (email) to add to the team.                                |

***

### `Microsoft Teams Add Team Members Bulk`

Integration name: **MICROSOFT\_TEAMS\_ADD\_TEAM\_MEMBERS\_BULK**

Tool to add multiple members to a Microsoft Teams team in a single operation. Use when adding several users at once to improve efficiency.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                                       |
| --------- | ------ | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `values`  | array  |     ✅    | —                                        | Array of conversation members to add to the team. Each member must specify the user reference and optional roles. |
| `team_id` | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier (GUID) of the team to add members to.                                                       |

***

### `Microsoft Teams Archive Channel`

Integration name: **MICROSOFT\_TEAMS\_ARCHIVE\_CHANNEL**

Tool to archive a channel in a Microsoft Teams team. Use when you need to archive a specific channel within a team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                                   | Type    | Required | Example                                              | Description                                                                                                                            |
| ------------------------------------------- | ------- | :------: | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`                                   | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | The unique identifier (GUID) of the team containing the channel to archive.                                                            |
| `channel_id`                                | string  |     ✅    | `"19:079fd66c7bf04c07a21430a9a32c2130@thread.tacv2"` | The unique identifier of the channel to archive. Must be in thread format (e.g., '19:079fd66c7bf04c07a21430a9a32c2130\@thread.tacv2'). |
| `should_set_spo_site_read_only_for_members` | boolean |          | `false`                                              | If true, sets the SharePoint site to read-only for team members when archiving the channel. Default is false.                          |

***

### `Microsoft Teams Archive Group Team Channel`

Integration name: **MICROSOFT\_TEAMS\_ARCHIVE\_GROUP\_TEAM\_CHANNEL**

Tool to archive a channel in a Microsoft Teams team using the group ID. Use when you need to archive a specific channel within a team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                                   | Type    | Required | Example                                              | Description                                                                                                                            |
| ------------------------------------------- | ------- | :------: | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `group_id`                                  | string  |     ✅    | `"b123aad1-e738-47bc-af1e-a1c35022ae54"`             | The unique identifier (GUID) of the Microsoft 365 group associated with the team containing the channel to archive.                    |
| `channel_id`                                | string  |     ✅    | `"19:f95aa28eb1de46e994e1e8f8a40f2113@thread.tacv2"` | The unique identifier of the channel to archive. Must be in thread format (e.g., '19:f95aa28eb1de46e994e1e8f8a40f2113\@thread.tacv2'). |
| `should_set_spo_site_read_only_for_members` | boolean |          | `false`                                              | If true, sets the SharePoint site to read-only for team members when archiving the channel. Default is false.                          |

***

### `Microsoft Teams Archive Team`

Integration name: **MICROSOFT\_TEAMS\_ARCHIVE\_TEAM**

Tool to archive a Microsoft Teams team. Use after confirming the team ID; returns 202 if accepted.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                                   | Type    | Required | Example                                  | Description                                                                     |
| ------------------------------------------- | ------- | :------: | ---------------------------------------- | ------------------------------------------------------------------------------- |
| `team_id`                                   | string  |     ✅    | `"f47ac10b-58cc-4372-a567-0e02b2c3d479"` | The Microsoft Teams team GUID to archive.                                       |
| `should_set_spo_site_read_only_for_members` | boolean |          | `true`                                   | If true, sets the SharePoint site to read-only for team members when archiving. |

***

### `Microsoft Teams Chats Get All Chats`

Integration name: **MICROSOFT\_TEAMS\_CHATS\_GET\_ALL\_CHATS**

Retrieves all Microsoft Teams chats a specified user is part of, supporting filtering, property selection, and pagination.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                               | Description                                                                                                                                                                                                                                                                                                                                                                                        |
| --------- | ------- | :------: | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `25`                                  | The page size (number of chats per API request) for pagination. Default is 50. Microsoft Graph enforces a maximum of 50 per request. Note: This action auto-paginates and returns chats up to the 'limit' parameter. The 'top' parameter only controls how many chats are fetched per API call, not the total number of chats returned.                                                            |
| `limit`   | integer |          | `10`                                  | Maximum total number of chats to return. If not specified (None), all chats are returned through auto-pagination. Use this as a safety valve to restrict total data returned.                                                                                                                                                                                                                      |
| `filter`  | string  |          | `"chatType eq 'group'"`               | OData filter query string (do not include '$filter='). Supports filtering by chat properties like 'topic', 'chatType' (e.g., "chatType eq 'group'", "topic eq 'Project X'"), and 'installedApps/any(...)' for app-based filtering. Note: Filtering by 'members' (a navigation property) is NOT supported - to filter by member, retrieve all chats and filter client-side, or use $expand=members. |
| `select`  | array   |          | `["id","topic","lastMessagePreview"]` | A list of specific Microsoft Graph chat resource properties to retrieve (e.g., 'id', 'topic'). If omitted or empty, a default set of properties is returned. Each string in the list should be a valid property name.                                                                                                                                                                              |
| `user_id` | string  |          | `"me"`                                | The ID or user principal name (UPN) of the user whose chats are to be retrieved. Use 'me' to specify the currently authenticated user.                                                                                                                                                                                                                                                             |

***

### `Microsoft Teams Chats Get All Messages`

Integration name: **MICROSOFT\_TEAMS\_CHATS\_GET\_ALL\_MESSAGES**

DEPRECATED: Use ListUserChatMessages instead. Retrieves all messages from a specified Microsoft Teams chat using the Microsoft Graph API, automatically handling pagination; ensure `chat_id` is valid and OData expressions in `filter` or `select` are correct.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                              | Description                                                                                                                                                                                                                                                                                                                                                                  |
| --------- | ------- | :------: | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `10`                                                 | Number of messages to retrieve per API page request. Microsoft Graph API maximum is 50 per page. This controls the page size for pagination, not the total number of messages returned.                                                                                                                                                                                      |
| `limit`   | integer |          | `100`                                                | Maximum total number of messages to retrieve across all pages. If not specified, all available messages are returned (following pagination). Use this to limit the total results when you don't need the full history.                                                                                                                                                       |
| `filter`  | string  |          | `"lastModifiedDateTime gt 2024-01-01T00:00:00.000Z"` | OData v4.0 filter query string for messages. FILTER RESTRICTIONS: For 'lastModifiedDateTime', both 'gt' (greater than) and 'lt' (less than) operators are supported. For 'createdDateTime', ONLY 'lt' (less than) is supported - 'gt' (greater than) is NOT allowed and will cause an API error. Must be used with 'orderby' on the same property or filter will be ignored. |
| `chat_id` | string  |     ✅    | `"chat-id-123"`                                      | Unique identifier of the Microsoft Teams chat.                                                                                                                                                                                                                                                                                                                               |
| `orderby` | string  |          | `"lastModifiedDateTime desc"`                        | OData v4.0 orderby expression for sorting messages. Only supports 'lastModifiedDateTime desc' and 'createdDateTime desc'. Ascending order is not supported. Required when using filter parameter - must be on the same property as the filter.                                                                                                                               |
| `user_id` | string  |          | `"me"`                                               | The ID or user principal name (UPN) of the user whose chats are to be accessed. Use 'me' to specify the currently authenticated user.                                                                                                                                                                                                                                        |

***

### `Microsoft Teams Clear Automatic Location`

Integration name: **MICROSOFT\_TEAMS\_CLEAR\_AUTOMATIC\_LOCATION**

Tool to clear the automatic location from a user's presence in Microsoft Teams. Use when you need to remove automatically-set location information from presence status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                                                                                                      |
| --------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id` | string |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"` | The unique identifier (GUID) of the user whose automatic location will be cleared. Note: This endpoint does not support 'me' as an alias; you must provide the actual user GUID. |

***

### `Microsoft Teams Clear Me Presence User Preferred`

Integration name: **MICROSOFT\_TEAMS\_CLEAR\_ME\_PRESENCE\_USER\_PREFERRED**

Tool to clear a user's preferred presence setting in Microsoft Teams. Use when you need to remove the user's manually set presence status and allow the system to automatically determine their presence based on activity. Supports both delegated (user) and application (S2S) authentication.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                                                                                       |
| --------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id` | string |          | `"me"`  | The user's unique identifier or principal name. Use 'me' to clear the preferred presence of the authenticated user (delegated auth), or provide a specific user ID or email for application auth. |

***

### `Microsoft Teams Clear My Presence`

Integration name: **MICROSOFT\_TEAMS\_CLEAR\_MY\_PRESENCE**

DEPRECATED: Use MICROSOFT\_TEAMS\_CLEAR\_PRESENCE instead. Tool to clear the authenticated user's presence session in Microsoft Teams. Use when you need to remove presence information set by an application for the current user.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type   | Required | Example                                  | Description                                                                                                                                  |
| ----------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`   | string |          | `"me"`                                   | The user's unique identifier or principal name. Use 'me' to clear presence for the authenticated user.                                       |
| `sessionId` | string |     ✅    | `"9841f176-c6b4-4864-97ff-e88d245b2dbb"` | The ID of the application's presence session to clear. Should be the application's client ID (appid). This parameter is required by the API. |

***

### `Microsoft Teams Clear Presence`

Integration name: **MICROSOFT\_TEAMS\_CLEAR\_PRESENCE**

Tool to clear the presence information for a user's application presence session in Microsoft Teams. Use when you need to remove presence information set by an application for the authenticated user. Note: This action can only clear presence for the authenticated user, not for other users.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type   | Required | Example                                  | Description                                                                                                                                                                                                                                                                                                    |
| ----------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`   | string |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"` | The unique identifier (GUID) of the user whose presence session to clear. Must be an explicit user ID (not 'me'). Note: You can only clear presence for the authenticated user - attempting to clear presence for other users will result in a 401 Unauthorized error. Use the user's object ID from Azure AD. |
| `sessionId` | string |     ✅    | `"9841f176-c6b4-4864-97ff-e88d245b2dbb"` | The ID of the application's presence session to clear. This must exactly match the application ID (client ID) used for authentication. The API will return a 400 error if the sessionId doesn't match. This parameter is required.                                                                             |

***

### `Microsoft Teams Clear Presence Automatic Location`

Integration name: **MICROSOFT\_TEAMS\_CLEAR\_PRESENCE\_AUTOMATIC\_LOCATION**

DEPRECATED: Use MICROSOFT\_TEAMS\_CLEAR\_AUTOMATIC\_LOCATION instead. Tool to clear the automatic presence location for the authenticated user. Use when you need to remove automatically-detected location information from the user's presence status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                                                                                                              |
| --------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `user_id` | string |          | `"me"`  | The user's unique identifier or principal name. Use 'me' to clear the presence location of the authenticated user (delegated auth). For application-only (S2S) authentication, provide the user's GUID or email address. |

***

### `Microsoft Teams Clear Presence Location`

Integration name: **MICROSOFT\_TEAMS\_CLEAR\_PRESENCE\_LOCATION**

Tool to clear the authenticated user's presence location. Use when you need to remove location information from the user's current presence status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                        |
| --------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------ |
| `user_id` | string |          | `"me"`  | The user's unique identifier or principal name. Use 'me' to clear the presence location of the authenticated user. |

***

### `Microsoft Teams Clone Team`

Integration name: **MICROSOFT\_TEAMS\_CLONE\_TEAM**

Tool to clone a Microsoft Teams team using the team ID. Use when you need to create a copy of an existing team including its structure, channels, and tabs. This is an asynchronous operation; poll the returned location URL to monitor progress.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example                                  | Description                                                                                                                                                                                                                               |
| ---------------- | ------ | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`        | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier (GUID) of the Microsoft Teams team to clone.                                                                                                                                                                        |
| `visibility`     | string |          | `"private"`                              | Visibility type for the cloned team.                                                                                                                                                                                                      |
| `description`    | string |          | `"Test clone for API verification"`      | An optional description for the cloned team. If not provided, it takes the value of displayName.                                                                                                                                          |
| `displayName`    | string |     ✅    | `"Cloned Test Team API Verification"`    | The display name for the cloned team. This property is required when a team is cloned.                                                                                                                                                    |
| `mailNickname`   | string |     ✅    | `"clonedtestapiverify"`                  | The mail alias for the cloned team. This property must be specified when a team is cloned. Must be unique in the organization.                                                                                                            |
| `partsToClone`   | string |          | `"apps,tabs,settings,channels,members"`  | Comma-separated list of parts to clone. Valid values: 'apps', 'tabs', 'settings', 'channels', 'members'. Defaults to a full clone (all five parts). Pass a narrower list to exclude parts; omitting 'members' clones a members-less team. |
| `classification` | string |          | `"Confidential"`                         | Optional label describing the data or business sensitivity of the cloned team. Must match a preconfigured value in the tenant's directory.                                                                                                |

***

### `Microsoft Teams Create Call Operation`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_CALL\_OPERATION**

Tool to create a new operation for a communications call. Use when you need to initiate a new operation on an active call.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                    | Description                                                                               |
| --------------- | ------ | :------: | -------------------------- | ----------------------------------------------------------------------------------------- |
| `status`        | string |          | `"notStarted"`             | Initial status of the operation. Possible values: notStarted, running, completed, failed. |
| `call_id`       | string |     ✅    | `"test-call-id-123"`       | The unique identifier of the call to create an operation for.                             |
| `odata_type`    | string |          | —                          | The OData type of the operation entity. Must be `#microsoft.graph.commsOperation`.        |
| `clientContext` | string |          | `"test-operation-context"` | Optional client context string for tracking the operation.                                |

***

### `Microsoft Teams Create Channel`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_CHANNEL**

Tool to create a new standard, private, or shared channel within a Microsoft Teams team. Use when you need to create a new channel for team collaboration.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type    | Required | Example                                                                                                                                                                            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ------------------------ | ------- | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                   | string  |     ✅    | `"Project Alpha Discussion"`                                                                                                                                                       | The display name for the new channel. Maximum length is 50 characters. Cannot contain the following characters: \~ # % & \* { } + / \ : < > ? \| ' " , or control characters. Cannot start with an underscore (\_) or period (.)                                                                                                                                                                                                                                                        |
| `members`                | string  |          | `"[{\"@odata.type\": \"#microsoft.graph.aadUserConversationMember\", \"user@odata.bind\": \"https://graph.microsoft.com/v1.0/users('user-id-or-upn')\", \"roles\": [\"owner\"]}]"` | JSON string containing array of conversationMember objects to add as owners/members when creating private or shared channels. Each member object should include '@odata.type' (e.g., '#microsoft.graph.aadUserConversationMember'), '<user@odata.bind>' (user URL), and 'roles' array (e.g., \['owner']). Required for private and shared channels to specify at least one owner. Maximum 200 members for private channels. For shared channels, only one owner can be added initially. |
| `team_id`                | string  |     ✅    | `"e4e57af8-cff8-4557-af89-a43a6f961f32"`                                                                                                                                           | The GUID of the existing Microsoft Teams team where the new channel will be created.                                                                                                                                                                                                                                                                                                                                                                                                    |
| `description`            | string  |          | `"Channel for all discussions related to Project Alpha."`                                                                                                                          | An optional, user-friendly description of the channel's purpose. Maximum length is 1024 characters.                                                                                                                                                                                                                                                                                                                                                                                     |
| `membership_type`        | string  |          | `"standard"`                                                                                                                                                                       | Membership type determining channel accessibility: 'standard' is accessible to all team members, 'private' is only accessible to a specific subset of team members, and 'shared' can be shared with people outside the team or organization (requires appropriate policies).                                                                                                                                                                                                            |
| `created_date_time`      | string  |          | `"2020-03-14T11:22:17.067Z"`                                                                                                                                                       | The timestamp for when the channel was created. Only used when creating a channel in migration mode by including '@microsoft.graph.channelCreationMode': 'migration' in the request. Format: ISO 8601 datetime string (e.g., '2020-03-14T11:22:17.067Z').                                                                                                                                                                                                                               |
| `shared_with_teams`      | string  |          | `"[{\"id\": \"team-guid-here\"}]"`                                                                                                                                                 | JSON string containing array of team objects to share the channel with when creating a shared channel. Each object should contain an 'id' field with the team ID. Use this to share the channel with the host team or other teams.                                                                                                                                                                                                                                                      |
| `is_favorite_by_default` | boolean |          | —                                                                                                                                                                                  | Indicates whether the channel should be marked as recommended for all members of the team to show in their channel list. Can only be set during creation. Defaults to false if not specified.                                                                                                                                                                                                                                                                                           |

***

### `Microsoft Teams Create Content Sharing Session`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_CONTENT\_SHARING\_SESSION**

Tool to create a content sharing session in a Microsoft Teams call. Use when you need to initiate content sharing during an active call.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                | Description                                                                   |
| --------- | ------ | :------: | ---------------------- | ----------------------------------------------------------------------------- |
| `call_id` | string |     ✅    | `"test-call-id-12345"` | Unique identifier of the call in which to create the content sharing session. |

***

### `Microsoft Teams Create Group Team Channel`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_GROUP\_TEAM\_CHANNEL**

Tool to create a new channel in a group's associated team. Use when you have a group ID and need to create a channel in its team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type    | Required | Example                                                   | Description                                                                                                                                               |
| ------------------------ | ------- | :------: | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `group_id`               | string  |     ✅    | `"e4c36173-d019-45ec-9c77-497b86386206"`                  | The unique identifier (GUID) of the group. This is the group ID, not the team ID. The group must have an associated team.                                 |
| `description`            | string  |          | `"Channel for all discussions related to Project Alpha."` | Optional textual description of the channel's purpose.                                                                                                    |
| `display_name`           | string  |     ✅    | `"Project Alpha Discussion"`                              | The display name for the new channel. Maximum length is 50 characters. This is the only required field.                                                   |
| `membership_type`        | string  |          | —                                                         | Channel membership type options.                                                                                                                          |
| `is_favorite_by_default` | boolean |          | —                                                         | Indicates whether the channel should be marked as recommended for all members of the team to show in their channel list. Can only be set during creation. |

***

### `Microsoft Teams Create Meeting`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_MEETING**

Use to schedule a new standalone Microsoft Teams online meeting, i.e., one not linked to any calendar event.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                                   | Type    | Required | Example                  | Description                                                                                                                                                                        |
| ------------------------------------------- | ------- | :------: | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `subject`                                   | string  |     ✅    | `"Project Sync-Up"`      | The subject or title for the online meeting.                                                                                                                                       |
| `user_id`                                   | string  |          | —                        | The user ID (object ID) on whose behalf to create the meeting. Required when using application permissions (S2S). If not specified, uses the /me endpoint (delegated permissions). |
| `participants`                              | array   |          | —                        | An optional list of participants to invite to the meeting. Each participant is defined by their user ID and role.                                                                  |
| `end_date_time`                             | string  |     ✅    | `"2024-08-15T11:00:00Z"` | The end date and time of the meeting, specified in ISO 8601 format (e.g., '2024-08-15T11:00:00Z'). Must be after start\_date\_time.                                                |
| `allow_recording`                           | boolean |          | —                        | Indicates whether recording is enabled for the meeting.                                                                                                                            |
| `start_date_time`                           | string  |     ✅    | `"2024-08-15T10:00:00Z"` | The start date and time of the meeting, specified in ISO 8601 format (e.g., '2024-08-15T10:00:00Z').                                                                               |
| `allow_live_share`                          | string  |          | —                        | Indicates whether Live Share is enabled for the meeting. Possible values: enabled, disabled.                                                                                       |
| `allow_whiteboard`                          | boolean |          | —                        | Indicates whether whiteboard is enabled for the meeting.                                                                                                                           |
| `allow_meeting_chat`                        | string  |          | —                        | Specifies the mode of meeting chat. Possible values: enabled (default), disabled, limited (only during the meeting call).                                                          |
| `allowed_presenters`                        | string  |          | —                        | Specifies who can be a presenter in a meeting. Possible values: everyone (default), organization, roleIsPresenter, organizer.                                                      |
| `allow_transcription`                       | boolean |          | —                        | Indicates whether transcription is enabled for the meeting.                                                                                                                        |
| `meeting_template_id`                       | string  |          | —                        | The ID of the meeting template. Using a custom meeting template to create a meeting is a Teams Premium feature.                                                                    |
| `allow_breakout_rooms`                      | boolean |          | —                        | Indicates whether breakout rooms are enabled for the meeting.                                                                                                                      |
| `is_passcode_required`                      | boolean |          | —                        | An optional boolean indicating whether a passcode should be required to join this meeting. If not specified, the organization's default policy applies.                            |
| `record_automatically`                      | boolean |          | —                        | Indicates whether to record the meeting automatically.                                                                                                                             |
| `lobby_bypass_settings`                     | object  |          | —                        | Specifies which participants can bypass the meeting lobby.                                                                                                                         |
| `is_entry_exit_announced`                   | boolean |          | —                        | Indicates whether to announce when callers join or leave.                                                                                                                          |
| `allow_teamwork_reactions`                  | boolean |          | —                        | Indicates whether Teams reactions are enabled for the meeting.                                                                                                                     |
| `allow_power_point_sharing`                 | boolean |          | —                        | Indicates whether PowerPoint live is enabled for the meeting.                                                                                                                      |
| `allow_attendee_to_enable_mic`              | boolean |          | —                        | Indicates whether attendees can unmute themselves.                                                                                                                                 |
| `allow_attendee_to_enable_camera`           | boolean |          | —                        | Indicates whether attendees can turn on their camera.                                                                                                                              |
| `is_end_to_end_encryption_enabled`          | boolean |          | —                        | Indicates whether end-to-end encryption is enabled for the meeting. Note: This property must be used with Teams policies to determine the final behavior.                          |
| `allow_participants_to_change_name`         | boolean |          | —                        | Specifies whether participants are allowed to rename themselves in an instance of the meeting.                                                                                     |
| `share_meeting_chat_history_default`        | string  |          | —                        | Specifies whether meeting chat history is shared with participants. Possible values: all, none.                                                                                    |
| `allow_copying_and_sharing_meeting_content` | boolean |          | —                        | Indicates whether participants can copy and share meeting content.                                                                                                                 |

***

### `Microsoft Teams Create Offer Shift Request`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_OFFER\_SHIFT\_REQUEST**

Tool to create a new offer shift request in a user's joined team schedule. Use when a team member wants to offer their shift to another team member.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                 | Type   | Required | Example                                       | Description                                                                                                                           |
| ------------------------- | ------ | :------: | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`                 | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').     |
| `user_id`                 | string |          | `"me"`                                        | Optional user identifier. Not used in the API request as the endpoint operates at the team level. Accepts 'me' or a GUID/UUID format. |
| `odata_type`              | string |          | —                                             | The OData type of the resource. Must be `#microsoft.graph.offerShiftRequest`.                                                         |
| `senderMessage`           | string |          | `"Would you like to take this shift?"`        | Optional message from the sender to the recipient explaining the shift offer.                                                         |
| `senderShiftId`           | string |     ✅    | `"SHFT_67bbbd0f-ad83-46a1-a94f-fe9d9f29fb84"` | The shift ID that is being offered. Format typically starts with 'SHFT\_' followed by a GUID.                                         |
| `recipientUserId`         | string |     ✅    | `"33ba30b9-9158-426d-a893-c3eff9d9a6bb"`      | The user ID of the recipient to whom the shift is being offered. Must be a valid GUID/UUID.                                           |
| `recipientActionMessage`  | string |          | —                                             | Message from the recipient when responding to the offer. This is typically set when the recipient accepts or declines.                |
| `recipientActionDateTime` | string |          | —                                             | Date and time when the recipient responded to the offer, in ISO 8601 format. This is typically set by the system.                     |

***

### `Microsoft Teams Create Open Shift`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_OPEN\_SHIFT**

Tool to create a new open shift in a Microsoft Teams team schedule. Use when you need to publish available shifts that team members can claim.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example                                      | Description                                                                                                                                                  |
| --------------------- | ------- | :------: | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `team_id`             | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`     | The unique identifier of the team (GUID format).                                                                                                             |
| `draftOpenShift`      | object  |          | —                                            | Represents the draft version of an open shift that has not been shared with the team.                                                                        |
| `sharedOpenShift`     | object  |     ✅    | —                                            | The shared version of the open shift that is visible to team members. This contains the shift details including start/end times, theme, and open slot count. |
| `schedulingGroupId`   | string  |          | `"TAG_be14b4f7-7481-49a6-81fa-04a8df2751bf"` | The unique identifier of the scheduling group this open shift belongs to. Use format 'TAG\_{guid}' for scheduling group IDs.                                 |
| `isStagedForDeletion` | boolean |          | —                                            | Indicates whether the open shift is staged for deletion. Set to true to mark for deletion.                                                                   |

***

### `Microsoft Teams Create Open Shift Change Request`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_OPEN\_SHIFT\_CHANGE\_REQUEST**

Tool to create a new open shift change request in a team schedule. Use when a team member wants to claim an available open shift.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                                          | Description                                                                                                                                     |
| -------------- | ------ | :------: | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `message`      | string |          | —                                                | Optional message from the user explaining why they want to claim this open shift.                                                               |
| `team_id`      | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`         | The unique identifier of the team (GUID format).                                                                                                |
| `openShiftId`  | string |     ✅    | `"OPNSHFT_ca2655aa-2fc8-45dc-8c94-a6fcfc8924f0"` | The unique identifier of the open shift that the user is requesting to claim. This ID references an existing open shift in the team's schedule. |
| `senderUserId` | string |     ✅    | `"3fe0bc21-1398-4fd9-9713-52511b434c1e"`         | The unique identifier (GUID) of the user who is requesting to claim the open shift.                                                             |

***

### `Microsoft Teams Create Or Get Online Meeting`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_OR\_GET\_ONLINE\_MEETING**

Tool to create a new Microsoft Teams online meeting or retrieve an existing one based on externalId. Use when you need an idempotent meeting creation operation that returns an existing meeting if the externalId matches.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                  | Description                                                                                                                                                                                                         |
| --------------- | ------ | :------: | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`        | string |          | `"user@contoso.com"`     | The user ID (UPN or GUID) on whose behalf to create the meeting. Required for Service-to-Service (client credentials) authentication. If not provided, uses /me endpoint (delegated permissions only).              |
| `subject`       | string |          | `"Test Meeting via API"` | The subject or title for the online meeting. Optional.                                                                                                                                                              |
| `chatInfo`      | object |          | —                        | The chat information associated with an online meeting.                                                                                                                                                             |
| `externalId`    | string |     ✅    | `"test-meeting-12345"`   | The external ID that uniquely identifies this meeting. Required. If a meeting with this externalId already exists, that meeting is returned; otherwise, a new meeting is created. Maximum length is 256 characters. |
| `endDateTime`   | string |          | `"2026-02-24T11:00:00Z"` | The meeting end date and time in ISO 8601 format (e.g., '2026-02-24T11:00:00Z'). Optional but recommended. Should be after startDateTime if both are provided.                                                      |
| `participants`  | object |          | —                        | The participants associated with the online meeting.                                                                                                                                                                |
| `startDateTime` | string |          | `"2026-02-24T10:00:00Z"` | The meeting start date and time in ISO 8601 format (e.g., '2026-02-24T10:00:00Z'). Optional but recommended.                                                                                                        |

***

### `Microsoft Teams Create Or Update Schedule`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_OR\_UPDATE\_SCHEDULE**

Tool to create or replace a schedule object for a Microsoft Teams team. Use when you need to enable or configure scheduling features for a team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                                      | Type    | Required | Example                                  | Description                                                                                                      |
| ---------------------------------------------- | ------- | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `enabled`                                      | boolean |          | —                                        | Indicates whether the schedule is enabled for the team. Set to true to enable.                                   |
| `team_id`                                      | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier of the team (GUID format).                                                                 |
| `timeZone`                                     | string  |          | `"America/New_York"`                     | Time zone for the schedule (e.g., 'America/New\_York', 'Europe/London', 'UTC'). Uses IANA time zone identifiers. |
| `timeClockEnabled`                             | boolean |          | —                                        | Indicates whether the time clock feature is enabled for the schedule.                                            |
| `openShiftsEnabled`                            | boolean |          | —                                        | Indicates whether open shifts are enabled for the schedule.                                                      |
| `timeOffRequestsEnabled`                       | boolean |          | —                                        | Indicates whether team members can request time off.                                                             |
| `offerShiftRequestsEnabled`                    | boolean |          | —                                        | Indicates whether team members can offer their shifts to others.                                                 |
| `swapShiftsRequestsEnabled`                    | boolean |          | —                                        | Indicates whether team members can swap shifts with each other.                                                  |
| `isActivitiesIncludedWhenCopyingShiftsEnabled` | boolean |          | —                                        | Indicates whether activities are included when copying shifts.                                                   |

***

### `Microsoft Teams Create Schedule Day Note`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_SCHEDULE\_DAY\_NOTE**

Tool to create a new day note in a team's schedule. Use when you need to add notes or reminders for a specific date in the team schedule. Day notes help communicate important information to team members for a particular day.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                  | Description                                                                                  |
| --------------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------- |
| `teamId`        | string |     ✅    | `"26baab0a-c4eb-4e23-94ae-ac8b5304027d"` | The unique identifier (GUID) of the Microsoft Teams team where the day note will be created. |
| `dayNoteDate`   | string |     ✅    | `"2026-02-24"`                           | The date for which the day note applies, in YYYY-MM-DD format (e.g., '2026-02-24').          |
| `draftDayNote`  | object |          | —                                        | Represents the content and format of a day note.                                             |
| `sharedDayNote` | object |          | —                                        | Represents the content and format of a day note.                                             |

***

### `Microsoft Teams Create Scheduling Group`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_SCHEDULING\_GROUP**

Tool to create a new scheduling group in a team's schedule. Use when you need to organize team members into groups for shift scheduling and management. This action uses 'team\_id' parameter naming which aligns with the Microsoft Graph API endpoint (/teams/{id}/schedule/schedulingGroups).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example                                    | Description                                                                                                                                                          |
| -------------- | ------- | :------: | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`         | string  |          | `"MORNING-1"`                              | Code or identifier for the scheduling group. This can be used for external system integration or quick reference.                                                    |
| `team_id`      | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`   | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                    |
| `user_ids`     | array   |     ✅    | `["550ac91a-5895-4c98-af68-e97197a65af4"]` | List of user IDs to include as members of this scheduling group. Each ID should be a valid GUID/UUID. Can be an empty array if no members are being added initially. |
| `is_active`    | boolean |          | `true`                                     | Indicates whether the scheduling group is active and available for scheduling. Set to true to enable, false to disable.                                              |
| `display_name` | string  |     ✅    | `"Morning Shift"`                          | Display name of the scheduling group. This is the name that will appear when managing schedules and shifts.                                                          |

***

### `Microsoft Teams Create Shift`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_SHIFT**

Tool to create a new shift in a Microsoft Teams team schedule. Use when you need to assign work shifts to team members with specific start/end times and details.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example                                  | Description                                                                                                                |
| --------------------- | ------- | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `userId`              | string  |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"` | The unique identifier of the user assigned to this shift (GUID format).                                                    |
| `team_id`             | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier of the team (GUID format).                                                                           |
| `draftShift`          | object  |     ✅    | —                                        | The draft version of the shift containing schedule details. This is the version managers see before sharing with the team. |
| `sharedShift`         | object  |          | —                                        | Represents the shared version of a shift that is visible to team members.                                                  |
| `schedulingGroupId`   | string  |          | —                                        | The unique identifier of the scheduling group this shift belongs to.                                                       |
| `isStagedForDeletion` | boolean |          | —                                        | Indicates whether the shift is staged for deletion. Set to true to mark for deletion.                                      |

***

### `Microsoft Teams Create Team`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_TEAM**

Tool to create a new Microsoft Teams team. Use when you need to provision a team with optional template, channels, and members.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                                                                                                                                                 | Description                                                                                                                                                                                                                        |
| ------------------- | ------ | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `members`           | array  |          | `[{"roles":["owner"],"odata_type":"#microsoft.graph.aadUserConversationMember","user_odata_bind":"https://graph.microsoft.com/v1.0/users('user-id')"}]` | List of initial team members. At least one member with 'owner' role is recommended. If not provided, the authenticated user will be added as owner. Each member must specify '@odata.type', roles, and '<user@odata.bind>'.        |
| `channels`          | array  |          | —                                                                                                                                                       | Collection of channels to create in the team. Note: The 'General' channel is created automatically.                                                                                                                                |
| `visibility`        | string |          | `"private"`                                                                                                                                             | Team visibility setting. 'private': Only owners can add members. 'public': Anyone in the organization can join. 'hiddenMembership': Private team whose membership list is also hidden. Default is 'public'.                        |
| `description`       | string |          | `"Team for Q4 planning"`                                                                                                                                | Brief description of the team's purpose. Maximum 1024 characters. Note: Known template IDs for team creation: 'standard' (default), 'educationClass', 'educationStaff', 'educationProfessionalLearningCommunity'.                  |
| `displayName`       | string |     ✅    | `"My Sample Team"`                                                                                                                                      | Display name of the team as it will appear in Microsoft Teams. Note: The API allows duplicate team names, but using unique names is recommended for clarity.                                                                       |
| `funSettings`       | object |          | —                                                                                                                                                       | Settings to configure use of Giphy, memes, and stickers in the team.                                                                                                                                                               |
| `guestSettings`     | object |          | —                                                                                                                                                       | Settings to configure whether guests can create, update, or delete channels in the team.                                                                                                                                           |
| `installedApps`     | array  |          | —                                                                                                                                                       | Collection of apps to install in the team.                                                                                                                                                                                         |
| `classification`    | string |          | —                                                                                                                                                       | Optional label describing the data or business sensitivity of the team. Must match a preconfigured value in the tenant's directory.                                                                                                |
| `memberSettings`    | object |          | —                                                                                                                                                       | Settings to configure whether members can perform certain actions in the team.                                                                                                                                                     |
| `specialization`    | string |          | `"educationClass"`                                                                                                                                      | Indicates whether the team is intended for a particular use case. Each specialization has access to unique behaviors and experiences.                                                                                              |
| `firstChannelName`  | string |          | —                                                                                                                                                       | Name of the first channel created; defaults to 'General' if omitted.                                                                                                                                                               |
| `messagingSettings` | object |          | —                                                                                                                                                       | Settings to configure messaging and mentions in the team.                                                                                                                                                                          |
| `templateOdataBind` | string |          | `"https://graph.microsoft.com/v1.0/teamsTemplates('standard')"`                                                                                         | URL reference to the team template. Common templates: 'standard' (default), 'educationClass', 'educationStaff', 'educationProfessionalLearningCommunity'. Format: <https://graph.microsoft.com/v1.0/teamsTemplates('template-id>') |

***

### `Microsoft Teams Create Team From Group`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_TEAM\_FROM\_GROUP**

Tool to create a new team under an existing Microsoft 365 group. Use when you need to add Teams capabilities to an existing group.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                                  | Description                                                                                                                                                                                                             |
| ------------------- | ------ | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `group_id`          | string |     ✅    | `"53e97ba7-3b5a-4d66-927e-27ebd8d1414c"` | The unique identifier (GUID) of the Microsoft 365 group to create a team from. Note: The group must not already have a team associated with it, and newly created groups may need time to propagate (up to 15 minutes). |
| `funSettings`       | object |          | —                                        | Settings to configure use of Giphy, memes, and stickers in the team.                                                                                                                                                    |
| `guestSettings`     | object |          | —                                        | Settings to configure whether guests can create, update, or delete channels in the team.                                                                                                                                |
| `memberSettings`    | object |          | —                                        | Settings to configure whether members can perform certain actions in the team.                                                                                                                                          |
| `messagingSettings` | object |          | —                                        | Settings to configure messaging and mentions in the team.                                                                                                                                                               |

***

### `Microsoft Teams Create Time Off`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_TIME\_OFF**

Tool to create a new timeOff instance in a team's schedule. Use when you need to create approved time off for a team member (vacation, sick leave, etc.).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example                                  | Description                                                                                                                     |
| --------------------- | ------- | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `userId`              | string  |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"` | ID of the user assigned to this timeOff entry. Must be a valid user GUID (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f').        |
| `team_id`             | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').    |
| `draftTimeOff`        | object  |          | —                                        | Represents a version of the timeOff entry (shared or draft).                                                                    |
| `sharedTimeOff`       | object  |          | —                                        | Represents a version of the timeOff entry (shared or draft).                                                                    |
| `isStagedForDeletion` | boolean |          | —                                        | Indicates whether the timeOff is marked for deletion. This process is finalized when the schedule is shared. Defaults to false. |

***

### `Microsoft Teams Create Time Off Reason`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_TIME\_OFF\_REASON**

Tool to create a new time off reason in a team's schedule. Use when you need to define a new category for time off requests with a custom name and icon.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example                                  | Description                                                                                                                                                                       |
| ------------- | ------- | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`        | string  |          | `"VAC001"`                               | Optional external identifier code for the time off reason. Must be unique within the team and alphanumeric, maximum 100 characters. Useful for integration with external systems. |
| `team_id`     | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                                      |
| `iconType`    | string  |     ✅    | `"plane"`                                | Icon to display for this time off reason in the schedule. Choose an icon that visually represents the reason type.                                                                |
| `isActive`    | boolean |     ✅    | `true`                                   | Whether this time off reason is active and available for use. Set to true to make it available immediately, false to create it as inactive.                                       |
| `displayName` | string  |     ✅    | `"Vacation"`                             | Name of the time off reason as it will appear in the schedule (e.g., 'Vacation', 'Sick Leave', 'Personal Day').                                                                   |

***

### `Microsoft Teams Create Time Off Request`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_TIME\_OFF\_REQUEST**

Tool to create a new time off request in a team's schedule. Use when a team member needs to request time off for vacation, sick leave, or other absences.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example                                      | Description                                                                                                                                                                                        |
| ----------------- | ------ | :------: | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`         | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`     | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                                                       |
| `odata_type`      | string |          | —                                            | The OData type of the resource. Must be `#microsoft.graph.timeOffRequest`.                                                                                                                         |
| `endDateTime`     | string |     ✅    | `"2026-03-16T00:00:00Z"`                     | End date and time of the time off request in ISO 8601 format (e.g., '2026-03-16T00:00:00Z'). This represents when the requested time off ends.                                                     |
| `senderUserId`    | string |     ✅    | `"484453b2-158e-479b-9200-07bdb8a3cd12"`     | The user ID of the person who is creating the time off request. Must be a valid user GUID in the organization (e.g., '484453b2-158e-479b-9200-07bdb8a3cd12').                                      |
| `startDateTime`   | string |     ✅    | `"2026-03-15T00:00:00Z"`                     | Start date and time of the time off request in ISO 8601 format (e.g., '2026-03-15T00:00:00Z'). This represents when the requested time off begins.                                                 |
| `timeOffReasonId` | string |     ✅    | `"TOR_31a5f3a6-e4ba-41d9-9823-8220839fd095"` | The unique identifier of the time off reason. This ID references a predefined reason in the team's schedule (e.g., vacation, sick leave). Format typically starts with 'TOR\_' followed by a GUID. |

***

### `Microsoft Teams Create User Online Meeting`

Integration name: **MICROSOFT\_TEAMS\_CREATE\_USER\_ONLINE\_MEETING**

Tool to create a new Microsoft Teams online meeting for a specific user. Use when you need to create an online meeting on behalf of a user.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type    | Required | Example                          | Description                                                                                                                                     |
| ------------------- | ------- | :------: | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `subject`           | string  |     ✅    | `"Test Online Meeting via API"`  | The subject or title for the online meeting.                                                                                                    |
| `user_id`           | string  |     ✅    | `"me"`                           | The unique identifier (user ID) of the user for whom to create the online meeting. Use 'me' for the authenticated user or a specific user GUID. |
| `externalId`        | string  |          | `"project-meeting-001"`          | Custom external identifier for the meeting. Maximum length is 256 characters.                                                                   |
| `endDateTime`       | string  |     ✅    | `"2026-02-24T15:00:00.0000000Z"` | The meeting end date and time in ISO 8601 format (e.g., '2026-02-24T15:00:00.0000000Z'). Must be after startDateTime.                           |
| `isBroadcast`       | boolean |          | —                                | Indicates whether this meeting is a Teams live event. Deprecated.                                                                               |
| `startDateTime`     | string  |     ✅    | `"2026-02-24T14:30:00.0000000Z"` | The meeting start date and time in ISO 8601 format (e.g., '2026-02-24T14:30:00.0000000Z').                                                      |
| `meetingTemplateId` | string  |          | —                                | The ID of the meeting template. Using a custom meeting template to create a meeting is a Teams Premium feature.                                 |

***

### `Microsoft Teams Delete Call Operation`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_CALL\_OPERATION**

Tool to delete a navigation property operation for a communications call. Use when you need to remove a specific commsOperation from a call.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                  | Description                                                                                                |
| -------------------- | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `call_id`            | string |     ✅    | `"57dab8b1-894c-409a-b240-bd8beae78896"` | The unique identifier of the call.                                                                         |
| `if_match`           | string |          | —                                        | ETag value for conditional deletion. Use this to ensure the operation hasn't changed since last retrieved. |
| `comms_operation_id` | string |     ✅    | `"0fe0623f-d628-42ed-b4bd-8ac290072cc5"` | The unique identifier of the commsOperation to delete.                                                     |

***

### `Microsoft Teams Delete Channel`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_CHANNEL**

Tool to delete a channel from a Microsoft Teams team. Use when you need to permanently remove a channel. Note that the General channel cannot be deleted.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                                        | Description                                                                                                                              |
| ------------ | ------ | :------: | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                       | The unique identifier of the team that contains the channel. Must be a valid GUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `if_match`   | string |          | `"W/\"JjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiJw==\""` | ETag value for conditional delete. Use this to ensure the channel hasn't been modified since it was last retrieved.                      |
| `channel_id` | string |     ✅    | `"19:72737dcaab464ad99ab3ffda590e1854@thread.tacv2"`           | The unique identifier of the channel to delete. Can be in thread format (e.g., '19:72737dcaab464ad99ab3ffda590e1854\@thread.tacv2').     |

***

### `Microsoft Teams Delete Day Note`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_DAY\_NOTE**

Tool to delete a day note from a Microsoft Teams schedule. Use when you need to remove a day note from a specific date in the team schedule. The If-Match header with ETag value is required for deletion.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example                                       | Description                                                                                                                                                                      |
| ------------- | ------ | :------: | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`     | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | The unique identifier of the team. Must be a valid GUID.                                                                                                                         |
| `if_match`    | string |     ✅    | `"\"e800eff0-0000-0400-0000-69930a1e0000\""`  | ETag value for conditional delete (REQUIRED). Use this to ensure the day note hasn't been modified since it was retrieved. Obtain this value from a GET request to the day note. |
| `day_note_id` | string |     ✅    | `"NOTE_940eab35-f133-47dc-becd-b345e6cea66c"` | The unique identifier of the dayNote to delete. Typically starts with 'NOTE\_' prefix.                                                                                           |

***

### `Microsoft Teams Delete Open Shift`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_OPEN\_SHIFT**

Tool to delete an open shift from a Microsoft Teams schedule. Use when you need to remove an unfilled shift from the team schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                          | Description                                                                                                                                                                 |
| --------------- | ------ | :------: | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`       | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`         | The unique identifier (GUID) of the Microsoft Teams team that contains the schedule.                                                                                        |
| `if_match`      | string |          | —                                                | Optional ETag value for conditional delete. Use this to ensure the open shift hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `open_shift_id` | string |     ✅    | `"OPNSHFT_ca2655aa-2fc8-45dc-8c94-a6fcfc8924f0"` | The unique identifier of the open shift to delete. Format: 'OPNSHFT\_' followed by a GUID (e.g., 'OPNSHFT\_ca2655aa-2fc8-45dc-8c94-a6fcfc8924f0').                          |

***

### `Microsoft Teams Delete Scheduling Group`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_SCHEDULING\_GROUP**

Tool to delete a scheduling group from a Microsoft Teams team schedule. Use this when you need to remove a scheduling group from a specific team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type   | Required | Example                                      | Description                                                                                                                                                                       |
| --------------------- | ------ | :------: | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`             | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`     | The unique identifier (GUID) of the Microsoft Teams team that contains the schedule.                                                                                              |
| `if_match`            | string |          | —                                            | Optional ETag value for conditional delete. Use this to ensure the scheduling group hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `scheduling_group_id` | string |     ✅    | `"TAG_6685f5de-54e3-47e7-b1fb-436f35b67b2c"` | The unique identifier of the scheduling group to delete. This can be a GUID or a tag-based ID (e.g., 'TAG\_6685f5de-54e3-47e7-b1fb-436f35b67b2c').                                |

***

### `Microsoft Teams Delete Shift`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_SHIFT**

Tool to delete a shift from a Microsoft Teams team schedule. Use when you need to permanently remove a scheduled shift.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                                       | Description                                                                                                                                                   |
| ---------- | ------ | :------: | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`  | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | The unique identifier of the team (GUID format).                                                                                                              |
| `if_match` | string |          | —                                             | ETag value for conditional delete. Use this to ensure the shift hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `shift_id` | string |     ✅    | `"SHFT_da9a0769-7ef6-4f94-8bff-5a7238769692"` | The unique identifier of the shift to delete.                                                                                                                 |

***

### `Microsoft Teams Delete Soft Message`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_SOFT\_MESSAGE**

Tool to soft-delete a message in a Teams channel. Use when you need to remove a message without permanently deleting it.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                               |
| ------------ | ------ | :------: | ---------------------------------------------------- | --------------------------------------------------------- |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | The unique identifier of the team containing the channel. |
| `channel_id` | string |     ✅    | `"19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2"` | The unique identifier of the channel within the team.     |
| `message_id` | string |     ✅    | `"1771863545596"`                                    | The unique identifier of the message to soft-delete.      |

***

### `Microsoft Teams Delete Tab`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_TAB**

Tool to delete a tab from a Microsoft Teams channel. Use when you need to permanently remove a tab from a channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                                        | Description                                                                                                                                                                                                            |
| ------------ | ------ | :------: | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tab_id`     | string |     ✅    | `"6fa06ee5-1f61-4edb-ba26-bf59d64db56d"`                       | Unique identifier of the tab to delete from the channel. This is the tab's GUID (e.g., '6fa06ee5-1f61-4edb-ba26-bf59d64db56d').                                                                                        |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                       | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                                                                           |
| `if_match`   | string |          | `"W/\"JjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiJw==\""` | Optional ETag value for conditional delete. Use this to ensure the tab hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail.                                                   |
| `channel_id` | string |     ✅    | `"19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2"`           | Unique identifier of the channel within the team. Can be URL-encoded (e.g., '19%3A04e881b862664873b6e97eeeb6961e5e%40thread.tacv2') or non-encoded format (e.g., '19:04e881b862664873b6e97eeeb6961e5e\@thread.tacv2'). |

***

### `Microsoft Teams Delete Team`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_TEAM**

Tool to delete a Microsoft Teams team. Use after confirming the target team ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                         |
| --------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------- |
| `team_id` | string |     ✅    | `"fbe2bf47-16c8-47cf-b4a5-4b9b187c508b"` | The unique identifier (GUID) of the Microsoft Teams team to delete. |

***

### `Microsoft Teams Delete Time Off`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_TIME\_OFF**

Tool to delete a timeOff from a team's schedule. Use when you need to remove a scheduled time off entry from a team member's schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                                        | Description                                                                                                                                                     |
| ------------ | ------ | :------: | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                       | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                    |
| `if_match`   | string |          | `"W/\"JjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiJw==\""` | ETag value for conditional delete. Use this to ensure the timeOff hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `timeoff_id` | string |     ✅    | `"SHFT_56063b98-003a-4578-b676-5faf39926257"`                  | Unique identifier of the timeOff to delete. This is the ID of the timeOff resource in the team's schedule.                                                      |

***

### `Microsoft Teams Delete Time Off Reason`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_TIME\_OFF\_REASON**

Tool to delete a time off reason from a team's schedule. Use when you need to remove a time off reason. Note: This operation marks the time off reason as inactive rather than permanently deleting it.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                                        | Description                                                                                                                                                             |
| -------------------- | ------ | :------: | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`            | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                       | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                            |
| `if_match`           | string |          | `"W/\"JjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiJw==\""` | ETag value for conditional delete. Use this to ensure the time off reason hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `time_off_reason_id` | string |     ✅    | `"TOR_027a2ccc-c0fe-46cd-98f7-f78203556140"`                   | Unique identifier of the time off reason to delete. This is the ID of the timeOffReason resource in the team's schedule.                                                |

***

### `Microsoft Teams Delete Time Off Request`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_TIME\_OFF\_REQUEST**

Tool to delete a time off request from a Microsoft Teams team schedule. Use when you need to permanently remove a time off request.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type   | Required | Example                                       | Description                                                                                                                                                              |
| --------------------- | ------ | :------: | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `team_id`             | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | The unique identifier of the team (GUID format).                                                                                                                         |
| `if_match`            | string |          | —                                             | ETag value for conditional delete. Use this to ensure the time off request hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `time_off_request_id` | string |     ✅    | `"SREQ_04903df3-3948-46e0-8f34-442520a234c7"` | The unique identifier of the time off request to delete.                                                                                                                 |

***

### `Microsoft Teams Delete User Online Meeting`

Integration name: **MICROSOFT\_TEAMS\_DELETE\_USER\_ONLINE\_MEETING**

Tool to delete an online meeting for a user. Use when you need to permanently remove an online meeting from a user's calendar.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                                                                                                                                                  | Description                                                                                                                                                     |
| ------------------- | ------ | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`           | string |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"`                                                                                                                 | The unique identifier of the user who owns the online meeting.                                                                                                  |
| `if_match`          | string |          | `"W/\"JjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiJw==\""`                                                                                           | ETag value for conditional delete. Use this to ensure the meeting hasn't been modified since it was retrieved. If the ETag doesn't match, the delete will fail. |
| `online_meeting_id` | string |     ✅    | `"MSo0M2YwYzE0ZC1iY2E4LTQyMWYtYjc2Mi1jM2Q4ZGQ3NWJlMWYqMCoqMTk6bWVldGluZ19NbUl4WkdKaU1tSXROR0U0TWkwMFptVTBMVGs1TnpNdE16STNNMlF5WWprd1pESXhAdGhyZWFkLnYy"` | The unique identifier of the online meeting to delete.                                                                                                          |

***

### `Microsoft Teams Get Call Operation`

Integration name: **MICROSOFT\_TEAMS\_GET\_CALL\_OPERATION**

Tool to get a specific commsOperation for a call. Use to check the status of long-running call operations.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                  | Description                                                                                                                                                  |
| -------------------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `expand`             | string |          | `"*"`                                    | OData $expand query parameter to include related resources inline. Comma-separated list of relationships.                                                    |
| `select`             | string |          | `"id,status"`                            | OData $select query parameter to specify which properties to include in the response. Comma-separated list of property names (e.g., 'id,status,resultInfo'). |
| `call_id`            | string |     ✅    | `"12345678-1234-1234-1234-123456789012"` | The unique identifier of the call.                                                                                                                           |
| `comms_operation_id` | string |     ✅    | `"0fe0623f-d628-42ed-b4bd-8ac290072cc5"` | The unique identifier of the commsOperation.                                                                                                                 |

***

### `Microsoft Teams Get Channel`

Integration name: **MICROSOFT\_TEAMS\_GET\_CHANNEL**

Tool to get a specific channel in a team. Use after obtaining valid team and channel IDs to fetch channel details.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                                                                                                                                                                                |
| ------------ | ------ | :------: | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `expand`     | string |          | `"members"`                                          | Comma-separated list of relationships to expand and include in the response (e.g., 'members', 'tabs').                                                                                                                                     |
| `select`     | string |          | `"id,displayName,description"`                       | Comma-separated list of properties to include in the response (e.g., 'id,displayName,description'). Empty string returns all default properties. Use to optimize performance by excluding expensive properties like 'email' and 'summary'. |
| `team_id`    | string |     ✅    | `"893075dd-2487-4122-925f-022c42e20265"`             | The unique identifier of the Microsoft Teams team. Must be a valid GUID (e.g., '893075dd-2487-4122-925f-022c42e20265').                                                                                                                    |
| `channel_id` | string |     ✅    | `"19:561fbdbbfca848a484f0a6f00ce9dbbd@thread.tacv2"` | The unique identifier of the channel within the specified team. Must be in thread format (e.g., '19:561fbdbbfca848a484f0a6f00ce9dbbd\@thread.tacv2').                                                                                      |

***

### `Microsoft Teams Get Channel Message`

Integration name: **MICROSOFT\_TEAMS\_GET\_CHANNEL\_MESSAGE**

Retrieves a specific message from a Microsoft Teams channel using its Team, Channel, and Message IDs.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                            |
| ------------ | ------ | :------: | ---------------------------------------------------- | ---------------------------------------------------------------------- |
| `team_id`    | string |     ✅    | `"fbe2bf47-16c8-47cf-b4a5-4b9b187c508b"`             | ID of the Team containing the channel where the message is located.    |
| `channel_id` | string |     ✅    | `"19:4a95f7d8db4c4e7fae857bcebe0623e6@thread.tacv2"` | ID of the Channel within the specified Team that contains the message. |
| `message_id` | string |     ✅    | `"1614618259349"`                                    | ID of the message to retrieve from the channel.                        |

***

### `Microsoft Teams Get Channel Message Reply`

Integration name: **MICROSOFT\_TEAMS\_GET\_CHANNEL\_MESSAGE\_REPLY**

Tool to retrieve a single reply to a message in a channel. Use when you need to get details of a specific reply message.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                               |
| ------------ | ------ | :------: | ---------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `expand`     | array  |          | `["replies"]`                                        | Expand related entities. Use to include additional related information in the response.   |
| `select`     | array  |          | `["id","body","from","createdDateTime"]`             | Select specific properties to be returned. If not specified, all properties are returned. |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | Unique identifier of the Microsoft Teams team.                                            |
| `reply_id`   | string |     ✅    | `"1771240360006"`                                    | Unique identifier of the reply message to retrieve.                                       |
| `channel_id` | string |     ✅    | `"19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2"` | Unique identifier of the channel within the team.                                         |
| `message_id` | string |     ✅    | `"1768309336891"`                                    | Unique identifier of the channel message that contains the reply.                         |

***

### `Microsoft Teams Get Chat`

Integration name: **MICROSOFT\_TEAMS\_GET\_CHAT**

Tool to retrieve a single chat by ID. Use when you need to get details about a specific chat.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                           | Description                                                                                                                                                                                                                 |
| --------- | ------ | :------: | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`  | array  |          | `["members"]`                                     | List of related entities to expand in the response. Supported values: 'members' (includes all chat members), 'lastMessagePreview' (includes preview of the last message). Leave empty to return only basic chat properties. |
| `chat_id` | string |     ✅    | `"19:b8577894a63548969c5c92bb9c80c5e1@thread.v2"` | The unique identifier of the chat to retrieve. This is the chat's ID in the format '19:abc123def456\@thread.v2' for group chats or '19:<user1_user2@unq.gbl.spaces>' for one-on-one chats.                                  |

***

### `Microsoft Teams Get Chat Last Message Preview`

Integration name: **MICROSOFT\_TEAMS\_GET\_CHAT\_LAST\_MESSAGE\_PREVIEW**

DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_CHAT instead. Tool to get lastMessagePreview from a chat. Use when you need to see the preview of the most recent message in a specific chat.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                           | Description                                                                                                                             |
| --------- | ------ | :------: | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `chat_id` | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"` | The unique identifier of the chat. This is a composite ID formatted like '19:abc123def456\@thread.v2' for group chats or meeting chats. |

***

### `Microsoft Teams Get Chat Member`

Integration name: **MICROSOFT\_TEAMS\_GET\_CHAT\_MEMBER**

Tool to get a specific conversation member from a Microsoft Teams chat. Use when you need details about a specific chat participant.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type   | Required | Example                                                                                                                                                                          | Description                                                                                                                                             |
| ------------------------ | ------ | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `chat_id`                | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"`                                                                                                                                | Unique identifier of the Microsoft Teams chat. Format: '19:xxxxx\@thread.v2'                                                                            |
| `conversation_member_id` | string |     ✅    | `"MCMjMCMjYTZhNTVjNWYtMDc0Ny00ODA0LWExNjYtMmI1ZGZjOWFjZTJhIyMxOTpmYWE0YjkxZDQ5Njg0ZTQyODBhOTY4MjRmNWM0ZGMyZUB0aHJlYWQudjIjIzQzZjBjMTRkLWJjYTgtNDIxZi1iNzYyLWMzZDhkZDc1YmUxZg=="` | Unique identifier of the conversation member. This is an opaque string returned by Microsoft Graph API that should not be parsed or assumed by clients. |

***

### `Microsoft Teams Get Chat Message`

Integration name: **MICROSOFT\_TEAMS\_GET\_CHAT\_MESSAGE**

Tool to get a specific chat message. Use after confirming chat\_id and message\_id.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                             | Description                                                                                                                                                                                                                 |
| ------------ | ------ | :------: | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `chat_id`    | string |     ✅    | `"19:abc123def456ghi789@thread.v2"` | Unique identifier of the Microsoft Teams chat that contains the message.                                                                                                                                                    |
| `message_id` | string |     ✅    | `"1612289992105"`                   | Unique identifier of the chat message to retrieve. This is a numeric timestamp string (milliseconds since epoch) returned by the Microsoft Graph API when listing messages. Do not include underscores or other separators. |

***

### `Microsoft Teams Get Day Note`

Integration name: **MICROSOFT\_TEAMS\_GET\_DAY\_NOTE**

Tool to retrieve a specific day note from a team's schedule. Use when you need to view notes for a specific date in a team's schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                       | Description                                                                                                                |
| ------------ | ------ | :------: | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | array  |          | `["sharedDayNote"]`                           | Expand related entities inline. Use to include related resources in the response.                                          |
| `select`     | array  |          | `["id","dayNoteDate","sharedDayNote"]`        | Select specific properties to include in the response. Available properties: id, dayNoteDate, sharedDayNote, draftDayNote. |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | The unique identifier (GUID) of the Microsoft Teams team.                                                                  |
| `daynote_id` | string |     ✅    | `"NOTE_e826ba29-9a01-4aec-a4e9-1e20183f8447"` | The unique identifier of the day note to retrieve. Format: NOTE\_                                                          |

***

### `Microsoft Teams Get Files Folder`

Integration name: **MICROSOFT\_TEAMS\_GET\_FILES\_FOLDER**

Tool to get the files folder (DriveItem) metadata for a specific channel in a Microsoft Teams team. Use when you need to access file storage information for a channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                                                                                       |
| ------------ | ------ | :------: | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | string |          | —                                                    | Expand related entities to include additional data in the response.                                                                               |
| `select`     | string |          | `"id,name,webUrl"`                                   | Select specific properties to be returned (comma-separated, e.g., 'id,name,webUrl').                                                              |
| `group_id`   | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | Unique identifier (GUID/UUID) of the Microsoft Teams group/team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').           |
| `channel_id` | string |     ✅    | `"19:3442cabe1ce346538fec728d83abe8a5@thread.tacv2"` | Unique identifier of the channel within the specified team. Must be in thread format (e.g., '19:3442cabe1ce346538fec728d83abe8a5\@thread.tacv2'). |

***

### `Microsoft Teams Get Group Team Channel`

Integration name: **MICROSOFT\_TEAMS\_GET\_GROUP\_TEAM\_CHANNEL**

DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_CHANNEL instead. Tool to get a specific channel from a group's team. Use when you have a group ID and channel ID to fetch channel details.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                                                                                                   |
| ------------ | ------ | :------: | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | string |          | `"members"`                                          | Comma-separated list of relationships to expand and include in the response.                                                                                  |
| `select`     | string |          | `"id,displayName,description"`                       | Comma-separated list of properties to include in the response (e.g., 'id,displayName,description'). Leave empty to return all default properties.             |
| `group_id`   | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | The unique identifier (GUID) of the group. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                             |
| `channel_id` | string |     ✅    | `"19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2"` | The unique identifier of the channel within the specified group's team. Must be in thread format (e.g., '19:04e881b862664873b6e97eeeb6961e5e\@thread.tacv2'). |

***

### `Microsoft Teams Get My Profile`

Integration name: **MICROSOFT\_TEAMS\_GET\_MY\_PROFILE**

Tool to retrieve a user's profile (id/UPN/mail/displayName). Supports both delegated auth (use user\_id='me') and application-only auth (specify user ID/UPN). Use when operations require user identity information (e.g., chat creation).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                   | Description                                                                                                                                                                            |
| --------- | ------ | :------: | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `select`  | string |          | `"id,userPrincipalName,mail,displayName"` | Comma-separated list of properties to include in the response. Maps to the $select query parameter. If not specified, returns id, userPrincipalName, mail, and displayName by default. |
| `user_id` | string |          | `"me"`                                    | The user's unique identifier (GUID) or user principal name (email). Use 'me' for delegated auth (currently signed-in user) or specify a user ID/UPN for application-only (S2S) auth.   |

***

### `Microsoft Teams Get Offer Shift Request`

Integration name: **MICROSOFT\_TEAMS\_GET\_OFFER\_SHIFT\_REQUEST**

Tool to get a specific offer shift request from a Microsoft Teams schedule. Use when you need to retrieve details of a single offer shift request by its ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type   | Required | Example                                       | Description                                                                                                                                     |
| ------------------------ | ------ | :------: | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`                 | string |          | —                                             | Expand related entities to include additional data in the response.                                                                             |
| `select`                 | string |          | `"id,state,recipientActionDateTime"`          | Select specific properties to be returned (comma-separated, e.g., 'id,state,recipientActionDateTime').                                          |
| `team_id`                | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').               |
| `offer_shift_request_id` | string |     ✅    | `"SREQ_6578bed4-f09c-4d6e-9d2a-ec86d2fe8244"` | Unique identifier of the offer shift request to retrieve. Must start with 'SREQ\_' prefix (e.g., 'SREQ\_6578bed4-f09c-4d6e-9d2a-ec86d2fe8244'). |

***

### `Microsoft Teams Get Online Meeting`

Integration name: **MICROSOFT\_TEAMS\_GET\_ONLINE\_MEETING**

Tool to retrieve details of a specific Microsoft Teams online meeting by its ID. Use when you need to get the properties and relationships of an existing meeting.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                                                                                                                                  | Description                                                                                                                                             |
| ------------ | ------ | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | array  |          | `["attendanceReports"]`                                                                                                                                  | Expand related entities to include additional information in the response.                                                                              |
| `select`     | array  |          | `["id","subject","startDateTime","endDateTime","joinWebUrl"]`                                                                                            | Select specific properties to be returned. Allows filtering the response to include only the fields you need.                                           |
| `user_id`    | string |          | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"`                                                                                                                 | The user ID (UPN or object ID) of the meeting organizer. Required for S2S (client credentials) authentication. Not needed for delegated authentication. |
| `meeting_id` | string |     ✅    | `"MSo0M2YwYzE0ZC1iY2E4LTQyMWYtYjc2Mi1jM2Q4ZGQ3NWJlMWYqMCoqMTk6bWVldGluZ19PREUwTlRjNE9XVXRZamRsT0MwMFl6QTVMVGd5T0RRdE5UUTBORGc0MVdVd1ptRXdAdGhyZWFkLnYy"` | The unique identifier (ID) of the online meeting to retrieve. This is the meeting's ID in the format returned when creating a meeting.                  |

***

### `Microsoft Teams Get Open Shift`

Integration name: **MICROSOFT\_TEAMS\_GET\_OPEN\_SHIFT**

Tool to get a specific open shift from a Microsoft Teams schedule. Use when you need to retrieve details about a particular unassigned open shift by its ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                                          | Description                                                                                                                                   |
| -------------- | ------ | :------: | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`       | string |          | —                                                | Expand related entities to include additional data in the response.                                                                           |
| `select`       | string |          | `"id,schedulingGroupId,sharedOpenShift"`         | Select specific properties to be returned (comma-separated, e.g., 'id,schedulingGroupId,sharedOpenShift').                                    |
| `team_id`      | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`         | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').             |
| `openshift_id` | string |     ✅    | `"OPNSHFT_36878d77-7319-4c0e-9071-28f1f6a231c0"` | Unique identifier of the open shift to retrieve. Typically in the format 'OPNSHFT\_' (e.g., 'OPNSHFT\_36878d77-7319-4c0e-9071-28f1f6a231c0'). |

***

### `Microsoft Teams Get Open Shift Change Request`

Integration name: **MICROSOFT\_TEAMS\_GET\_OPEN\_SHIFT\_CHANGE\_REQUEST**

Tool to retrieve a specific open shift change request from a Microsoft Teams team's schedule. Use when you need to get details about a particular open shift request including its state, sender, and manager actions.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                      | Type   | Required | Example                                       | Description                                                                                                                                                                                        |
| ------------------------------ | ------ | :------: | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`                       | string |          | `"*"`                                         | Expand related entities to include additional data in the response.                                                                                                                                |
| `select`                       | string |          | `"id,state,openShiftId"`                      | Select specific properties to be returned (comma-separated, e.g., 'id,state,openShiftId').                                                                                                         |
| `team_id`                      | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                                                  |
| `open_shift_change_request_id` | string |     ✅    | `"SREQ_ba70828a-6add-43f6-9fc6-57eaddcfd0ef"` | Unique identifier of the openShiftChangeRequest to retrieve. This is the ID of the open shift change request resource in the team's schedule (e.g., 'SREQ\_ba70828a-6add-43f6-9fc6-57eaddcfd0ef'). |

***

### `Microsoft Teams Get Presence`

Integration name: **MICROSOFT\_TEAMS\_GET\_PRESENCE**

Tool to get a specific user's presence information. Use when checking availability status, activity, or work location for a particular user.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                                                                          |
| --------- | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`  | string |          | `"statusMessage"`                        | Comma-separated list of relationships to expand inline (e.g., 'statusMessage'). If unspecified, no relationships are expanded.                       |
| `select`  | string |          | `"availability,activity"`                | Comma-separated OData property names to include in the response (e.g., 'availability,activity'). If unspecified, all properties are returned.        |
| `user_id` | string |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"` | The unique identifier (GUID) or user principal name (UPN) of the user whose presence to retrieve. Use 'me' to get the authenticated user's presence. |

***

### `Microsoft Teams Get Primary Channel`

Integration name: **MICROSOFT\_TEAMS\_GET\_PRIMARY\_CHANNEL**

Tool to get the default (General) channel of a team. Use when you need to access the primary channel without knowing its channel ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                                                                              |
| --------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`  | string |          | `"members"`                              | Comma-separated list of relationships to expand inline (e.g., 'members', 'tabs'). Note: Expanding some relationships may require additional permissions. |
| `select`  | string |          | `"id,displayName,description"`           | Comma-separated list of properties to include in the response (e.g., 'id,displayName,description'). Empty returns all default properties.                |
| `team_id` | string |     ✅    | `"02bd9fd6-8f93-4758-87c3-1fb73740a315"` | The unique identifier of the Microsoft Teams team. Must be a valid GUID (e.g., '02bd9fd6-8f93-4758-87c3-1fb73740a315').                                  |

***

### `Microsoft Teams Get Schedule`

Integration name: **MICROSOFT\_TEAMS\_GET\_SCHEDULE**

Tool to retrieve the properties and relationships of a schedule object. Use when you need to get schedule configuration details for a team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                                                                                    |
| --------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`  | string |          | `"shifts"`                               | Comma-separated list of related entities to expand inline (e.g., 'shifts', 'timesOff'). Leave empty to get only the schedule properties without relationships. |
| `select`  | string |          | `"id,enabled,timeZone"`                  | Comma-separated list of properties to include in the response (e.g., 'id,enabled,timeZone'). Leave empty to get all properties.                                |
| `team_id` | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier of the team (GUID format). This is the team whose schedule you want to retrieve.                                                         |

***

### `Microsoft Teams Get Scheduling Group`

Integration name: **MICROSOFT\_TEAMS\_GET\_SCHEDULING\_GROUP**

Tool to retrieve a specific scheduling group from a Microsoft Teams team's schedule. Use when you need to get details about a scheduling group including its members, status, and metadata.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                      | Description                                                                                                                                      |
| -------------------- | ------ | :------: | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `expand`             | string |          | `"*"`                                        | Expand related entities to include additional data in the response.                                                                              |
| `select`             | string |          | `"id,displayName,userIds"`                   | Select specific properties to be returned (comma-separated, e.g., 'id,displayName,userIds').                                                     |
| `team_id`            | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`     | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                     |
| `schedulinggroup_id` | string |     ✅    | `"TAG_f914d037-00a3-4ba4-b712-ef178cbea263"` | Unique identifier of the scheduling group to retrieve. This can be a GUID or a tag-based ID (e.g., 'TAG\_f914d037-00a3-4ba4-b712-ef178cbea263'). |

***

### `Microsoft Teams Get Shift`

Integration name: **MICROSOFT\_TEAMS\_GET\_SHIFT**

Tool to retrieve a shift by ID from a Microsoft Teams team schedule. Use when you need to get details of a specific shift assignment.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                                       | Description                                                                                                                                                      |
| ---------- | ------ | :------: | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`   | string |          | `"activities"`                                | Comma-separated list of relationships to expand inline in the response.                                                                                          |
| `select`   | string |          | `"id,userId,sharedShift"`                     | Comma-separated list of properties to include in the response (e.g., 'id,userId,sharedShift'). Use to optimize performance by requesting only needed properties. |
| `team_id`  | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | The unique identifier of the team (GUID format).                                                                                                                 |
| `shift_id` | string |     ✅    | `"SHFT_ce18c3e5-5cd0-4513-90a8-b828635d78f8"` | The unique identifier of the shift to retrieve.                                                                                                                  |

***

### `Microsoft Teams Get Swap Shifts Change Request`

Integration name: **MICROSOFT\_TEAMS\_GET\_SWAP\_SHIFTS\_CHANGE\_REQUEST**

Tool to get a specific swap shift change request from a Microsoft Teams schedule. Use when you need to retrieve details of a single swap shift change request by its ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                       | Type   | Required | Example                                       | Description                                                                                                                                           |
| ------------------------------- | ------ | :------: | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`                        | string |          | —                                             | Expand related entities to include additional data in the response.                                                                                   |
| `select`                        | string |          | `"id,state,recipientActionDateTime"`          | Select specific properties to be returned (comma-separated, e.g., 'id,state,recipientActionDateTime').                                                |
| `team_id`                       | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                     |
| `swap_shifts_change_request_id` | string |     ✅    | `"SREQ_99721bb2-ec50-4615-ac20-d22c3710f762"` | Unique identifier of the swap shift change request to retrieve. Must start with 'SREQ\_' prefix (e.g., 'SREQ\_99721bb2-ec50-4615-ac20-d22c3710f762'). |

***

### `Microsoft Teams Get Tab`

Integration name: **MICROSOFT\_TEAMS\_GET\_TAB**

Tool to get a specific tab in a Microsoft Teams channel. Use when you need to retrieve details of a particular tab.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                                                                                         |
| ------------ | ------ | :------: | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | string |          | `"teamsApp"`                                         | Expand related entities. Comma-separated list of relationships to include inline in the response. Use 'teamsApp' to include full Teams app details. |
| `select`     | string |          | `"id,displayName,webUrl"`                            | Select properties to be returned. Comma-separated list of property names (e.g., 'id,displayName,webUrl').                                           |
| `tab_id`     | string |     ✅    | `"3ed5b337-c2c9-4d5d-b7b4-84ff09a8fc1c"`             | The unique identifier of the tab to retrieve.                                                                                                       |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | The unique identifier of the team. Must be a valid GUID format.                                                                                     |
| `channel_id` | string |     ✅    | `"19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2"` | The unique identifier of the channel. Can be URL-encoded (e.g., '19%3A04e881b862664873b6e97eeeb6961e5e%40thread.tacv2') or plain format.            |

***

### `Microsoft Teams Get Team From Group`

Integration name: **MICROSOFT\_TEAMS\_GET\_TEAM\_FROM\_GROUP**

Tool to get a specific team. Use when full details of one team by ID are needed.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                                  | Description                                                                                                                                                                                                                  |
| ---------- | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`   | string |          | `"channels"`                             | OData $expand query parameter to include related resources inline. Comma-separated list of relationships (e.g., 'channels', 'members', 'operations'). Note: Expanding some relationships may require additional permissions. |
| `select`   | string |          | `"id,displayName,description"`           | OData $select query parameter to specify which properties to include in the response. Comma-separated list of property names (e.g., 'id,displayName,description').                                                           |
| `group_id` | string |     ✅    | `"123e4567-e89b-12d3-a456-426614174000"` | GUID of the Microsoft 365 group that has an associated team.                                                                                                                                                                 |

***

### `Microsoft Teams Get Team Member`

Integration name: **MICROSOFT\_TEAMS\_GET\_TEAM\_MEMBER**

Tool to get a specific conversation member from a team. Use when retrieving details about a team member by their membership ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                                                                                                                                              | Description                                                       |
| --------------- | ------ | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| `team_id`       | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                                                                                                                             | The unique identifier of the team.                                |
| `membership_id` | string |     ✅    | `"MCMjMSMjYTZhNTVjNWYtMDc0Ny00ODA0LWExNjYtMmI1ZGZjOWFjZTJhIyM4N2IwNTYwZi1mYzBkLTQ0NDItYWRkOC1iMzgwY2E5MjY3MDcjIzQzZjBjMTRkLWJjYTgtNDIxZi1iNzYyLWMzZDhkZDc1YmUxZg=="` | The unique identifier of the conversation member (membership ID). |

***

### `Microsoft Teams Get Team Operation`

Integration name: **MICROSOFT\_TEAMS\_GET\_TEAM\_OPERATION**

Tool to retrieve the status of a Teams async operation using teamId and operationId. Use when you need to poll and track the progress of long-running operations like team creation or archiving. Microsoft recommends waiting at least 30 seconds between polling requests.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                                  | Description                                                                                                          |
| -------------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `team_id`      | string |     ✅    | `"dbd8de4f-5d47-48da-87f1-594bed003375"` | The unique identifier of the team associated with the operation.                                                     |
| `operation_id` | string |     ✅    | `"3a6fdce1-c261-48bc-89de-1cfef658c0d5"` | The unique identifier of the teamsAsyncOperation. Obtained from the Location header of the async operation response. |

***

### `Microsoft Teams Get Teams App Definition`

Integration name: **MICROSOFT\_TEAMS\_GET\_TEAMS\_APP\_DEFINITION**

Tool to get an installed app in a Microsoft Teams team. Use when you need to retrieve details of a specific app installation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type   | Required | Example                                  | Description                                                                                                                       |
| --------------------- | ------ | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `expand`              | string |          | `"teamsAppDefinition"`                   | Expand related entities to include additional data in the response. Supports 'teamsApp', 'teamsAppDefinition'.                    |
| `select`              | string |          | `"id,consentedPermissionSet"`            | Select specific properties to be returned (comma-separated, e.g., 'id,consentedPermissionSet').                                   |
| `team_id`             | string |     ✅    | `"12345678-1234-1234-1234-123456789abc"` | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '12345678-1234-1234-1234-123456789abc'). |
| `app_installation_id` | string |     ✅    | `"base64-encoded-app-installation-id"`   | Unique identifier of the app installation. This is a base64-encoded string returned by Microsoft Graph API.                       |

***

### `Microsoft Teams Get Team Template`

Integration name: **MICROSOFT\_TEAMS\_GET\_TEAM\_TEMPLATE**

DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_TEAM\_FROM\_GROUP with expand="template" instead. Tool to get the template used to create a team. Use when you need to retrieve the template information for a specific team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                     |
| --------- | ------ | :------: | ---------------------------------------- | --------------------------------------------------------------- |
| `team_id` | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier of the team. Must be a valid GUID format. |

***

### `Microsoft Teams Get Time Off`

Integration name: **MICROSOFT\_TEAMS\_GET\_TIME\_OFF**

Tool to retrieve a specific time off entry from a Microsoft Teams team's schedule by ID. Use when you need to get details about a particular time off period including its dates, reason, and status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                       | Description                                                                                                                                                             |
| ------------ | ------ | :------: | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | string |          | `"*"`                                         | Expand related entities to include additional data in the response.                                                                                                     |
| `select`     | string |          | `"id,userId,sharedTimeOff"`                   | Select specific properties to be returned (comma-separated, e.g., 'id,userId,sharedTimeOff').                                                                           |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                            |
| `timeoff_id` | string |     ✅    | `"SHFT_d3b1de89-60b8-4e61-81b7-c55ab222c1ab"` | Unique identifier of the timeOff entry to retrieve. This is the ID of the timeOff resource in the team's schedule (e.g., 'SHFT\_d3b1de89-60b8-4e61-81b7-c55ab222c1ab'). |

***

### `Microsoft Teams Get Time Off Reason`

Integration name: **MICROSOFT\_TEAMS\_GET\_TIME\_OFF\_REASON**

Tool to get a specific time off reason from a team's schedule. Use when you need to retrieve details about a time off reason including its display name, icon type, and active status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                      | Description                                                                                                                                                                   |
| -------------------- | ------ | :------: | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`            | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`     | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                                  |
| `time_off_reason_id` | string |     ✅    | `"TOR_891045ca-b5d2-406b-aa06-a3c8921245d7"` | Unique identifier of the time off reason to retrieve. This is the ID of the timeOffReason resource in the team's schedule (typically starts with 'TOR\_' followed by a GUID). |

***

### `Microsoft Teams Get Time Off Request`

Integration name: **MICROSOFT\_TEAMS\_GET\_TIME\_OFF\_REQUEST**

Tool to retrieve a specific time off request from a team's schedule. Use when you need to check the status or details of a time off request.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type   | Required | Example                                       | Description                                                                                                                  |
| --------------------- | ------ | :------: | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `team_id`             | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |
| `time_off_request_id` | string |     ✅    | `"SREQ_0782ff6b-0252-434f-86f3-6bd2d70cd5ae"` | The unique identifier of the time off request to retrieve. Format typically starts with 'SREQ\_' followed by a GUID.         |

***

### `Microsoft Teams Get User Chat`

Integration name: **MICROSOFT\_TEAMS\_GET\_USER\_CHAT**

Tool to retrieve a specific chat for a user. Use when you need to get details about a chat that a specific user is part of.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                           | Description                                                                                                                                                                                |
| --------- | ------ | :------: | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `expand`  | array  |          | `["members"]`                                     | Expand related entities. Supported values: 'members' (includes all chat members), 'lastMessagePreview' (includes preview of the last message).                                             |
| `select`  | array  |          | `["id","topic","chatType"]`                       | Select properties to be returned. Specify which properties to include in the response to optimize the query.                                                                               |
| `chat_id` | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"` | The unique identifier of the chat to retrieve. This is the chat's ID in the format '19:abc123def456\@thread.v2' for group chats or '19:<user1_user2@unq.gbl.spaces>' for one-on-one chats. |
| `user_id` | string |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"`          | The unique identifier of the user. Can be the user's UPN (user principal name) or the user's object ID (GUID).                                                                             |

***

### `Microsoft Teams Get User Teamwork`

Integration name: **MICROSOFT\_TEAMS\_GET\_USER\_TEAMWORK**

Tool to get userTeamwork settings for a specified user, including Microsoft Teams region and locale. Use when you need to determine user's Teams configuration or regional settings.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example              | Description                                                                                                                                           |
| --------- | ------ | :------: | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`  | string |          | `"installedApps"`    | Comma-separated list of relationships to expand inline. Maps to the $expand query parameter.                                                          |
| `select`  | string |          | `"id,locale,region"` | Comma-separated list of properties to include in the response. Maps to the $select query parameter.                                                   |
| `user_id` | string |     ✅    | `"me"`               | The unique identifier of the user. Can be the user's GUID or user principal name (UPN). Use 'me' to query the authenticated user's teamwork settings. |

***

### `Microsoft Teams Hide Chat For User`

Integration name: **MICROSOFT\_TEAMS\_HIDE\_CHAT\_FOR\_USER**

Tool to hide a Microsoft Teams chat for a specific user. Use when you need to hide a chat from a user's chat list. Note: The chat is automatically unhidden if an action such as sending a message is taken at the chat level.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                                                                         | Description                                                                                                       |
| --------- | ------ | :------: | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `user`    | object |     ✅    | —                                                                                               | User identity containing the user ID and tenant ID. In delegated mode, users can only hide a chat for themselves. |
| `chat_id` | string |     ✅    | `"19:7d898072-792c-4006-bb10-5ca9f2590649_8ea0e38b-efb3-4757-924a-5f94061cf8c2@unq.gbl.spaces"` | The unique identifier of the chat to hide.                                                                        |

***

### `Microsoft Teams List Associated Teams`

Integration name: **MICROSOFT\_TEAMS\_LIST\_ASSOCIATED\_TEAMS**

Tool to list teams that a user is associated with in Microsoft Teams. Use when you need to get teams where a user is either a direct member or a member of a shared channel hosted in the team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                      |
| --------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `user_id` | string |     ✅    | `"me"`  | User ID or user principal name (UPN) to query associated teams for. Use 'me' to query the authenticated user's associated teams. |

***

### `Microsoft Teams List Channel Tabs`

Integration name: **MICROSOFT\_TEAMS\_LIST\_CHANNEL\_TABS**

Tool to list tabs from a Microsoft Teams channel. Use when you need to retrieve all tabs configured in a specific channel. Note: The Files tab (native to channels) is not returned by this API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example                                                  | Description                                                                                                                                         |
| ------------ | ------- | :------: | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | `50`                                                     | Show only the first n items. Use to limit the number of tabs returned in the response.                                                              |
| `skip`       | integer |          | —                                                        | Skip the first n items. Use with 'top' for pagination to retrieve subsequent pages of tabs.                                                         |
| `count`      | boolean |          | —                                                        | Include count of items in the response. When true, adds @odata.count with total number of tabs.                                                     |
| `expand`     | string  |          | `"teamsApp"`                                             | Expand related entities. Comma-separated list of relationships to include inline in the response. Use 'teamsApp' to include full Teams app details. |
| `filter`     | string  |          | `"teamsApp/id eq 'com.microsoft.teamspace.tab.planner'"` | Filter items by property values. Use OData filter syntax (e.g., 'teamsApp/id eq "com.microsoft.teamspace.tab.planner"').                            |
| `search`     | string  |          | —                                                        | Search items by search phrases. Use OData search syntax to find tabs matching search criteria.                                                      |
| `select`     | string  |          | `"id,displayName,webUrl"`                                | Select properties to be returned. Comma-separated list of property names (e.g., 'id,displayName,webUrl').                                           |
| `orderby`    | string  |          | `"displayName asc"`                                      | Order items by property values. Comma-separated list of properties with optional 'asc' or 'desc' (e.g., 'displayName asc').                         |
| `team_id`    | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                 | The unique identifier (GUID) of the team. This is the team ID that contains the channel.                                                            |
| `channel_id` | string  |     ✅    | `"19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2"`     | The unique identifier of the channel. Can be URL-encoded (e.g., '19%3A04e881b862664873b6e97eeeb6961e5e%40thread.tacv2') or plain format.            |

***

### `Microsoft Teams List Chat`

Integration name: **MICROSOFT\_TEAMS\_LIST\_CHAT**

DEPRECATED: Use MICROSOFT\_TEAMS\_CHATS\_GET\_ALL\_CHATS instead. Tool to list chats that the user is part of. Use when retrieving the list of chats for a user.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                     | Description                                                                                                                                                                                    |
| --------- | ------- | :------: | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                        | Show only the first n items. Maximum allowed value is 50.                                                                                                                                      |
| `skip`    | integer |          | `0`                                         | Skip the first n items                                                                                                                                                                         |
| `count`   | boolean |          | `true`                                      | Include count of items in the response                                                                                                                                                         |
| `expand`  | array   |          | `["members"]`                               | Expand related entities. Currently supports 'members' and 'lastMessagePreview'.                                                                                                                |
| `filter`  | string  |          | `"chatType eq 'group'"`                     | Filter items by property values (do not include '$filter='). Supports filtering by chatType, installedApps. Example: "chatType eq 'group'" or "installedApps/any(a:a/teamsApp/id eq 'app-id')" |
| `search`  | string  |          | `"project"`                                 | Search items by search phrases                                                                                                                                                                 |
| `select`  | array   |          | `["id","topic","chatType"]`                 | Select properties to be returned. If omitted, default properties are returned.                                                                                                                 |
| `orderby` | string  |          | `"lastMessagePreview/createdDateTime desc"` | Order items by property values. Currently supports 'lastMessagePreview/createdDateTime desc' in descending order. Ascending order is not supported.                                            |
| `user_id` | string  |          | `"me"`                                      | The user ID for whom to list chats. For delegated auth, use 'me' or a specific user ID. For application-only auth (S2S), you MUST provide a specific user ID (GUID format). Default is 'me'.   |

***

### `Microsoft Teams List Chat Members`

Integration name: **MICROSOFT\_TEAMS\_LIST\_CHAT\_MEMBERS**

DEPRECATED: Use MICROSOFT\_TEAMS\_USERS\_CHATS\_LIST\_MEMBERS instead. Tool to list members of a Microsoft Teams chat. Use when you need to retrieve the members of a specific one-on-one chat, group chat, or meeting chat.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                                                                         | Description                                                                                           |
| --------- | ------ | :------: | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `chat_id` | string |     ✅    | `"19:09ddc990-3821-4ceb-8019-24d39998f93e_48d31887-5fad-4d73-a9f5-3c356e68a038@unq.gbl.spaces"` | GUID of the Microsoft Teams chat to retrieve members from. This is the chat ID returned by Graph API. |

***

### `Microsoft Teams List Communications Calls Operations`

Integration name: **MICROSOFT\_TEAMS\_LIST\_COMMUNICATIONS\_CALLS\_OPERATIONS**

Tool to list operations on a Microsoft Teams call. Use when you need to retrieve the status of long-running operations like adding large gallery views, recording, or playing prompts on an active call.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                  | Description                                                                                                          |
| --------- | ------- | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                     | Maximum number of operations to return in a single response. Default is 50 if not specified.                         |
| `skip`    | integer |          | `0`                                      | Number of operations to skip before returning results. Used for pagination.                                          |
| `count`   | boolean |          | —                                        | Include count of total items in the response. When true, adds @odata.count to response.                              |
| `expand`  | string  |          | —                                        | Expand related entities inline. Comma-separated list of relationships to expand.                                     |
| `filter`  | string  |          | `"status eq 'completed'"`                | Filter items by property values using OData filter syntax. Example: "status eq 'completed'".                         |
| `search`  | string  |          | —                                        | Search items by search phrases. Filters operations based on matching text.                                           |
| `select`  | string  |          | `"id,status,clientContext"`              | Select specific properties to include in response. Comma-separated list of property names. Example: 'id,status'.     |
| `call_id` | string  |     ✅    | `"57dab8b1-894c-409a-b240-bd8beae78896"` | The unique identifier of the call.                                                                                   |
| `orderby` | string  |          | `"id asc"`                               | Order items by property values. Comma-separated list of properties with optional 'asc' or 'desc'. Example: 'id asc'. |

***

### `Microsoft Teams List Deleted Teams`

Integration name: **MICROSOFT\_TEAMS\_LIST\_DELETED\_TEAMS**

Tool to list deleted Microsoft Teams and their properties. Use when you need to retrieve a list of teams that have been deleted.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example | Description                                                                 |
| --------- | ------- | :------: | ------- | --------------------------------------------------------------------------- |
| `top`     | integer |          | `50`    | Show only the first n items. Maximum value is 999.                          |
| `skip`    | integer |          | —       | Skip the first n items for pagination.                                      |
| `count`   | boolean |          | —       | Include count of items in the response.                                     |
| `expand`  | string  |          | —       | Expand related entities to include additional data in the response.         |
| `filter`  | string  |          | —       | Filter items by property values using OData query syntax.                   |
| `search`  | string  |          | —       | Search items by search phrases. Use this to find deleted teams by keywords. |
| `select`  | string  |          | `"id"`  | Select specific properties to be returned (comma-separated, e.g., 'id').    |
| `orderby` | string  |          | `"id"`  | Order items by property values (e.g., 'id' or 'id desc').                   |

***

### `Microsoft Teams List Group Team Channels`

Integration name: **MICROSOFT\_TEAMS\_LIST\_GROUP\_TEAM\_CHANNELS**

DEPRECATED: Use MICROSOFT\_TEAMS\_LIST\_CHANNELS instead. Tool to list channels from a group's associated team. Use when you have a group ID and need to retrieve its team's channels.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type    | Required | Example                                  | Description                                                                                                                                |
| ---------- | ------- | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `top`      | integer |          | `50`                                     | Show only the first n items. Use to limit the number of channels returned in the response.                                                 |
| `skip`     | integer |          | —                                        | Skip the first n items. Use with 'top' for pagination to retrieve subsequent pages of channels.                                            |
| `count`    | boolean |          | —                                        | Include count of items in the response. When true, adds @odata.count with total number of channels.                                        |
| `expand`   | string  |          | `"members"`                              | Expand related entities. Comma-separated list of relationships to include inline in the response.                                          |
| `filter`   | string  |          | `"membershipType eq 'standard'"`         | Filter items by property values. Use OData filter syntax (e.g., 'membershipType eq 'standard'').                                           |
| `search`   | string  |          | —                                        | Search items by search phrases. Use OData search syntax to find channels matching search criteria.                                         |
| `select`   | string  |          | `"id,displayName,description"`           | Select properties to be returned. Comma-separated list of property names (e.g., 'id,displayName,description').                             |
| `orderby`  | string  |          | `"displayName asc"`                      | Order items by property values. Comma-separated list of properties with optional 'asc' or 'desc' (e.g., 'displayName asc').                |
| `group_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier (GUID) of the group. This is the group ID, not the team ID. Use this to list channels for a group's associated team. |

***

### `Microsoft Teams List Group Team Operations`

Integration name: **MICROSOFT\_TEAMS\_LIST\_GROUP\_TEAM\_OPERATIONS**

Tool to list operations on a group's team. Use when you need to retrieve all async operations (such as team creation, archiving, channel creation) for a specific group's team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                                  | Description                                                                                                 |
| ---------- | ------ | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `group_id` | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier of the group. This is the group ID (GUID) whose team operations you want to retrieve. |

***

### `Microsoft Teams List Incoming Channels`

Integration name: **MICROSOFT\_TEAMS\_LIST\_INCOMING\_CHANNELS**

Tool to list incoming channels shared with a Microsoft Teams team. Use when you need to view channels from other teams that have been shared with this team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                                                                                                                                                                      |
| --------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `filter`  | string |          | `"membershipType eq 'shared'"`           | Filter items by property values using OData query syntax (e.g., 'membershipType eq "shared"' or 'startswith(displayName, "Sales")'). This is one of only two query parameters officially supported by the Microsoft Graph API for this endpoint. |
| `select`  | string |          | `"id,displayName,description"`           | Select specific properties to be returned (comma-separated, e.g., 'id,displayName,description'). This is one of only two query parameters officially supported by the Microsoft Graph API for this endpoint.                                     |
| `team_id` | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). Use MICROSOFT\_TEAMS\_LIST\_USER\_JOINED\_TEAMS to get team IDs.                                               |

***

### `Microsoft Teams List Installed Apps`

Integration name: **MICROSOFT\_TEAMS\_LIST\_INSTALLED\_APPS**

Tool to list apps installed in a Microsoft Teams team. Use when you need to retrieve the collection of apps installed in a specific team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type    | Required | Example                                                           | Description                                                                                                                             |
| ---------- | ------- | :------: | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `top`      | integer |          | `50`                                                              | Show only the first n items. Maximum value is 999.                                                                                      |
| `skip`     | integer |          | —                                                                 | Skip the first n items for pagination.                                                                                                  |
| `count`    | boolean |          | —                                                                 | Include count of items in the response.                                                                                                 |
| `expand`   | string  |          | `"teamsAppDefinition"`                                            | Expand related entities to include additional data in the response. Supports 'teamsApp', 'teamsAppDefinition'.                          |
| `filter`   | string  |          | `"teamsApp/externalId eq 'cf1ba4c7-f94e-4d80-ba90-5594b641a8ee'"` | Filter items by property values using OData query syntax (e.g., 'teamsApp/externalId eq 'cf1ba4c7-f94e-4d80-ba90-5594b641a8ee'').       |
| `search`   | string  |          | —                                                                 | Search items by search phrases. Use this to find apps by keywords in their name or description.                                         |
| `select`   | string  |          | `"id,consentedPermissionSet"`                                     | Select specific properties to be returned (comma-separated, e.g., 'id,consentedPermissionSet').                                         |
| `orderby`  | string  |          | `"displayName"`                                                   | Order items by property values (e.g., 'displayName' or 'displayName desc').                                                             |
| `group_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                          | Unique identifier (GUID/UUID) of the Microsoft Teams group/team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |

***

### `Microsoft Teams List Message Replies`

Integration name: **MICROSOFT\_TEAMS\_LIST\_MESSAGE\_REPLIES**

Tool to list all replies to a specific message in a Microsoft Teams channel. Use when you need to retrieve the conversation thread for a particular message.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example                                              | Description                                                                                                                  |
| ------------ | ------- | :------: | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | `50`                                                 | Show only the first n items. Useful for pagination and limiting result size.                                                 |
| `skip`       | integer |          | —                                                    | Skip the first n items. Used for pagination to retrieve items beyond the initial set.                                        |
| `count`      | boolean |          | —                                                    | Include count of items in the response. When true, adds a total count of matching replies.                                   |
| `expand`     | string  |          | `"replies"`                                          | Expand related entities to include additional data.                                                                          |
| `filter`     | string  |          | —                                                    | Filter items by property values using OData syntax. Example: "messageType eq 'message'" or "from/user/displayName eq 'John'" |
| `search`     | string  |          | —                                                    | Search items by search phrases. Use this to find replies containing specific keywords or phrases.                            |
| `select`     | string  |          | `"id,body,from,createdDateTime"`                     | Select specific properties to be returned (comma-separated). Example: 'id,body,from,createdDateTime'                         |
| `orderby`    | string  |          | `"createdDateTime desc"`                             | Order items by property values. Example: 'createdDateTime desc' or 'lastModifiedDateTime'                                    |
| `team_id`    | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | Unique identifier (GUID) of the Microsoft Teams team.                                                                        |
| `channel_id` | string  |     ✅    | `"19:04e881b862664873b6e97eeeb6961e5e@thread.tacv2"` | Unique identifier of the channel within the team.                                                                            |
| `message_id` | string  |     ✅    | `"1768309336891"`                                    | Unique identifier of the parent message for which to retrieve replies.                                                       |

***

### `Microsoft Teams List Offer Shift Requests`

Integration name: **MICROSOFT\_TEAMS\_LIST\_OFFER\_SHIFT\_REQUESTS**

Tool to list offer shift requests in a Microsoft Teams schedule. Use when you need to retrieve all offer shift requests for a team's schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                  | Description                                                                                                                       |
| --------- | ------- | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                     | Show only the first n items. Maximum value is 999.                                                                                |
| `skip`    | integer |          | —                                        | Skip the first n items for pagination.                                                                                            |
| `count`   | boolean |          | —                                        | Include count of items in the response.                                                                                           |
| `expand`  | string  |          | —                                        | Expand related entities to include additional data in the response.                                                               |
| `filter`  | string  |          | `"state eq 'approved'"`                  | Filter items by property values using OData query syntax (e.g., 'state eq "approved"').                                           |
| `search`  | string  |          | —                                        | Search items by search phrases. Use this to find offer shift requests by keywords.                                                |
| `select`  | string  |          | `"id,state,recipientActionDateTime"`     | Select specific properties to be returned (comma-separated, e.g., 'id,state,recipientActionDateTime').                            |
| `orderby` | string  |          | `"createdDateTime"`                      | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc').                                               |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |

***

### `Microsoft Teams List Online Meetings`

Integration name: **MICROSOFT\_TEAMS\_LIST\_ONLINE\_MEETINGS**

Look up a Microsoft Teams online meeting for a user by identifier. This is effectively a 'lookup-by-identifier' endpoint, NOT a general-purpose list or search. Microsoft Graph REQUIRES an OData $filter predicate on /me/onlineMeetings and /users/{user\_id}/onlineMeetings; without it the API returns HTTP 400 'Filter expression expected'. The only supported filter properties on this endpoint are JoinWebUrl and joinMeetingIdSettings/joinMeetingId (e.g. "JoinWebUrl eq '<https://teams.microsoft.com/l/meetup-join/>...'" or "joinMeetingIdSettings/joinMeetingId eq '1234567890'"). subject and VideoTeleconferenceId are NOT supported here. If you already know the meeting id, prefer MICROSOFT\_TEAMS\_USERS\_GET\_ONLINE\_MEETING. There is no Graph API for free-text searching a user's meetings by title.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                                                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| --------- | ------- | :------: | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                                                                         | Show only the first n items. Maximum value is 50.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `skip`    | integer |          | —                                                                                            | Skip the first n items for pagination.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `count`   | boolean |          | —                                                                                            | Include count of items in the response.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `expand`  | string  |          | —                                                                                            | Expand related entities to include additional data in the response.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `filter`  | string  |     ✅    | `"JoinWebUrl eq 'https://teams.microsoft.com/l/meetup-join/19%3ameeting_xxx%40thread.v2/0'"` | REQUIRED OData $filter predicate. This endpoint is a lookup-by-identifier, NOT a general-purpose search/list — Microsoft Graph returns HTTP 400 'Filter expression expected' without it. The ONLY two supported filter properties are: - JoinWebUrl — e.g. "JoinWebUrl eq '<https://teams.microsoft.com/l/meetup-join/19%3ameeting\\_xxx%40thread.v2/0>'" - joinMeetingIdSettings/joinMeetingId — e.g. "joinMeetingIdSettings/joinMeetingId eq '1234567890'" WRONG (all return HTTP 400): - 'REUNION SICAL' (bare string, not an OData predicate) - subject eq '...' (subject is NOT filterable here) - VideoTeleconferenceId eq '...' (only on /communications/onlineMeetings/) If you already know the meeting id, prefer MICROSOFT\_TEAMS\_USERS\_GET\_ONLINE\_MEETING. |
| `search`  | string  |          | —                                                                                            | Search items by search phrases. Use this to find online meetings by keywords.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `select`  | string  |          | `"id,subject,joinWebUrl"`                                                                    | Select specific properties to be returned (comma-separated, e.g., 'id,subject,joinWebUrl').                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `orderby` | string  |          | `"creationDateTime"`                                                                         | Order items by property values (e.g., 'creationDateTime' or 'creationDateTime desc').                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `user_id` | string  |          | `"john.doe@contoso.com"`                                                                     | User ID or user principal name (UPN) to query online meetings for. With delegated (OAuth2) auth, omit or use 'me' for the signed-in user. With application (S2S/client\_credentials) auth, you MUST provide a specific user ID or UPN — 'me' does not work without a signed-in user.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

***

### `Microsoft Teams List Open Shift Change Requests`

Integration name: **MICROSOFT\_TEAMS\_LIST\_OPEN\_SHIFT\_CHANGE\_REQUESTS**

Tool to list open shift change requests in a Microsoft Teams schedule. Use when you need to retrieve all open shift requests for a team's schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                  | Description                                                                                                                       |
| --------- | ------- | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                     | Show only the first n items. Maximum value is 999.                                                                                |
| `skip`    | integer |          | —                                        | Skip the first n items for pagination.                                                                                            |
| `count`   | boolean |          | —                                        | Include count of items in the response.                                                                                           |
| `expand`  | string  |          | —                                        | Expand related entities to include additional data in the response.                                                               |
| `filter`  | string  |          | `"state eq 'approved'"`                  | Filter items by property values using OData query syntax (e.g., 'state eq "approved"').                                           |
| `search`  | string  |          | —                                        | Search items by search phrases. Use this to find open shift requests by keywords.                                                 |
| `select`  | string  |          | `"id,state,openShiftId"`                 | Select specific properties to be returned (comma-separated, e.g., 'id,state,openShiftId').                                        |
| `orderby` | string  |          | `"createdDateTime"`                      | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc').                                               |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |

***

### `Microsoft Teams List Open Shifts`

Integration name: **MICROSOFT\_TEAMS\_LIST\_OPEN\_SHIFTS**

Tool to list open shifts in a Microsoft Teams schedule. Use when you need to retrieve all unassigned open shifts for a team's schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                  | Description                                                                                                                       |
| --------- | ------- | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                     | Show only the first n items. Maximum value is 999.                                                                                |
| `skip`    | integer |          | —                                        | Skip the first n items for pagination.                                                                                            |
| `count`   | boolean |          | —                                        | Include count of items in the response.                                                                                           |
| `expand`  | string  |          | —                                        | Expand related entities to include additional data in the response.                                                               |
| `filter`  | string  |          | `"schedulingGroupId eq 'TAG_123'"`       | Filter items by property values using OData query syntax (e.g., 'schedulingGroupId eq "TAG\_123"').                               |
| `search`  | string  |          | —                                        | Search items by search phrases. Use this to find open shifts by keywords.                                                         |
| `select`  | string  |          | `"id,schedulingGroupId,sharedOpenShift"` | Select specific properties to be returned (comma-separated, e.g., 'id,schedulingGroupId,sharedOpenShift').                        |
| `orderby` | string  |          | `"createdDateTime"`                      | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc').                                               |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |

***

### `Microsoft Teams List People`

Integration name: **MICROSOFT\_TEAMS\_LIST\_PEOPLE**

Retrieves a list of people relevant to a specified user from Microsoft Graph, noting the `search` parameter is only effective if `user_id` is 'me'.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                              |
| --------- | ------- | :------: | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `"10"`                          | Maximum number of items per page for pagination. Actual count may be less. Service default if unspecified.                                                                                                                                                                                                                                                                                                                               |
| `skip`    | integer |          | `"0"`                           | Number of items to skip for pagination.                                                                                                                                                                                                                                                                                                                                                                                                  |
| `filter`  | string  |          | `"displayName eq 'John Smith'"` | OData $filter query using equality comparisons only. The People API has limited $filter support: only 'eq' operator and 'and' logical operator are supported. OData functions like startsWith, endsWith, and contains are NOT supported and will result in API errors. Supported filterable properties include: displayName, personType/class, personType/subclass. For partial/fuzzy name searches, use the 'search' parameter instead. |
| `search`  | string  |          | `"John Doe"`                    | Fuzzy search query (name, email, or topic like 'topic:marketing'). Effective only when `user_id` is 'me'.                                                                                                                                                                                                                                                                                                                                |
| `select`  | string  |          | `"id,displayName"`              | Comma-separated OData property names to include for each person (e.g., 'id,displayName'). If unspecified, a default set is returned. Note: 'emailAddresses' is not a valid property for microsoft.graph.person; use 'scoredEmailAddresses' instead.                                                                                                                                                                                      |
| `orderby` | string  |          | `"displayName asc"`             | OData $orderby expression to sort results (e.g., 'displayName asc'). The People API has limited $orderby support; primarily 'displayName' is supported. Results are already sorted by relevance by default when using $search.                                                                                                                                                                                                           |
| `user_id` | string  |          | `"me"`                          | Identifier of the user (e.g., 'me', '<adelev@contoso.com>', or GUID) whose relevant people are to be retrieved.                                                                                                                                                                                                                                                                                                                          |

***

### `Microsoft Teams List Pinned Messages`

Integration name: **MICROSOFT\_TEAMS\_LIST\_PINNED\_MESSAGES**

Tool to retrieve the list of pinned messages in a Microsoft Teams chat. Use when you need to get all messages that have been pinned in a specific chat conversation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                           | Description                                                                                                                               |
| --------- | ------ | :------: | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`  | array  |          | `["message"]`                                     | Expand related entities to include additional details. Use 'message' to retrieve the full message content along with pinned message info. |
| `chat_id` | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"` | Unique identifier of the Microsoft Teams chat. Use the Get All Chats action to retrieve valid chat IDs.                                   |

***

### `Microsoft Teams List Schedule Day Notes`

Integration name: **MICROSOFT\_TEAMS\_LIST\_SCHEDULE\_DAY\_NOTES**

Tool to list all dayNotes from a team's schedule. Use when you need to retrieve all day notes or search/filter notes for specific dates in a team's schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                              |
| --------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------- |
| `team_id` | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier of the team. Must be a valid GUID. |

***

### `Microsoft Teams List Scheduling Groups`

Integration name: **MICROSOFT\_TEAMS\_LIST\_SCHEDULING\_GROUPS**

Tool to list scheduling groups in a team's schedule. Use when you need to retrieve all scheduling groups for shift management and organization.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                  | Description                                                                                                                                             |
| --------- | ------- | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                     | Show only the first n items. Limits the number of scheduling groups returned in a single response.                                                      |
| `skip`    | integer |          | `0`                                      | Skip the first n items. Used for pagination to skip over already-retrieved results.                                                                     |
| `count`   | boolean |          | `true`                                   | Include count of items in the response. When true, the response includes @odata.count with total number of scheduling groups.                           |
| `expand`  | string  |          | `"*"`                                    | Expand related entities. Comma-separated list of navigation properties to expand and include in the response.                                           |
| `filter`  | string  |          | `"isActive eq true"`                     | Filter items by property values using OData filter syntax. Example: "isActive eq true" to get only active groups.                                       |
| `search`  | string  |          | `"Morning"`                              | Search items by search phrases. Searches across scheduling group properties like displayName.                                                           |
| `select`  | string  |          | `"id,displayName,isActive"`              | Select properties to be returned. Comma-separated list of property names to include in the response.                                                    |
| `orderby` | string  |          | `"displayName asc"`                      | Order items by property values. Comma-separated list of properties with optional 'asc' or 'desc'. Example: 'displayName asc' or 'createdDateTime desc'. |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier (GUID) of the team. Required to identify which team's scheduling groups to retrieve.                                              |

***

### `Microsoft Teams List Shifts`

Integration name: **MICROSOFT\_TEAMS\_LIST\_SHIFTS**

Tool to list shifts in a Microsoft Teams schedule. Use when you need to retrieve all shifts for a team's schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                              | Description                                                                                                                                                                                                                                             |
| --------- | ------- | :------: | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                                 | Show only the first n items. Maximum value is 999.                                                                                                                                                                                                      |
| `skip`    | integer |          | —                                                    | Skip the first n items for pagination.                                                                                                                                                                                                                  |
| `count`   | boolean |          | —                                                    | Include count of items in the response.                                                                                                                                                                                                                 |
| `expand`  | string  |          | —                                                    | Expand related entities to include additional data in the response.                                                                                                                                                                                     |
| `filter`  | string  |          | `"userId eq '5ca83ce7-291d-43b7-bf53-af79eef4bc1d'"` | Filter items by property values using OData query syntax (e.g., 'userId eq "5ca83ce7-291d-43b7-bf53-af79eef4bc1d"' or 'schedulingGroupId eq "TAG\_123"'). Note: The filter parameter doesn't support using the same property more than once in a query. |
| `search`  | string  |          | —                                                    | Search items by search phrases. Use this to find shifts by keywords.                                                                                                                                                                                    |
| `select`  | string  |          | `"id,userId,sharedShift"`                            | Select specific properties to be returned (comma-separated, e.g., 'id,userId,sharedShift').                                                                                                                                                             |
| `orderby` | string  |          | `"createdDateTime"`                                  | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc').                                                                                                                                                                     |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                                                                                                       |

***

### `Microsoft Teams List Swap Shifts Change Requests`

Integration name: **MICROSOFT\_TEAMS\_LIST\_SWAP\_SHIFTS\_CHANGE\_REQUESTS**

Tool to list swap shift change requests in a Microsoft Teams schedule. Use when you need to retrieve all swap shift requests for a team's schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                  | Description                                                                                                                       |
| --------- | ------- | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                     | Show only the first n items. Maximum value is 999.                                                                                |
| `skip`    | integer |          | —                                        | Skip the first n items for pagination.                                                                                            |
| `count`   | boolean |          | —                                        | Include count of items in the response.                                                                                           |
| `expand`  | string  |          | —                                        | Expand related entities to include additional data in the response.                                                               |
| `filter`  | string  |          | `"state eq 'approved'"`                  | Filter items by property values using OData query syntax (e.g., 'state eq "approved"').                                           |
| `search`  | string  |          | —                                        | Search items by search phrases. Use this to find swap shift requests by keywords.                                                 |
| `select`  | string  |          | `"id,state,recipientActionDateTime"`     | Select specific properties to be returned (comma-separated, e.g., 'id,state,recipientActionDateTime').                            |
| `orderby` | string  |          | `"createdDateTime"`                      | Order items by property values (e.g., 'createdDateTime' or 'createdDateTime desc').                                               |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |

***

### `Microsoft Teams List Team Members`

Integration name: **MICROSOFT\_TEAMS\_LIST\_TEAM\_MEMBERS**

Tool to list members of a Microsoft Teams team. Use when you need to retrieve the members of a specific team, for auditing or notifications.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                                                                          | Description                                                                                                                                                                                                                                                       |
| --------- | ------- | :------: | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                                                                             | Optional maximum number of members to return (1–999).                                                                                                                                                                                                             |
| `filter`  | string  |          | `"(microsoft.graph.aadUserConversationMember/userId eq '73761f06-2ac9-469c-9f10-279a8cc267f9')"` | Optional OData filter expression to filter members. Supports filtering by userId, displayName, or email. Example: "(microsoft.graph.aadUserConversationMember/userId eq '12345')" or "(microsoft.graph.aadUserConversationMember/email eq '<user@example.com>')". |
| `select`  | string  |          | `"id,displayName,email,roles"`                                                                   | Optional comma-separated list of properties to include in the response. Example: "id,displayName,email" to return only those fields.                                                                                                                              |
| `team_id` | string  |     ✅    | `"123e4567-e89b-12d3-a456-426614174000"`                                                         | GUID of the Microsoft Teams team to retrieve members from.                                                                                                                                                                                                        |

***

### `Microsoft Teams List Team Operations`

Integration name: **MICROSOFT\_TEAMS\_LIST\_TEAM\_OPERATIONS**

Tool to list operations from a team. Use when you need to retrieve all async operations (such as team creation, archiving, channel creation) for a specific team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                          |
| --------- | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `team_id` | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier of the team. This is the team ID (GUID) whose operations you want to retrieve. |

***

### `Microsoft Teams List Team Permission Grants`

Integration name: **MICROSOFT\_TEAMS\_LIST\_TEAM\_PERMISSION\_GRANTS**

Tool to list all resource-specific permission grants for a team with support for filtering, pagination, and sorting. Use when you need to identify which Microsoft Entra apps have access to a team and their corresponding permissions.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                                                       |
| --------- | ------ | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `team_id` | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). |

***

### `Microsoft Teams List Team Templates`

Integration name: **MICROSOFT\_TEAMS\_LIST\_TEAM\_TEMPLATES**

Tool to list available Microsoft Teams templates. Use when retrieving templates for team creation or customization workflows.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                                | Description                                                                                                                                                                                           |
| ----------- | ------- | :------: | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`       | integer |          | `50`                                   | Maximum number of templates to return (1–999).                                                                                                                                                        |
| `skip`      | integer |          | `10`                                   | Number of templates to skip for pagination.                                                                                                                                                           |
| `count`     | boolean |          | —                                      | If true, include a count of total matching templates in the response.                                                                                                                                 |
| `expand`    | string  |          | `"definitions"`                        | Comma-separated list of navigation properties to expand and include in the response (e.g., 'definitions'). Use 'definitions' to get full teamTemplateDefinition objects instead of just template IDs. |
| `filter`    | string  |          | `"startsWith(displayName,'Template')"` | OData filter expression to filter the templates (e.g., "startsWith(displayName,'Template')" or "definitions/any(a:a/languageTag eq 'en-US')").                                                        |
| `select`    | string  |          | `"id,displayName"`                     | Comma-separated template properties to include in the response (e.g., 'id,displayName,description'). If empty, default properties are returned.                                                       |
| `orderby`   | string  |          | `"displayName desc"`                   | Comma-separated properties and directions to order the results by (e.g., 'displayName desc').                                                                                                         |
| `skipToken` | string  |          | `""`                                   | Token for server-side pagination. Use the value from @odata.nextLink in the previous response to get the next page of results.                                                                        |

***

### `Microsoft Teams List Time Off`

Integration name: **MICROSOFT\_TEAMS\_LIST\_TIME\_OFF**

Tool to list time off entries from a Microsoft Teams team's schedule. Use when you need to retrieve all time off periods for a team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                              | Description                                                                                                                          |
| --------- | ------- | :------: | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `top`     | integer |          | `50`                                                 | Show only the first n items. Use to limit the number of results returned.                                                            |
| `skip`    | integer |          | —                                                    | Skip the first n items. Use for pagination to offset results.                                                                        |
| `count`   | boolean |          | —                                                    | Include count of items in the response. When true, the response includes the total count of matching items.                          |
| `expand`  | string  |          | `"*"`                                                | Expand related entities to include additional data in the response.                                                                  |
| `filter`  | string  |          | `"userId eq '87d349ed-44d7-43e1-9a83-5f2406dee5bd'"` | Filter items by property values. Use OData filter syntax (e.g., 'userId eq "user-guid"' or 'startDateTime ge 2024-01-01T00:00:00Z'). |
| `search`  | string  |          | —                                                    | Search items by search phrases. Use to find time off entries matching specific text.                                                 |
| `select`  | string  |          | `"id,userId,sharedTimeOff"`                          | Select specific properties to be returned (comma-separated, e.g., 'id,userId,sharedTimeOff').                                        |
| `orderby` | string  |          | `"createdDateTime desc"`                             | Order items by property values. Use OData orderby syntax (e.g., 'createdDateTime desc' or 'userId,startDateTime').                   |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').         |

***

### `Microsoft Teams List Time Off Reasons`

Integration name: **MICROSOFT\_TEAMS\_LIST\_TIME\_OFF\_REASONS**

Tool to get time off reasons from a team's schedule. Use when you need to retrieve the list of available time off reasons for scheduling in Microsoft Teams.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                  | Description                                                                                     |
| --------- | ------- | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                     | Use for limiting the number of results returned.                                                |
| `skip`    | integer |          | —                                        | Skip the first n items. Use for pagination to skip a certain number of results.                 |
| `count`   | boolean |          | —                                        | Include count of items in the response. Set to true to get the total count of time off reasons. |
| `expand`  | string  |          | —                                        | Expand related entities to include additional data in the response.                             |
| `filter`  | string  |          | `"isActive eq true"`                     | Filter items by property values using OData query syntax (e.g., 'isActive eq true').            |
| `search`  | string  |          | —                                        | Search items by search phrases. Use to find time off reasons by keywords.                       |
| `select`  | string  |          | `"id,displayName,isActive"`              | Select specific properties to be returned (comma-separated, e.g., 'id,displayName,isActive').   |
| `orderby` | string  |          | `"displayName"`                          | Order items by property values (e.g., 'displayName' or 'displayName desc').                     |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier (GUID) of the team. Must be a valid UUID format.                          |

***

### `Microsoft Teams List Time Off Requests`

Integration name: **MICROSOFT\_TEAMS\_LIST\_TIME\_OFF\_REQUESTS**

Tool to retrieve a list of time off requests from a Microsoft Teams team's schedule. Use when you need to view all time off requests including their status (pending, approved, declined), dates, and associated users.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                  | Description                                                                                                                       |
| --------- | ------- | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `50`                                     | Maximum value is 999.                                                                                                             |
| `skip`    | integer |          | —                                        | Skip the first n items for pagination.                                                                                            |
| `count`   | boolean |          | —                                        | Include count of items in the response.                                                                                           |
| `expand`  | string  |          | —                                        | Expand related entities to include additional data in the response.                                                               |
| `filter`  | string  |          | `"state eq 'pending'"`                   | Filter items by property values using OData query syntax (e.g., 'state eq "pending"' or 'startDateTime ge 2024-01-01T00:00:00Z'). |
| `search`  | string  |          | —                                        | Search items by search phrases. Use this to find time off requests by keywords.                                                   |
| `select`  | string  |          | `"id,startDateTime,endDateTime,state"`   | Select specific properties to be returned (comma-separated, e.g., 'id,startDateTime,endDateTime,state').                          |
| `orderby` | string  |          | `"startDateTime"`                        | Order items by property values (e.g., 'startDateTime' or 'startDateTime desc').                                                   |
| `team_id` | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').      |

***

### `Microsoft Teams List User Chat Members`

Integration name: **MICROSOFT\_TEAMS\_LIST\_USER\_CHAT\_MEMBERS**

Tool to list members of a specific chat for a user in Microsoft Teams. Use when you need to retrieve the members of a specific user's chat, whether it's a one-on-one chat, group chat, or meeting chat.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                           | Description                                                                                                                          |
| --------- | ------ | :------: | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `chat_id` | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"` | The unique identifier of the chat. This is the chat ID returned by Graph API.                                                        |
| `user_id` | string |     ✅    | `"me"`                                            | The unique identifier of the user. Can be the user's ID (GUID), user principal name (UPN/email), or 'me' for the authenticated user. |

***

### `Microsoft Teams List User Chat Messages`

Integration name: **MICROSOFT\_TEAMS\_LIST\_USER\_CHAT\_MESSAGES**

Tool to retrieve messages from a specific chat for a given user. Use when you need to access chat messages through the user context.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                           | Description                                                                                           |
| --------- | ------- | :------: | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | —                                                 | Maximum number of messages to retrieve. Microsoft Graph enforces a maximum limit of 50 per request.   |
| `skip`    | integer |          | —                                                 | Number of messages to skip for pagination.                                                            |
| `count`   | boolean |          | —                                                 | Include count of items in the response.                                                               |
| `expand`  | array   |          | —                                                 | Expand related entities (e.g., 'replies' to include message replies).                                 |
| `filter`  | string  |          | —                                                 | OData filter expression for filtering messages by property values (do not include '$filter=' prefix). |
| `search`  | string  |          | —                                                 | Search items by search phrases.                                                                       |
| `select`  | array   |          | —                                                 | Select specific properties to be returned in the response.                                            |
| `chat_id` | string  |     ✅    | `"19:2da4c29f6d7041eca70b638b43d45437@thread.v2"` | Unique Microsoft Graph chat identifier. This is the chat ID returned by Graph API.                    |
| `orderby` | string  |          | —                                                 | Order items by property values (comma-separated list of properties).                                  |
| `user_id` | string  |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"`          | Unique identifier (GUID or UPN) of the user whose chats to access.                                    |

***

### `Microsoft Teams List User Joined Teams`

Integration name: **MICROSOFT\_TEAMS\_LIST\_USER\_JOINED\_TEAMS**

Tool to list the Teams that a specified user is a direct member of (joined teams). Use for access/membership audits when enumerating team members is access-restricted.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                              |
| --------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `user_id` | string |     ✅    | `"me"`  | User ID or user principal name (UPN) to query joined teams for. Use 'me' to query the authenticated user's joined teams. |

***

### `Microsoft Teams List Users`

Integration name: **MICROSOFT\_TEAMS\_LIST\_USERS**

Tool to list all users in the organization. Use when you need to retrieve directory users with filtering, pagination, and field selection.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example                            | Description                                                                                                                                                                                                                                                                                                                     |
| ------------------ | ------- | :------: | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`              | integer |          | `50`                               | Maximum number of users to return per page (1-999). Default is 100. For pagination beyond the first page, use the @odata.nextLink URL returned in the response. Note: Some tenants have restrictive page size policies that may reject explicit $top values. If such an error occurs, the request will be retried without $top. |
| `expand`           | string  |          | `"manager"`                        | OData expand related entities (e.g., manager).                                                                                                                                                                                                                                                                                  |
| `filter`           | string  |          | `"startswith(displayName,'John')"` | OData filter to refine results by property values (e.g., startswith(displayName,'A')).                                                                                                                                                                                                                                          |
| `search`           | string  |          | `"\"displayName:John\""`           | OData search query for advanced text search across user properties. Requires ConsistencyLevel: eventual header. Use double quotes for phrases (e.g., "displayName:John"). Not available in Azure AD B2C tenants.                                                                                                                |
| `select`           | string  |          | `"id,displayName,mail"`            | Comma-separated list of user properties to include (e.g., id,displayName,mail).                                                                                                                                                                                                                                                 |
| `orderby`          | string  |          | `"displayName asc"`                | OData orderby clause to sort results (e.g., displayName desc). When combined with $filter, advanced query capabilities (ConsistencyLevel: eventual header and $count=true) may be required and will be added automatically if needed.                                                                                           |
| `consistencyLevel` | string  |          | `"eventual"`                       | Set to 'eventual' when using advanced queries with $count or $search.                                                                                                                                                                                                                                                           |

***

### `Microsoft Teams Mark Chat Read For User`

Integration name: **MICROSOFT\_TEAMS\_MARK\_CHAT\_READ\_FOR\_USER**

Tool to mark a chat as read for a specific user in Microsoft Teams. Use when you need to update the read status of a chat for a particular user.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                           | Description                                                                                   |
| --------- | ------ | :------: | ------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `user`    | object |     ✅    | —                                                 | The user for whom the chat should be marked as read. Must include both user ID and tenant ID. |
| `chat_id` | string |     ✅    | `"19:12f973dcc61b428aae3e1ab42adf199d@thread.v2"` | The unique identifier of the chat to mark as read.                                            |

***

### `Microsoft Teams Mark Chat Unread For User`

Integration name: **MICROSOFT\_TEAMS\_MARK\_CHAT\_UNREAD\_FOR\_USER**

Marks a specific chat as unread for a user by setting the last read message timestamp. Use when you need to mark messages after a certain time as unread.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                 | Type   | Required | Example                                           | Description                                                                                                                                                                                  |
| ------------------------- | ------ | :------: | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user`                    | object |     ✅    | —                                                 | The user for whom the chat should be marked as unread. Must include both user ID and tenant ID.                                                                                              |
| `chat_id`                 | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"` | The unique identifier of the chat to mark as unread.                                                                                                                                         |
| `lastMessageReadDateTime` | string |          | `"2026-02-23T13:59:38.000Z"`                      | The timestamp (ISO 8601 format) up to which the user has read messages. Messages after this timestamp will be marked as unread. If not provided, the chat will be marked as entirely unread. |

***

### `Microsoft Teams Pin Message`

Integration name: **MICROSOFT\_TEAMS\_PIN\_MESSAGE**

Tool to pin a message in a Microsoft Teams chat. Use when you need to highlight an important message for quick access.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                           | Description                                                                                                                                                           |
| ------------ | ------ | :------: | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `chat_id`    | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"` | The unique identifier of the chat where the message to be pinned is located.                                                                                          |
| `message_id` | string |     ✅    | `"1771858324199"`                                 | The unique identifier of the message to pin. This is a numeric timestamp string (milliseconds since epoch) returned by the Microsoft Graph API when listing messages. |

***

### `Microsoft Teams Post Message Reply`

Integration name: **MICROSOFT\_TEAMS\_POST\_MESSAGE\_REPLY**

Sends a reply to an existing message, identified by `message_id`, within a specific `channel_id` of a given `team_id` in Microsoft Teams.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example                                                                                                                             | Description                                                                                                                                                                                                                                                                                                                                                 |
| ----------------- | ------ | :------: | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `content`         | string |     ✅    | `"Acknowledged."`                                                                                                                   | The body of the reply message. This can be plain text or HTML, as specified by the `content_type` field.                                                                                                                                                                                                                                                    |
| `subject`         | string |          | `"Follow-up on the previous discussion"`                                                                                            | The subject of the reply message, in plaintext. Typically null for channel message replies.                                                                                                                                                                                                                                                                 |
| `team_id`         | string |     ✅    | `"fbe2bf47-16c8-47cf-b4a5-4b9b187c508b"`                                                                                            | The unique identifier (GUID) of the Microsoft Teams team that owns/hosts the channel. IMPORTANT: For shared channels, this must be the host team ID (the team that created the channel), not the team where you access the shared channel. If you receive a 404 'Channel does not belong to Team' error, you likely need to use the host team's ID instead. |
| `mentions`        | array  |          | `[{"id":0,"mentioned":{"user":{"id":"user-guid","displayName":"John Doe","userIdentityType":"aadUser"}},"mentionText":"John Doe"}]` | List of entities (users, bots, teams, channels) mentioned in the reply. Each mention should include 'id' (numeric index), 'mentionText', and 'mentioned' (entity details). The 'id' corresponds to the 'id' attribute in HTML tags in the message content.                                                                                                  |
| `channel_id`      | string |     ✅    | `"19:general@thread.tacv2"`                                                                                                         | The unique identifier of the channel containing the message to reply to. Standard channels use format '19:{alphanumeric}@thread.tacv2'. For shared/private channels, the format may differ (e.g., '19:{guid}@thread.tacv2' or '19:{id}@unq.gbl.spaces'). The channel must belong to the team specified in team\_id.                                         |
| `importance`      | string |          | `"normal"`                                                                                                                          | Priority level of the reply message. Values: 'normal', 'high', or 'urgent'. If not specified, defaults to 'normal'.                                                                                                                                                                                                                                         |
| `message_id`      | string |     ✅    | `"1611900000000"`                                                                                                                   | The unique identifier of the specific message within the channel to which this reply is directed.                                                                                                                                                                                                                                                           |
| `attachments`     | array  |          | `[{"id":"attachment-id","name":"file.pdf","contentUrl":"https://example.com/file.pdf","contentType":"reference"}]`                  | References to attached objects like files, tabs, meetings, or rich cards (e.g., adaptive cards). Each attachment should include 'id', 'contentType', 'contentUrl' or 'content', and optionally 'name' and 'thumbnailUrl'.                                                                                                                                   |
| `content_type`    | string |          | `"text"`                                                                                                                            | Specifies the format of the `content` field. Accepted values are 'text' for plain text content and 'html' for content with HTML formatting. Defaults to 'text' if not provided.                                                                                                                                                                             |
| `hosted_contents` | array  |          | —                                                                                                                                   | Inline images or code snippets to embed in the reply. Each item requires a file and a temporary\_id. Reference hosted content in the HTML body via  tags. Requires content\_type to be 'html'.                                                                                                                                                              |

***

### `Microsoft Teams Provision Channel Email`

Integration name: **MICROSOFT\_TEAMS\_PROVISION\_CHANNEL\_EMAIL**

Tool to provision an email address for a Microsoft Teams channel. Use when you need to enable email integration for a specific channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                             |
| ------------ | ------ | :------: | ---------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | The unique identifier of the team that contains the channel.                            |
| `channel_id` | string |     ✅    | `"19:3442cabe1ce346538fec728d83abe8a5@thread.tacv2"` | The unique identifier of the channel within the team to provision an email address for. |

***

### `Microsoft Teams Remove Channel Email`

Integration name: **MICROSOFT\_TEAMS\_REMOVE\_CHANNEL\_EMAIL**

Tool to remove the email address of a channel in Microsoft Teams. Use when you need to disable email integration for a specific channel.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                                                                                                       |
| ------------ | ------ | :------: | ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | The unique identifier (GUID) of the team that contains the channel. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                        |
| `channel_id` | string |     ✅    | `"19:4889194729264b06aa92cadc3cbb8bf0@thread.tacv2"` | The unique identifier of the channel whose email address should be removed. Must be in thread format (e.g., '19:4889194729264b06aa92cadc3cbb8bf0\@thread.tacv2'). |

***

### `Microsoft Teams Remove Chat Member`

Integration name: **MICROSOFT\_TEAMS\_REMOVE\_CHAT\_MEMBER**

Tool to remove a member from a Microsoft Teams chat. Use when you need to remove a user from a chat conversation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                                                                                                                                                          | Description                                                                                                                          |
| --------------- | ------ | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `chat_id`       | string |     ✅    | `"19:12f973dcc61b428aae3e1ab42adf199d@thread.v2"`                                                                                                                                | The unique identifier of the chat from which to remove the member.                                                                   |
| `if_match`      | string |          | —                                                                                                                                                                                | Optional ETag header value for conditional requests. Use this to ensure the member hasn't been modified since you last retrieved it. |
| `membership_id` | string |     ✅    | `"MCMjMCMjYTZhNTVjNWYtMDc0Ny00ODA0LWExNjYtMmI1ZGZjOWFjZTJhIyMxOToxMmY5NzNkY2M2MWI0MjhhYWUzZTFhYjQyYWRmMTk5ZEB0aHJlYWQudjIjIzVjYjM4NzllLWIyZTYtNGViMy1iMmIxLTRiMDgyMWM3ZWJhMA=="` | The unique identifier of the conversationMember to remove from the chat.                                                             |

***

### `Microsoft Teams Remove Team Member`

Integration name: **MICROSOFT\_TEAMS\_REMOVE\_TEAM\_MEMBER**

Tool to remove a member from a Microsoft Teams team. Use when you need to remove a user from a team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                                                                                                                                              | Description                                                                                                                          |
| --------------- | ------ | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `team_id`       | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                                                                                                                             | The unique identifier of the team from which to remove the member.                                                                   |
| `if_match`      | string |          | —                                                                                                                                                                    | Optional ETag header value for conditional requests. Use this to ensure the member hasn't been modified since you last retrieved it. |
| `membership_id` | string |     ✅    | `"MCMjMSMjYTZhNTVjNWYtMDc0Ny00ODA0LWExNjYtMmI1ZGZjOWFjZTJhIyM4N2IwNTYwZi1mYzBkLTQ0NDItYWRkOC1iMzgwY2E5MjY3MDcjIzFkMDEwZjUyLTYwOTYtNDI2ZS05MDBkLWNjMzM3MzVmNmNhNw=="` | The unique identifier of the conversationMember to remove from the team.                                                             |

***

### `Microsoft Teams Remove Team Members`

Integration name: **MICROSOFT\_TEAMS\_REMOVE\_TEAM\_MEMBERS**

Tool to remove multiple members from a Microsoft Teams team in bulk. Use when you need to remove one or more users from a team.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                                                     |
| --------- | ------ | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `members` | array  |     ✅    | —                                        | List of members to remove from the team. Maximum 20 members can be removed in a single request. |
| `team_id` | string |     ✅    | `"e4183b04-c9a2-417c-bde4-70e3ee46a6dc"` | The unique identifier (GUID) of the Microsoft Teams team from which to remove members.          |

***

### `Microsoft Teams Search Files`

Integration name: **MICROSOFT\_TEAMS\_SEARCH\_FILES**

Search files in Microsoft Teams using KQL syntax. Find files by name, type, content, author, and modification date across all Teams and channels. Supports boolean logic and date ranges. Examples: 'filetype:pdf AND lastmodifiedtime>=2024-10-01', 'contract AND budget', 'filename:report AND author:<user@example.com>'

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------ | ------- | :------: | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `size`       | integer |          | —            | The maximum number of file results to return per page. Use with from\_index for pagination.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `query`      | string  |     ✅    | `"contract"` | Search query for files in Teams. Supports keywords, filenames, and content search. **Basic Syntax:** - Keywords: 'budget contract' - Exact phrases: '"project timeline"' - Filenames: 'report.pdf' or 'filename:contract' - File types: 'filetype:pdf' or 'filetype:docx' - Boolean: 'contract AND budget' or 'report OR summary' **Property Filters:** - filename: File name - 'filename:contract' - filetype: File extension - 'filetype:pdf', 'filetype:docx', 'filetype:xlsx' - author: Creator - 'author:<user@example.com>' - lastmodifiedtime: Modified date - 'lastmodifiedtime>=2024-10-01' **Date Filters:** - Exact: 'lastmodifiedtime:2024-10-01' - Greater/equal: 'lastmodifiedtime>=2024-10-01' - Range: 'lastmodifiedtime:2024-10-01..2024-10-31' - Relative: 'lastmodifiedtime>today-30' **Complex Queries:** - 'contract AND filetype:pdf AND lastmodifiedtime>=2024-10-01' - '(budget OR financial) AND filetype:xlsx' - 'filename:report AND lastmodifiedtime>today-7' |
| `region`     | string  |          | —            | Specifies the geographic region for the search request. ONLY required when using application permissions (S2S authentication). DO NOT use with delegated permissions (user authentication) - the API will reject the request. Valid values: 'NAM' (North America), 'EMEA' (Europe, Middle East, Africa), 'APAC' (Asia Pacific). Leave unset (None) for delegated permissions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `from_index` | integer |          | —            | The 0-based starting index for pagination. To paginate: check response\['value']\[0]\['hitsContainers']\[0]\['moreResultsAvailable']. If true, call again with from\_index += size (e.g., 0 → 25 → 50).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

***

### `Microsoft Teams Search Messages`

Integration name: **MICROSOFT\_TEAMS\_SEARCH\_MESSAGES**

Search Microsoft Teams messages using powerful KQL syntax. Supports sender (from:), date filters (sent:), attachments, and boolean logic. Works across all Teams chats and channels the user has access to. Examples: 'from:<user@example.com> AND sent>=2024-10-01', 'punchlist OR termination', 'sent>today-30 AND hasattachment:yes' NOTE: This action requires an organizational Microsoft 365 account (Azure AD/Entra ID). It does NOT work with personal Microsoft accounts (MSA) such as @outlook.com, @hotmail.com, or @live.com. If using a personal Microsoft account, this search will fail.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type    | Required | Example            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| -------------------- | ------- | :------: | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `size`               | integer |          | —                  | The maximum number of search results to return per page. Use with from\_index for pagination.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `query`              | string  |          | `"project update"` | KQL (Keyword Query Language) search query string. Supports advanced syntax for precise searches. **Basic Syntax:** - Simple keywords: 'budget report' - Exact phrases: '"quarterly review"' - Boolean operators: 'urgent AND deadline' or 'invoice OR receipt' **Property Filters (prefix:value):** - from: Sender - 'from:<user@example.com>' or 'from:example.com' - sent: Date sent - 'sent:2024-10-01', 'sent>=2024-10-01', 'sent:2024-10-01..2024-10-31', 'sent>today-7' - hasattachment: Has files - 'hasattachment:yes' or 'hasattachment:no' Note: A search query is required. To return recent messages without a keyword filter, use a date range like 'sent>=2020-01-01'. Empty queries will default to 'sent>=2020-01-01' to return recent messages. |
| `region`             | string  |          | —                  | Specifies the geographic region for the search request. ONLY required when using application permissions (S2S authentication). DO NOT use with delegated permissions (user authentication) - the API will reject the request. Valid values: 'NAM' (North America), 'EMEA' (Europe, Middle East, Africa), 'APAC' (Asia Pacific). Leave unset (None) for delegated permissions.                                                                                                                                                                                                                                                                                                                                                                                    |
| `from_index`         | integer |          | —                  | The 0-based starting index for pagination. To paginate: check response\['value']\[0]\['hitsContainers']\[0]\['moreResultsAvailable']. If true, call again with from\_index += size (e.g., 0 → 25 → 50). Message ID is in hits\[]\['hitId'], not hits\[]\['resource']\['id'].                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `enable_top_results` | boolean |          | —                  | If `true`, sorts results by relevance; otherwise, sorts by date in descending order (newest first).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

***

### `Microsoft Teams Send Activity Notification`

Integration name: **MICROSOFT\_TEAMS\_SEND\_ACTIVITY\_NOTIFICATION**

Tool to send activity notifications to specified recipients in Microsoft Teams. Use when you need to send custom notifications to users, team members, or channel members.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type    | Required | Example              | Description                                                                                                                    |
| -------------------- | ------- | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `topic`              | object  |     ✅    | —                    | The topic of the notification, including source, value, and optional webUrl for deep linking.                                  |
| `chainId`            | integer |          | —                    | Optional chain ID for grouping related notifications together.                                                                 |
| `recipients`         | array   |     ✅    | —                    | Array of recipients who will receive the notification. Each recipient must specify an @odata.type and corresponding ID fields. |
| `teamsAppId`         | string  |          | —                    | Optional Teams app ID if the notification is associated with a specific Teams app.                                             |
| `previewText`        | object  |     ✅    | —                    | The preview text to display in the notification.                                                                               |
| `activityType`       | string  |     ✅    | `"testNotification"` | The type of activity being notified. This should match an activity type defined in the Teams app manifest.                     |
| `templateParameters` | array   |          | —                    | Optional array of template parameters as key-value pairs for customizing the notification content.                             |

***

### `Microsoft Teams Set Me Preferred Presence`

Integration name: **MICROSOFT\_TEAMS\_SET\_ME\_PREFERRED\_PRESENCE**

DEPRECATED: Use MICROSOFT\_TEAMS\_SET\_USER\_PREFERRED\_PRESENCE instead. Tool to set the preferred availability and activity status for the current authenticated user. Use when you need to update your own presence status in Microsoft Teams. Preferred presence takes effect only when at least one presence session exists.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type   | Required | Example       | Description                                                                                                                                                                                                                |
| --------------------- | ------ | :------: | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `activity`            | string |     ✅    | `"Available"` | The supplemental information to availability. Must match the availability value for valid combinations: Available/Available, Busy/Busy, DoNotDisturb/DoNotDisturb, BeRightBack/BeRightBack, Away/Away, or Offline/OffWork. |
| `availability`        | string |     ✅    | `"Available"` | The base presence information. Must match the activity value for valid combinations: Available/Available, Busy/Busy, DoNotDisturb/DoNotDisturb, BeRightBack/BeRightBack, Away/Away, or Offline/OffWork.                    |
| `expiration_duration` | string |          | `"PT8H"`      | The expiration of the app presence session in ISO 8601 duration format (e.g., 'PT8H' for 8 hours). If not provided, default expiration applies: DoNotDisturb or Busy expire in 1 day, all others expire in 7 days.         |

***

### `Microsoft Teams Set Presence`

Integration name: **MICROSOFT\_TEAMS\_SET\_PRESENCE**

Tool to set the presence information for a user's application presence session. Use when you need to update a user's presence state in Microsoft Teams. Valid combinations: Available/Available, Busy/InACall, Busy/InAConferenceCall, Away/Away, or DoNotDisturb/Presenting.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type   | Required | Example                                  | Description                                                                                                                                                         |
| --------------------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`             | string |     ✅    | `"fa8bf3dc-eca7-46b7-bad1-db199b62afc3"` | The unique identifier (GUID) of the user whose presence session to set.                                                                                             |
| `activity`            | string |     ✅    | `"Available"`                            | The supplemental information to availability. Must match valid combinations with availability.                                                                      |
| `session_id`          | string |     ✅    | `"9841f176-c6b4-4864-97ff-e88d245b2dbb"` | The ID of the application's presence session. This should typically match the application ID (appId) from the OAuth token.                                          |
| `availability`        | string |     ✅    | `"Available"`                            | The base presence information. Valid combinations: Available/Available, Busy/InACall, Busy/InAConferenceCall, Away/Away, DoNotDisturb/Presenting.                   |
| `expiration_duration` | string |          | `"PT1H"`                                 | The expiration of the app presence session in ISO 8601 duration format. Valid range is PT5M to PT4H (5 minutes to 4 hours). If not provided, defaults to 5 minutes. |

***

### `Microsoft Teams Set Presence Automatic Location`

Integration name: **MICROSOFT\_TEAMS\_SET\_PRESENCE\_AUTOMATIC\_LOCATION**

Tool to set the automatic presence location (office/remote/timeOff) for a specified user. Use when updating work location status in Microsoft Teams via automatic detection.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example                                  | Description                                                                                                                                                                                              |
| ------------------ | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `placeId`          | string |          | —                                        | Optional identifier of the place associated with the work location. This can be a GUID or other identifier representing a physical location.                                                             |
| `user_id`          | string |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"` | The unique identifier (GUID) of the user whose automatic presence location will be set.                                                                                                                  |
| `workLocationType` | string |     ✅    | `"remote"`                               | The work location type to set for the user's automatic presence. Choose 'office' if working from office, 'remote' if working remotely, 'timeOff' if on time off, or 'unspecified' to clear the location. |

***

### `Microsoft Teams Set Presence Manual Location`

Integration name: **MICROSOFT\_TEAMS\_SET\_PRESENCE\_MANUAL\_LOCATION**

DEPRECATED: Use MICROSOFT\_TEAMS\_SET\_USER\_PRESENCE\_MANUAL\_LOCATION instead. Tool to set the manual presence location (office/remote/timeOff) for the authenticated user. Use when updating work location status in Microsoft Teams.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example    | Description                                                                                                                                                                                    |
| ------------------ | ------ | :------: | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `placeId`          | string |          | —          | Optional identifier of the place associated with the work location. This can be a GUID or other identifier representing a physical location.                                                   |
| `user_id`          | string |          | `"me"`     | The user's unique identifier or principal name. Use 'me' for delegated authentication (authenticated user) or provide a specific user ID/email for application authentication.                 |
| `workLocationType` | string |     ✅    | `"remote"` | The work location type to set for the user's presence. Choose 'office' if working from office, 'remote' if working remotely, 'timeOff' if on time off, or 'unspecified' to clear the location. |

***

### `Microsoft Teams Set User Preferred Presence`

Integration name: **MICROSOFT\_TEAMS\_SET\_USER\_PREFERRED\_PRESENCE**

Tool to set the preferred availability and activity status for a user. Use when you need to update a user's presence status in Microsoft Teams. Preferred presence takes effect only when at least one presence session exists for the user.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type   | Required | Example                                  | Description                                                                                                                                                                                                                |
| --------------------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`             | string |     ✅    | `"fa8bf3dc-eca7-46b7-bad1-db199b62afc3"` | The unique identifier (GUID) of the user whose preferred presence status will be set.                                                                                                                                      |
| `activity`            | string |     ✅    | `"Available"`                            | The supplemental information to availability. Must match the availability value for valid combinations: Available/Available, Busy/Busy, DoNotDisturb/DoNotDisturb, BeRightBack/BeRightBack, Away/Away, or Offline/OffWork. |
| `availability`        | string |     ✅    | `"Available"`                            | The base presence information. Must match the activity value for valid combinations: Available/Available, Busy/Busy, DoNotDisturb/DoNotDisturb, BeRightBack/BeRightBack, Away/Away, or Offline/OffWork.                    |
| `expiration_duration` | string |          | `"PT8H"`                                 | The expiration of the app presence session in ISO 8601 duration format (e.g., 'PT8H' for 8 hours). If not provided, default expiration applies: DoNotDisturb or Busy expire in 1 day, all others expire in 7 days.         |

***

### `Microsoft Teams Set User Presence Manual Location`

Integration name: **MICROSOFT\_TEAMS\_SET\_USER\_PRESENCE\_MANUAL\_LOCATION**

Tool to set the manual presence location (office/remote/timeOff) for a specific user. Use when updating work location status for a user in Microsoft Teams.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example                                  | Description                                                                                                                                                                                    |
| ------------------ | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `placeId`          | string |          | —                                        | Optional identifier of the place associated with the work location. This can be a GUID or other identifier representing a physical location.                                                   |
| `user_id`          | string |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"` | The unique identifier of the user whose presence location should be set. Can be the user's ID or userPrincipalName.                                                                            |
| `workLocationType` | string |     ✅    | `"remote"`                               | The work location type to set for the user's presence. Choose 'office' if working from office, 'remote' if working remotely, 'timeOff' if on time off, or 'unspecified' to clear the location. |

***

### `Microsoft Teams Share Team Schedule`

Integration name: **MICROSOFT\_TEAMS\_SHARE\_TEAM\_SCHEDULE**

Tool to share a Microsoft Teams schedule for a specified time range. Use when you need to make a team's schedule visible to members.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type    | Required | Example                                  | Description                                                                                                            |
| --------------- | ------- | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `team_id`       | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | The unique identifier of the team whose schedule to share.                                                             |
| `notifyTeam`    | boolean |     ✅    | —                                        | Whether to notify the entire team that the schedule has been shared, or only employees with assigned shifts. Required. |
| `endDateTime`   | string  |     ✅    | —                                        | End date and time of the schedule period to share in ISO 8601 format (e.g., '2026-03-03T00:00:00.000Z'). Required.     |
| `startDateTime` | string  |     ✅    | —                                        | Start date and time of the schedule period to share in ISO 8601 format (e.g., '2026-02-24T00:00:00.000Z'). Required.   |

***

### `Microsoft Teams Teams Create Chat`

Integration name: **MICROSOFT\_TEAMS\_TEAMS\_CREATE\_CHAT**

Creates a new chat; if a 'oneOnOne' chat with the specified members already exists, its details are returned, while 'group' chats are always newly created. IMPORTANT: The authenticated user MUST be included as one of the members.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example      | Description                                                                                                                                                                                                                                                                                                                                                                                     |
| --------------- | ------ | :------: | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `topic`         | string |          | —            | Subject or title for the chat. REQUIRED for group chats. For 'oneOnOne' chats, this field is ignored and should be omitted. The following characters are NOT allowed and will be automatically removed: \~ # % & \* { } + / \ : < > ? \| ' ". Topics cannot start with underscore (\_) or period (.), and cannot end with a period.                                                             |
| `members`       | array  |     ✅    | —            | List of members. IMPORTANT: The authenticated user MUST be included as one of the members. Each member must be unique - do not include the same user ID or email multiple times. For 'oneOnOne' chats, exactly two members are required (the authenticated user and one other person). For 'group' chats, at least two members are required and at least one member must have the 'owner' role. |
| `chatType`      | string |     ✅    | `"oneOnOne"` | Type of chat. If 'oneOnOne' for members with an existing chat, that chat's details are returned.                                                                                                                                                                                                                                                                                                |
| `installedApps` | array  |          | —            | Optional. A collection of Teams apps to install in the chat at creation time. Supports both one-on-one and group chats. Apps can be installed with or without resource-specific consent (RSC) permissions.                                                                                                                                                                                      |

***

### `Microsoft Teams Teams List`

Integration name: **MICROSOFT\_TEAMS\_TEAMS\_LIST**

Retrieves Microsoft Teams accessible by the authenticated user, allowing filtering, property selection, and pagination.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                               | Description                                                                                                                                                                                                             |
| --------- | ------- | :------: | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `"50"`                                | Maximum number of teams to return per page (1-999). Used for pagination; see `next_link` in response.                                                                                                                   |
| `count`   | boolean |          | `true`                                | When true, includes the total count of items in the @odata.count property in the response. The count is only returned in the first page of results.                                                                     |
| `filter`  | string  |          | `"startsWith(displayName,'Project')"` | OData v4.0 filter string to refine results based on team properties (e.g., `startsWith(displayName,'A')`). Consult OData v4.0 documentation for syntax.                                                                 |
| `select`  | string  |          | `"id,displayName"`                    | Comma-separated team properties to retrieve (e.g., 'id,displayName,description'). If empty or omitted, standard properties are returned. Supported properties include `id`, `displayName`, `description`, `visibility`. |

***

### `Microsoft Teams Teams List Channel Messages`

Integration name: **MICROSOFT\_TEAMS\_TEAMS\_LIST\_CHANNEL\_MESSAGES**

Tool to list messages in a Teams channel when team\_id and channel\_id are known (no chat\_id required). Use this to enumerate channel message history and obtain message\_id for follow-on operations like listing replies or getting message details.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example                                              | Description                                                                                                                                                 |
| ------------ | ------- | :------: | ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`        | integer |          | `20`                                                 | Maximum number of messages to return per page (1-50). Microsoft Graph enforces a maximum of 50 messages per request.                                        |
| `expand`     | string  |          | `"replies"`                                          | Optional expansion parameter. Only 'replies' is supported, which includes message replies (up to 1,000 per message; use <replies@odata.nextLink> for more). |
| `team_id`    | string  |     ✅    | `"fbe2bf47-16c8-47cf-b4a5-4b9b187c508b"`             | Unique identifier (GUID) of the Microsoft Teams team.                                                                                                       |
| `channel_id` | string  |     ✅    | `"19:4a95f7d8db4c4e7fae857bcebe0623e6@thread.tacv2"` | Unique identifier of the channel within the team.                                                                                                           |

***

### `Microsoft Teams Teams List Channels`

Integration name: **MICROSOFT\_TEAMS\_TEAMS\_LIST\_CHANNELS**

Retrieves channels for a specified Microsoft Teams team ID (must be valid and for an existing team), with options to include shared channels, filter results, and select properties.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                 | Type    | Required | Example                                  | Description                                                                                                                                                                                                                     |
| ------------------------- | ------- | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `filter`                  | string  |          | `"startswith(displayName,'Sales')"`      | OData v4 query string to filter channels (e.g., `startswith(displayName,'Sales')` or `membershipType eq 'private'`).                                                                                                            |
| `select`                  | string  |          | `"id,displayName,description"`           | Comma-separated channel properties to return (e.g., 'id,displayName,description'); empty for default properties. Common: `id`, `displayName`, `description`, `email`, `membershipType`, `webUrl`.                               |
| `team_id`                 | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"` | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707'). Team names are not accepted. Use MICROSOFT\_TEAMS\_LIST\_USER\_JOINED\_TEAMS to get team IDs. |
| `include_shared_channels` | boolean |          | —                                        | If true, include channels shared with the team (uses allChannels endpoint). If false, exclude shared channels from results by filtering on membershipType.                                                                      |

***

### `Microsoft Teams Teams List Chat Messages`

Integration name: **MICROSOFT\_TEAMS\_TEAMS\_LIST\_CHAT\_MESSAGES**

DEPRECATED: Use ListUserChatMessages instead. Retrieves messages (newest first) from an existing and accessible Microsoft Teams one-on-one chat, group chat, or channel thread, specified by `chat_id`.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                 |
| --------- | ------- | :------: | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`     | integer |          | `"50"`                                                                                                    | Maximum number of messages to retrieve. Microsoft Graph enforces a maximum limit of 50 per request.                                                                                                                                                                                                                                                                                         |
| `filter`  | string  |          | `"lastModifiedDateTime gt 2022-09-22T00:00:00.000Z and lastModifiedDateTime lt 2022-09-24T00:00:00.000Z"` | OData filter expression for filtering messages by date range (do not include '$filter='). Supports filtering by 'lastModifiedDateTime' (with gt/lt operators) or 'createdDateTime' (with lt operator). You can only filter results if the request URL contains both $orderby and $filter query parameters configured for the same property; otherwise, the $filter query option is ignored. |
| `chat_id` | string  |     ✅    | `"19:2da4c29f6d7041eca70b638b43d45437@thread.v2"`                                                         | Unique Microsoft Graph chat identifier (GUID format). This is the chat ID returned by Graph API, not a channel thread ID. Use the Get All Chats action to retrieve valid chat IDs.                                                                                                                                                                                                          |
| `orderby` | string  |          | `"createdDateTime desc"`                                                                                  | Property to sort results by. Currently supports 'lastModifiedDateTime' (default) and 'createdDateTime' properties in descending order. Ascending order is not supported. Format: 'propertyName desc'.                                                                                                                                                                                       |

***

### `Microsoft Teams Teams Post Channel Message`

Integration name: **MICROSOFT\_TEAMS\_TEAMS\_POST\_CHANNEL\_MESSAGE**

Posts a new top-level message to a channel in Microsoft Teams (does NOT reply to an existing message). Despite the file name 'reply\_to\_channel\_chat', this action creates a brand-new message in the channel via POST /teams/{id}/channels/{id}/messages. To reply to an existing message thread, use the dedicated reply action instead.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example  | Description                                                                                                                                  |
| -------------- | ------ | :------: | -------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `content`      | string |     ✅    | —        | The content of the message to be sent. Can be plain text or HTML, determined by `content_type`.                                              |
| `subject`      | string |          | —        | The subject of the chat message, in plaintext. Optional field typically used for channel messages.                                           |
| `team_id`      | string |     ✅    | —        | The unique identifier of the Microsoft Teams team containing the channel.                                                                    |
| `mentions`     | array  |          | —        | List of entities mentioned in the chat message. Supported entities are: user, bot, team, and channel. Use with HTML content containing tags. |
| `channel_id`   | string |     ✅    | —        | The unique identifier of the channel within the specified team where the message will be posted.                                             |
| `importance`   | string |          | —        | The importance of the chat message. Possible values: 'normal', 'high', 'urgent'. Defaults to 'normal' if not specified.                      |
| `attachments`  | array  |          | —        | References to attached objects like files, tabs, meetings, etc. Each attachment is a chatMessageAttachment object.                           |
| `content_type` | string |          | `"text"` | The format of the message content. Defaults to 'text'.                                                                                       |

***

### `Microsoft Teams Teams Post Chat Message`

Integration name: **MICROSOFT\_TEAMS\_TEAMS\_POST\_CHAT\_MESSAGE**

Sends a non-empty message (text or HTML) to a specified, existing Microsoft Teams chat; content must be valid HTML if `content_type` is 'html'.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example                                                                   | Description                                                                                                      |
| ---------------- | ------ | :------: | ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `chat_id`        | string |     ✅    | `"19:meeting_NTg0NTQ2YjctMDJkNi00M2U3LWFkNmQtN2U4MDVmYjE0MDc5@thread.v2"` | Unique identifier for the Microsoft Teams chat to receive the message.                                           |
| `content`        | string |     ✅    | `"Hello world!"`                                                          | Message content, either plain text or HTML (see `content_type`).                                                 |
| `subject`        | string |          | —                                                                         | The subject of the chat message, in plaintext.                                                                   |
| `mentions`       | array  |          | —                                                                         | List of entities mentioned in the chat message. Supported entities are: user, bot, team, channel, chat, and tag. |
| `attachments`    | array  |          | —                                                                         | References to attached objects like files, tabs, meetings, or cards.                                             |
| `content_type`   | string |          | `"text"`                                                                  | Content format: 'text' (plain) or 'html'.                                                                        |
| `hostedContents` | array  |          | —                                                                         | Content in a message hosted by Microsoft Teams - for example, inline images or code snippets.                    |

***

### `Microsoft Teams Unarchive Channel`

Integration name: **MICROSOFT\_TEAMS\_UNARCHIVE\_CHANNEL**

Tool to unarchive a channel in a Microsoft Teams team. Use when you need to restore an archived channel to active state.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                      |
| ------------ | ------ | :------: | ---------------------------------------------------- | -------------------------------------------------------------------------------- |
| `team_id`    | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`             | The unique identifier (GUID) of the team that contains the channel to unarchive. |
| `channel_id` | string |     ✅    | `"19:079fd66c7bf04c07a21430a9a32c2130@thread.tacv2"` | The unique identifier of the channel to unarchive. Format: '19:@thread.tacv2'.   |

***

### `Microsoft Teams Unarchive Group Team Channel`

Integration name: **MICROSOFT\_TEAMS\_UNARCHIVE\_GROUP\_TEAM\_CHANNEL**

Tool to unarchive a channel in a Microsoft Teams group's team. Use when you need to restore an archived channel to active state.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                              | Description                                                                                          |
| ------------ | ------ | :------: | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `group_id`   | string |     ✅    | `"5deae253-045e-4164-810b-bd4727daff1b"`             | The unique identifier (GUID) of the group that owns the team. This is the group ID, not the team ID. |
| `channel_id` | string |     ✅    | `"19:f7af3c1e730547c3b017e2ddecb5cb68@thread.tacv2"` | The unique identifier of the channel to unarchive. Format: '19:@thread.tacv2'.                       |

***

### `Microsoft Teams Unarchive Team`

Integration name: **MICROSOFT\_TEAMS\_UNARCHIVE\_TEAM**

Tool to unarchive a Microsoft Teams team. Use when you need to restore an archived team to active state.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                            |
| --------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------ |
| `team_id` | string |     ✅    | `"f47ac10b-58cc-4372-a567-0e02b2c3d479"` | The unique identifier (GUID) of the team to unarchive. |

***

### `Microsoft Teams Unhide Chat For User`

Integration name: **MICROSOFT\_TEAMS\_UNHIDE\_CHAT\_FOR\_USER**

Tool to unhide a chat for a specific user. Use when you need to make a hidden chat visible again in the user's chat list.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                           | Description                                                                              |
| --------- | ------ | :------: | ------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `user`    | object |     ✅    | —                                                 | TeamworkUserIdentity object containing the user information for whom to unhide the chat. |
| `chat_id` | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"` | The unique identifier of the chat to unhide.                                             |

***

### `Microsoft Teams Unpin Message`

Integration name: **MICROSOFT\_TEAMS\_UNPIN\_MESSAGE**

Tool to unpin a message from a Microsoft Teams chat. Use when you need to remove a pinned message.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                                           | Description                                                                                                                                             |
| ------------------- | ------ | :------: | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `chat_id`           | string |     ✅    | `"19:12f973dcc61b428aae3e1ab42adf199d@thread.v2"` | The unique identifier of the Microsoft Teams chat containing the pinned message.                                                                        |
| `if_match`          | string |          | —                                                 | Optional ETag value for conditional request. If provided, the unpin operation will only succeed if the current ETag matches this value.                 |
| `pinned_message_id` | string |     ✅    | `"1771836893396"`                                 | The unique identifier of the pinned message to unpin. This is a numeric timestamp string (milliseconds since epoch) that identifies the pinned message. |

***

### `Microsoft Teams Update Call`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_CALL**

Tool to update the navigation property calls in Microsoft Teams communications. Use when you need to modify properties of an existing call.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example              | Description                                                                                                                       |
| ----------------- | ------ | :------: | -------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `call_id`         | string |     ✅    | `"test-call-id-123"` | The unique identifier of the call to update.                                                                                      |
| `subject`         | string |          | —                    | The subject of the conversation.                                                                                                  |
| `tenantId`        | string |          | —                    | The tenant ID for the call.                                                                                                       |
| `odata_type`      | string |          | —                    | The OData type of the call entity. Must be `#microsoft.graph.call`.                                                               |
| `callChainId`     | string |          | —                    | A unique identifier for all the participant calls in a conference or a unique identifier for two participant calls in a P2P call. |
| `callbackUri`     | string |          | —                    | The callback URL on which callbacks will be delivered. Must be https.                                                             |
| `myParticipantId` | string |          | —                    | The ID of the participant that represents the bot or service application.                                                         |

***

### `Microsoft Teams Update Call Operation`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_CALL\_OPERATION**

Tool to update the navigation property operations in communications. Use when you need to modify properties of an existing call operation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                   | Description                                                                        |
| -------------------- | ------ | :------: | ------------------------- | ---------------------------------------------------------------------------------- |
| `status`             | string |          | —                         | The operation status. Possible values are: notStarted, running, completed, failed. |
| `call_id`            | string |     ✅    | `"test-call-id-123"`      | The unique identifier of the call.                                                 |
| `result_info`        | object |          | —                         | Information about the result of the operation.                                     |
| `client_context`     | string |          | `"test-context"`          | Unique client context string that can have a maximum of 256 characters.            |
| `comms_operation_id` | string |     ✅    | `"test-operation-id-456"` | The unique identifier of the commsOperation.                                       |

***

### `Microsoft Teams Update Call Participant`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_CALL\_PARTICIPANT**

Tool to update a participant in a Microsoft Teams call. Use when you need to modify participant properties such as lobby status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type    | Required | Example    | Description                                                                                                     |
| --------------- | ------- | :------: | ---------- | --------------------------------------------------------------------------------------------------------------- |
| `callId`        | string  |     ✅    | `"abc123"` | The unique identifier of the call.                                                                              |
| `isInLobby`     | boolean |          | —          | Whether the participant is in the lobby. Set to true to move participant to lobby or false to admit from lobby. |
| `participantId` | string  |     ✅    | `"xyz789"` | The unique identifier of the participant to update.                                                             |

***

### `Microsoft Teams Update Channel`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_CHANNEL**

Tool to update channel properties in a Microsoft Teams group. Use when you need to modify channel description, display name, or favorite settings.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type    | Required | Example                                              | Description                                                                                |
| ------------------------ | ------- | :------: | ---------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| `group_id`               | string  |     ✅    | `"ad9227ef-912f-4e58-9e39-6424a58dda66"`             | The unique identifier of the group (team) containing the channel to update.                |
| `channel_id`             | string  |     ✅    | `"19:df7448570b394ac4a01a24ed7d117ddf@thread.tacv2"` | The unique identifier of the channel to update.                                            |
| `description`            | string  |          | `"Updated description for the channel"`              | Updated description for the channel. Maximum length is 1024 characters.                    |
| `display_name`           | string  |          | `"Updated Channel Name"`                             | Updated display name for the channel. Maximum length is 50 characters.                     |
| `is_favorite_by_default` | boolean |          | —                                                    | Indicates whether the channel should be marked as recommended for all members of the team. |

***

### `Microsoft Teams Update Channel Message`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_CHANNEL\_MESSAGE**

Tool to update a message in a channel. Use when you need to modify an existing channel message after confirming channel and message IDs.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example                                  | Description                                                                                                    |
| ------------------ | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `model`            | string |          | —                                        | Payment model for metered API. Set to 'A' to use the metered payment model instead of evaluation mode.         |
| `content`          | string |          | `"Updated project details."`             | Updated message content, either plain text or HTML. Required for delegated permissions mode.                   |
| `subject`          | string |          | —                                        | Updated message subject in plaintext. Can be updated in delegated permissions mode.                            |
| `team_id`          | string |     ✅    | `"12345678-90ab-cdef-1234-567890abcdef"` | Unique identifier of the Microsoft Teams team.                                                                 |
| `channel_id`       | string |     ✅    | `"19:abcdef1234567890@thread.tacv2"`     | Unique identifier of the channel within the team.                                                              |
| `importance`       | string |          | —                                        | Message importance level. Possible values: normal, high, urgent. Can be updated in delegated permissions mode. |
| `message_id`       | string |     ✅    | `"1593478509446"`                        | Unique identifier of the channel message to update.                                                            |
| `content_type`     | string |          | `"text"`                                 | Format of the message content: 'text' or 'html'.                                                               |
| `policy_violation` | object |          | —                                        | Defines properties of a policy violation set by a DLP application.                                             |

***

### `Microsoft Teams Update Chat`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_CHAT**

Tool to update the properties of a chat. Use when you need to modify chat settings such as the topic.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                           | Description                                                                                                                  |
| --------- | ------ | :------: | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `topic`   | string |          | `"Project Alpha Discussion - Updated"`            | The new topic/title for the chat. Only applicable for group chats. For one-on-one chats, this property cannot be updated.    |
| `chat_id` | string |     ✅    | `"19:faa4b91d49684e4280a96824f5c4dc2e@thread.v2"` | The unique identifier of the chat to update. This can be obtained from the chat's URL or from other chat-related operations. |

***

### `Microsoft Teams Update Chat Message`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_CHAT\_MESSAGE**

Tool to update a specific message in a chat. Use when you need to correct or modify a sent chat message.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                                                                   | Description                                                                                                                     |
| -------------- | ------ | :------: | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `model`        | string |          | `"A"`                                                                     | Query parameter for metered API usage. Set to 'A' to enable metered mode. If not specified, evaluation mode is used by default. |
| `chat_id`      | string |     ✅    | `"19:meeting_NTg0NTQ2YjctMDJkNi00M2U3LWFkNmQtN2U4MDVmYjE0MDc5@thread.v2"` | Unique identifier of the Microsoft Teams chat.                                                                                  |
| `content`      | string |     ✅    | `"Updated the details of the meeting."`                                   | Updated message content, either plain text or HTML.                                                                             |
| `message_id`   | string |     ✅    | `"1593478509446"`                                                         | Unique identifier of the chat message to update.                                                                                |
| `content_type` | string |          | `"text"`                                                                  | Format of the message content: 'text' or 'html'.                                                                                |

***

### `Microsoft Teams Update Content Sharing Session`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_CONTENT\_SHARING\_SESSION**

Tool to update a content sharing session in a Microsoft Teams call. Use when you need to modify the properties of an existing content sharing session.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type   | Required | Example                                    | Description                                                                                      |
| ---------------------------- | ------ | :------: | ------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `id`                         | string |          | `"a7ebfb2d-871e-419c-87af-27290b22e8db"`   | Optional identifier for the content sharing session entity.                                      |
| `call_id`                    | string |     ✅    | `"57dab8b1-894c-409a-b240-bd8beae78896"`   | The unique identifier of the call.                                                               |
| `odata_type`                 | string |          | `"#microsoft.graph.contentSharingSession"` | The OData type of the content sharing session. Must be `#microsoft.graph.contentSharingSession`. |
| `content_sharing_session_id` | string |     ✅    | `"a7ebfb2d-871e-419c-87af-27290b22e8db"`   | The unique identifier of the content sharing session.                                            |

***

### `Microsoft Teams Update Day Note`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_DAY\_NOTE**

Tool to update an existing day note in a team's schedule. Use when you need to modify notes or reminders for a specific date in the team schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                       | Description                                                                                                            |
| --------------- | ------ | :------: | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `team_id`       | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | The unique identifier (GUID) of the Microsoft Teams team containing the day note.                                      |
| `dayNote_id`    | string |     ✅    | `"NOTE_5bae75cd-df22-4aa2-b5e1-e4f70b775630"` | The unique identifier of the dayNote to update. Typically starts with 'NOTE\_' prefix.                                 |
| `dayNoteDate`   | string |          | `"2026-02-26"`                                | The date for which the day note applies, in YYYY-MM-DD format (e.g., '2026-02-26'). Provide only if updating the date. |
| `draftDayNote`  | object |          | —                                             | Represents the content and format of a day note.                                                                       |
| `sharedDayNote` | object |          | —                                             | Represents the content and format of a day note.                                                                       |

***

### `Microsoft Teams Update Online Meeting`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_ONLINE\_MEETING**

Tool to update the properties of an existing Microsoft Teams online meeting. Use when you need to modify meeting details such as subject, start time, or end time.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter              | Type    | Required | Example                                                                                                                                                  | Description                                                                                                                   |
| ---------------------- | ------- | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `subject`              | string  |          | `"Updated Test Meeting"`                                                                                                                                 | The subject or title for the online meeting.                                                                                  |
| `user_id`              | string  |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"`                                                                                                                 | The unique identifier (GUID) of the user who owns the online meeting.                                                         |
| `endDateTime`          | string  |          | `"2026-02-24T11:00:00Z"`                                                                                                                                 | The meeting end date and time in ISO 8601 format. When updating date/time, both startDateTime and endDateTime are required.   |
| `participants`         | object  |          | —                                                                                                                                                        | The participants to update in the online meeting. Only attendees can be updated.                                              |
| `startDateTime`        | string  |          | `"2026-02-24T10:00:00Z"`                                                                                                                                 | The meeting start date and time in ISO 8601 format. When updating date/time, both startDateTime and endDateTime are required. |
| `online_meeting_id`    | string  |     ✅    | `"MSo0M2YwYzE0ZC1iY2E4LTQyMWYtYjc2Mi1jM2Q4ZGQ3NWJlMWYqMCoqMTk6bWVldGluZ19ZMlF6TldFeU9EUXROamMwTXkwME5HTm1MV0UwTkdFdE5qUTNPV1ppTWpCbE5ETmtAdGhyZWFkLnYy"` | The unique identifier of the online meeting to update.                                                                        |
| `lobbyBypassSettings`  | object  |          | —                                                                                                                                                        | Specifies which participants can bypass the meeting lobby.                                                                    |
| `recordAutomatically`  | boolean |          | —                                                                                                                                                        | Indicates whether to record the meeting automatically.                                                                        |
| `watermarkProtection`  | object  |          | —                                                                                                                                                        | Specifies whether the client application should apply a watermark to content.                                                 |
| `isEntryExitAnnounced` | boolean |          | —                                                                                                                                                        | Indicates whether to announce when callers join or leave.                                                                     |

***

### `Microsoft Teams Update Open Shift`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_OPEN\_SHIFT**

Tool to update an existing open shift in a Microsoft Teams team schedule. Use when you need to modify open shift details such as times, theme, notes, or open slot count.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example                                          | Description                                                                                                                  |
| --------------------- | ------- | :------: | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| `teamId`              | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`         | The unique identifier of the team (GUID format).                                                                             |
| `openShiftId`         | string  |     ✅    | `"OPNSHFT_05cf38bd-3b58-4cba-a327-c92ed573b579"` | The unique identifier of the openShift to update. Use format 'OPNSHFT\_{guid}' for openShift IDs.                            |
| `draftOpenShift`      | object  |          | —                                                | Represents the draft version of an open shift that has not been shared with the team.                                        |
| `sharedOpenShift`     | object  |          | —                                                | Represents the shared version of an open shift that is visible to team members.                                              |
| `schedulingGroupId`   | string  |          | `"TAG_1b469c3f-7d24-411c-bb76-f8dddac60c7d"`     | The unique identifier of the scheduling group this open shift belongs to. Use format 'TAG\_{guid}' for scheduling group IDs. |
| `isStagedForDeletion` | boolean |          | —                                                | Indicates whether the open shift is staged for deletion. Set to true to mark for deletion.                                   |

***

### `Microsoft Teams Update Scheduling Group`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_SCHEDULING\_GROUP**

Tool to replace/update a scheduling group in a team's schedule. Use when you need to modify properties of an existing scheduling group such as display name, active status, code, or member list.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example                                      | Description                                                                                                                                                                                                         |
| --------------------- | ------- | :------: | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                | string  |          | `"MORNING1"`                                 | Code or identifier for the scheduling group. This can be used for external system integration or quick reference. Must contain only alphanumeric characters (letters and numbers, no special characters or spaces). |
| `team_id`             | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`     | Unique identifier (GUID/UUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                                                                   |
| `user_ids`            | array   |          | `["43f0c14d-bca8-421f-b762-c3d8dd75be1f"]`   | List of user IDs to include as members of this scheduling group. Each ID should be a valid GUID/UUID. This replaces the existing list of members.                                                                   |
| `is_active`           | boolean |          | `true`                                       | Indicates whether the scheduling group is active and available for scheduling. Set to true to enable, false to disable.                                                                                             |
| `display_name`        | string  |          | `"Morning Shift"`                            | Display name of the scheduling group. This is the name that will appear when managing schedules and shifts.                                                                                                         |
| `scheduling_group_id` | string  |     ✅    | `"TAG_dc93d488-40de-443e-ac7d-ce86f22bef80"` | The unique identifier of the scheduling group to update. This can be a GUID or a tag-based ID (e.g., 'TAG\_dc93d488-40de-443e-ac7d-ce86f22bef80').                                                                  |

***

### `Microsoft Teams Update Tab`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_TAB**

Tool to update the properties of a tab in a Microsoft Teams channel. Use when you need to modify tab display name, configuration, or web URL.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                                          | Description                                                                       |
| --------------- | ------ | :------: | ---------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `tab_id`        | string |     ✅    | `"a2320a8a-88ba-486f-8c61-3c31387010e0"`                         | The unique identifier of the tab to update.                                       |
| `team_id`       | string |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`                         | The unique identifier of the team containing the channel.                         |
| `web_url`       | string |          | —                                                                | The deep link URL of the tab instance.                                            |
| `channel_id`    | string |     ✅    | `"19:VUkpu1FFoEAvgBCOX2sP_qJOaokF6n44ApKt74y4L5M1@thread.tacv2"` | The unique identifier of the channel containing the tab.                          |
| `display_name`  | string |          | `"Updated Notes Tab"`                                            | The updated display name for the tab. This is what users will see in the channel. |
| `configuration` | object |          | —                                                                | Configuration settings for the tab.                                               |

***

### `Microsoft Teams Update Team`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_TEAM**

Tool to update the properties of a team. Use when you need to modify team settings such as member, messaging, or fun settings.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                                  | Description                                                                         |
| ------------------- | ------ | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------- |
| `team_id`           | string |     ✅    | `"f47ac10b-58cc-4372-a567-0e02b2c3d479"` | The unique identifier (GUID) of the team to update.                                 |
| `visibility`        | string |          | —                                        | The visibility of the team. Can be 'private' or 'public'.                           |
| `description`       | string |          | —                                        | An optional description for the team. Maximum length: 1024 characters.              |
| `displayName`       | string |          | —                                        | The name of the team.                                                               |
| `funSettings`       | object |          | —                                        | Settings that control fun features in the team.                                     |
| `classSettings`     | object |          | —                                        | Settings specific to teams of type Class (education teams).                         |
| `guestSettings`     | object |          | —                                        | Settings that control what guests can do in the team.                               |
| `classification`    | string |          | —                                        | An optional label that describes the data or business sensitivity of the team.      |
| `memberSettings`    | object |          | —                                        | Settings that control what members can do in the team.                              |
| `specialization`    | string |          | —                                        | Indicates whether the team is intended for a particular use case (education, etc.). |
| `messagingSettings` | object |          | —                                        | Settings that control messaging capabilities in the team.                           |

***

### `Microsoft Teams Update Team Member`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_TEAM\_MEMBER**

Tool to update a team member's roles or properties in Microsoft Teams. Use when you need to change a member's role (e.g., promote to owner or demote to member).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                         | Type   | Required | Example                                                                                                                                                              | Description                                                                                                                               |
| --------------------------------- | ------ | :------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `roles`                           | array  |          | `["owner"]`                                                                                                                                                          | The roles to assign to the member. Common values: 'owner', 'member', 'guest'. Pass an empty array to demote an owner to a regular member. |
| `team_id`                         | string |     ✅    | `"0209369b-0bb3-44e1-8292-b850df75a597"`                                                                                                                             | The unique identifier of the Microsoft Teams team.                                                                                        |
| `odata_type`                      | string |          | —                                                                                                                                                                    | The OData type identifier. Must be `#microsoft.graph.aadUserConversationMember` for Azure AD users.                                       |
| `display_name`                    | string |          | —                                                                                                                                                                    | Optional display name for the member.                                                                                                     |
| `conversation_member_id`          | string |     ✅    | `"MCMjMSMjYTZhNTVjNWYtMDc0Ny00ODA0LWExNjYtMmI1ZGZjOWFjZTJhIyMwMjA5MzY5Yi0wYmIzLTQ0ZTEtODI5Mi1iODUwZGY3NWE1OTcjIzQzZjBjMTRkLWJjYTgtNDIxZi1iNzYyLWMzZDhkZDc1YmUxZg=="` | The unique identifier of the conversation member to update.                                                                               |
| `visible_history_start_date_time` | string |          | `"2019-04-18T23:51:43.255Z"`                                                                                                                                         | Optional timestamp denoting how far back a conversation's history is shared with the member. ISO 8601 format.                             |

***

### `Microsoft Teams Update Team Schedule Shift`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_TEAM\_SCHEDULE\_SHIFT**

Tool to update an existing shift in a Microsoft Teams team schedule. Use when you need to modify shift details like times, assigned user, or notes.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example                                       | Description                                                                                                         |
| --------------------- | ------- | :------: | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `teamId`              | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | The unique identifier of the team (GUID format).                                                                    |
| `userId`              | string  |          | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"`      | The unique identifier of the user assigned to this shift (GUID format).                                             |
| `shiftId`             | string  |     ✅    | `"SHFT_67bbbd0f-ad83-46a1-a94f-fe9d9f29fb84"` | The unique identifier of the shift to update (e.g., 'SHFT\_67bbbd0f-ad83-46a1-a94f-fe9d9f29fb84').                  |
| `draftShift`          | object  |          | —                                             | Represents the draft version of a shift that has not been shared with the team.                                     |
| `sharedShift`         | object  |          | —                                             | Represents the shared version of a shift that is visible to team members.                                           |
| `schedulingGroupId`   | string  |          | —                                             | The unique identifier of the scheduling group this shift belongs to. Set to null to remove from a scheduling group. |
| `isStagedForDeletion` | boolean |          | —                                             | Indicates whether the shift is staged for deletion. Set to true to mark for deletion.                               |

***

### `Microsoft Teams Update Time Off`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_TIME\_OFF**

Tool to replace an existing timeOff entry in a team's schedule. Use when you need to update time off details including dates, reason, or status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type    | Required | Example                                       | Description                                                                                                                                                            |
| --------------------- | ------- | :------: | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`              | string  |     ✅    | `"43f0c14d-bca8-421f-b762-c3d8dd75be1f"`      | ID of the user assigned to this timeOff entry. Must be a valid user GUID (e.g., '43f0c14d-bca8-421f-b762-c3d8dd75be1f'). Required.                                     |
| `team_id`             | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`      | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                                           |
| `timeoff_id`          | string  |     ✅    | `"SHFT_d3b1de89-60b8-4e61-81b7-c55ab222c1ab"` | Unique identifier of the timeOff entry to replace. This is the ID of the timeOff resource in the team's schedule (e.g., 'SHFT\_d3b1de89-60b8-4e61-81b7-c55ab222c1ab'). |
| `draftTimeOff`        | object  |          | —                                             | Represents a version of the timeOff entry (shared or draft).                                                                                                           |
| `sharedTimeOff`       | object  |          | —                                             | Represents a version of the timeOff entry (shared or draft).                                                                                                           |
| `isStagedForDeletion` | boolean |          | —                                             | Indicates whether the timeOff is marked for deletion. This process is finalized when the schedule is shared. Optional.                                                 |

***

### `Microsoft Teams Update Time Off Reason`

Integration name: **MICROSOFT\_TEAMS\_UPDATE\_TIME\_OFF\_REASON**

Tool to update a time off reason in a team's schedule. Use when you need to modify the display name, icon, active status, or code of an existing time off reason.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type    | Required | Example                                      | Description                                                                                                                                    |
| -------------------- | ------- | :------: | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`               | string  |          | `"MED2026"`                                  | An alphanumeric code to represent an external identifier for this time off reason. Must be unique within the team. Maximum 100 characters.     |
| `team_id`            | string  |     ✅    | `"87b0560f-fc0d-4442-add8-b380ca926707"`     | Unique identifier (GUID) of the Microsoft Teams team. Must be in UUID format (e.g., '87b0560f-fc0d-4442-add8-b380ca926707').                   |
| `icon_type`          | string  |          | —                                            | Supported icon types for time off reasons.                                                                                                     |
| `is_active`          | boolean |          | —                                            | Whether the time off reason is active and can be used when creating or updating time off entries. Set to false to deactivate without deleting. |
| `display_name`       | string  |          | `"Medical Leave"`                            | The name of the time off reason. This is what will be displayed in the schedule.                                                               |
| `time_off_reason_id` | string  |     ✅    | `"TOR_027a2ccc-c0fe-46cd-98f7-f78203556140"` | Unique identifier of the time off reason to update. This is the ID of the timeOffReason resource in the team's schedule.                       |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/microsoft-teams.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
