# SharePoint

Your Toolhouse AI Worker can connect to Share Point using 89 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=share_point).

## Tools (89)

### `Share Point Add Attachment To List Item`

Integration name: **SHARE\_POINT\_ADD\_ATTACHMENT\_TO\_LIST\_ITEM**

Tool to add an attachment to a SharePoint list item. Use when you need to upload a binary file as an attachment to a specified list item.

#### Parameters

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

| Parameter        | Type    | Required | Example           | Description                                                                                                                                                                                 |
| ---------------- | ------- | :------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`        | integer |     ✅    | `1`               | ID of the list item to which the file will be attached.                                                                                                                                     |
| `file_name`      | string  |     ✅    | `"example.pdf"`   | Name to assign to the attachment file in SharePoint.                                                                                                                                        |
| `site_name`      | string  |          | —                 | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `list_title`     | string  |     ✅    | `"Announcements"` | The display title of the SharePoint list containing the target item.                                                                                                                        |
| `content_text`   | string  |          | —                 | Optional raw text content to upload (UTF-8 encoded). Use when not passing file\_content.                                                                                                    |
| `file_content`   | object  |          | —                 | File to attach. Alternatively, omit this and provide either 'content\_text' for UTF-8 text or 'content\_base64' for arbitrary bytes.                                                        |
| `content_base64` | string  |          | —                 | Optional base64-encoded bytes to upload. Use for binary content when not passing file\_content.                                                                                             |

***

### `Share Point Add Field Link To Content Type`

Integration name: **SHARE\_POINT\_ADD\_FIELD\_LINK\_TO\_CONTENT\_TYPE**

Tool to add a field link to a list content type. Use when you want to associate an existing list field with a content type.

#### Parameters

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

| Parameter             | Type    | Required | Example                                    | Description                                                                                                                                                                                 |
| --------------------- | ------- | :------: | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `hidden`              | boolean |          | —                                          | Whether the field link should be hidden in forms. Defaults to False.                                                                                                                        |
| `listid`              | string  |     ✅    | `"01234567-89ab-cdef-0123-456789abcdef"`   | GUID of the SharePoint list in canonical format, e.g., '01234567-89ab-cdef-0123-456789abcdef'.                                                                                              |
| `required`            | boolean |          | —                                          | Whether the field link should be required. Defaults to False.                                                                                                                               |
| `site_name`           | string  |          | `"composio-test"`                          | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `contenttypeid`       | string  |     ✅    | `"0x0100CC8BDE8AF72FC745A823106B7E8CD1FF"` | The content type ID (StringValue) within the list, e.g., '0x0100CC8BDE8AF72FC745A823106B7E8CD1FF'.                                                                                          |
| `field_internal_name` | string  |     ✅    | —                                          | The internal name of the existing field to link (e.g., 'Title').                                                                                                                            |

***

### `Share Point Add Role Assignment To Item`

Integration name: **SHARE\_POINT\_ADD\_ROLE\_ASSIGNMENT\_TO\_ITEM**

Tool to add a role assignment to a list item. Use when granting specific permissions to a user or group after breaking inheritance if needed. This action is externally visible and permanently alters item permissions; obtain explicit human approval for the target item and `role_definition_id` before executing.

#### Parameters

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

| Parameter            | Type    | Required | Example           | Description                                                                                                                                                                                 |
| -------------------- | ------- | :------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`            | integer |     ✅    | `1`               | ID of the list item to which to add the role assignment.                                                                                                                                    |
| `site_name`          | string  |          | `"composio-test"` | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `list_title`         | string  |     ✅    | `"My Documents"`  | Title of the SharePoint list containing the target item. Must exactly match the list's display name.                                                                                        |
| `principal_id`       | integer |     ✅    | `15`              | ID of the user or group to grant permissions.                                                                                                                                               |
| `role_definition_id` | integer |     ✅    | `1073741827`      | ID of the permission level (role definition) to assign.                                                                                                                                     |

***

### `Share Point Add Role Assignment To List`

Integration name: **SHARE\_POINT\_ADD\_ROLE\_ASSIGNMENT\_TO\_LIST**

Tool to add a role assignment to a SharePoint list. Requires the list to have broken role inheritance first via SHARE\_POINT\_BREAK\_ROLE\_INHERITANCE\_ON\_LIST; inheriting lists will reject unique role assignments. Use when granting permissions to a user or group on a specific list.

#### Parameters

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

| Parameter            | Type    | Required | Example | Description                                                                                                                                                                                             |
| -------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`          | string  |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.             |
| `list_title`         | string  |     ✅    | —       | The title of the SharePoint list to grant permissions on.                                                                                                                                               |
| `principal_id`       | integer |     ✅    | —       | The ID of the user or group principal to which the role will be assigned. Must be a site-collection-registered ID; use the Id returned by SHARE\_POINT\_ENSURE\_USER to avoid invalid-principal errors. |
| `role_definition_id` | integer |     ✅    | —       | The ID of the role definition to assign (e.g., 1073741827 for Contribute).                                                                                                                              |

***

### `Share Point Break Role Inheritance On Item`

Integration name: **SHARE\_POINT\_BREAK\_ROLE\_INHERITANCE\_ON\_ITEM**

Tool to break permission inheritance on a list item. Call this before adding new role assignments; adding assignments prior leaves the item still inheriting parent permissions, causing unexpected access behavior. Use when you need to uniquely set permissions on an item after copying or clearing parent assignments.

#### Parameters

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

| Parameter               | Type    | Required | Example | Description                                                                                                                                                                                 |
| ----------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`               | integer |     ✅    | —       | ID of the list item whose permissions inheritance will be broken                                                                                                                            |
| `site_name`             | string  |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `list_title`            | string  |     ✅    | —       | Title of the list containing the item Must be the exact display name as shown in SharePoint UI, not the URL segment or internal name.                                                       |
| `clear_subscopes`       | boolean |          | —       | Whether to clear unique permissions on any child scopes of the item                                                                                                                         |
| `copy_role_assignments` | boolean |          | —       | Whether to copy existing parent role assignments to the item before breaking inheritance                                                                                                    |

***

### `Share Point Break Role Inheritance On List`

Integration name: **SHARE\_POINT\_BREAK\_ROLE\_INHERITANCE\_ON\_LIST**

Breaks permission inheritance on a SharePoint list, allowing you to set unique permissions. When you break inheritance, you can choose to:

* Copy parent permissions as a starting point (`copy_role_assignments=true`)
* Start fresh with no inherited permissions (`copy_role_assignments=false`)
* Clear unique permissions on child items to re-inherit from this list (`clear_subscopes=true`)

Use this when you need to manage list-level permissions independently from the site. Must be called before SHARE\_POINT\_ADD\_ROLE\_ASSIGNMENT\_TO\_LIST, which fails on lists still inheriting from the parent site.

#### Parameters

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

| Parameter               | Type    | Required | Example | Description                                                                                                                                                                                                                                                |
| ----------------------- | ------- | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`             | string  |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                                |
| `list_title`            | string  |     ✅    | —       | The title of the SharePoint list to break permission inheritance on.                                                                                                                                                                                       |
| `clear_subscopes`       | boolean |     ✅    | —       | Whether to reset unique permissions on child items (folders, documents) to inherit from this list. Set true to remove all item-level custom permissions and force inheritance from the list. Set false to preserve existing item-level unique permissions. |
| `copy_role_assignments` | boolean |     ✅    | —       | Whether to copy parent permissions when breaking inheritance. Set true to start with a copy of the parent site's permissions (recommended for most cases). Set false to start with empty permissions where only the current user has access.               |

***

### `Share Point Check In File`

Integration name: **SHARE\_POINT\_CHECK\_IN\_FILE**

Tool to check in a file. Use after uploading or editing a document and you're ready to finalize changes.

#### Parameters

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

| Parameter              | Type    | Required | Example                            | Description                                                                                                                                                                                                |
| ---------------------- | ------- | :------: | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `comment`              | string  |          | `"Initial check-in"`               | Check-in comment to describe this version of the file. Defaults to empty string if not provided.                                                                                                           |
| `site_name`            | string  |          | `"composio-test"`                  | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                |
| `checkintype`          | integer |          | `0`                                | Check-in type: 0=MinorCheckIn (draft/minor version), 1=MajorCheckIn (published/major version), 2=OverwriteCheckIn (overwrite current version without creating new version). Defaults to 1 (Major version). |
| `server_relative_path` | string  |     ✅    | `"/Shared Documents/example.docx"` | Server-relative URL of the file to check in, including library and folders. E.g., '/Shared Documents/example.docx'.                                                                                        |

***

### `Share Point Create Content Type`

Integration name: **SHARE\_POINT\_CREATE\_CONTENT\_TYPE**

Tool to create a new content type in SharePoint. Use when you need to define a custom content type with specific metadata structure for lists or libraries.

#### Parameters

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

| Parameter     | Type   | Required | Example                       | Description                                                                                                                                                                                 |
| ------------- | ------ | :------: | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`          | object |          | —                             | Model for the content type ID value object.                                                                                                                                                 |
| `name`        | string |     ✅    | `"TestContentType2"`          | The name of the content type to create.                                                                                                                                                     |
| `group`       | string |          | `"Custom Content Types"`      | The group category for the content type, e.g., 'Custom Content Types', 'Document Content Types'.                                                                                            |
| `site_name`   | string |          | `"composio-test"`             | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `description` | string |          | `"Another test content type"` | Description of the content type. Provides context about the purpose and usage of this content type.                                                                                         |

***

### `Share Point Create Drive Item Sharing Link`

Integration name: **SHARE\_POINT\_CREATE\_DRIVE\_ITEM\_SHARING\_LINK**

Tool to create a sharing link for a drive item in SharePoint or OneDrive. Use when you need to generate a shareable link with specific permissions (view/edit/embed) and scope (anonymous/organization/users). The link can optionally include password protection and expiration date.

#### Parameters

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

| Parameter                    | Type    | Required | Example                                                                | Description                                                                                                                                                                   |
| ---------------------------- | ------- | :------: | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type`                       | string  |     ✅    | —                                                                      | The type of sharing link to create. 'view' creates read-only access, 'edit' creates read-write access, 'embed' creates embeddable link (OneDrive Personal only).              |
| `scope`                      | string  |          | —                                                                      | Scope of the sharing link.                                                                                                                                                    |
| `drive_id`                   | string  |     ✅    | `"b!sAYRj4psj0qqpjB3OOHdglZBMF5Nk0xPnR4Fc4pfinI7DA8OPuKvSo4igDo7VyMV"` | The unique identifier of the drive containing the item.                                                                                                                       |
| `password`                   | string  |          | —                                                                      | The password for the sharing link. Optional and OneDrive Personal only.                                                                                                       |
| `driveItem_id`               | string  |     ✅    | `"01K67O4VQJ6LBMI64JF5FLHHIQ4OJP45SP"`                                 | The unique identifier of the drive item to create a link for.                                                                                                                 |
| `expirationDateTime`         | string  |          | `"2024-12-31T23:59:59Z"`                                               | The expiration time of the sharing link in ISO 8601 format (yyyy-MM-ddTHH:mm:ssZ). If not specified, the link does not expire unless a default expiration policy is enforced. |
| `retainInheritedPermissions` | boolean |          | —                                                                      | If true (default), any existing inherited permissions are retained on the shared item. If false, all existing permissions are removed when sharing for the first time.        |

***

### `Share Point Create List Field`

Integration name: **SHARE\_POINT\_CREATE\_LIST\_FIELD**

Tool to create a new field (column) in a SharePoint list. Use when you need to programmatically add a column after confirming the list GUID.

#### Parameters

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

| Parameter               | Type    | Required | Example                                  | Description                                                                                                                                                                                                      |
| ----------------------- | ------- | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`                 | string  |     ✅    | `"My Column"`                            | Display name of the new list field.                                                                                                                                                                              |
| `required`              | boolean |          | —                                        | Whether the field is required (non-nullable).                                                                                                                                                                    |
| `list_guid`             | string  |     ✅    | `"01234567-89ab-cdef-0123-456789abcdef"` | GUID of the SharePoint list where the new field will be created. Obtain via SHARE\_POINT\_SHAREPOINT\_CREATE\_LIST or SHARE\_POINT\_GET\_LIST\_BY\_TITLE before calling this tool.                               |
| `site_name`             | string  |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                      |
| `static_name`           | string  |     ✅    | `"MyColumnInternal"`                     | Internal name of the field (no spaces).                                                                                                                                                                          |
| `field_type_kind`       | integer |     ✅    | `2`                                      | Numeric value from SP.FieldType enumeration specifying the type of the field. Common values: 1=Counter, 2=Text (single line), 3=Note (multiple lines), 6=Choice, 8=Boolean, 9=Number (decimal), 11=URL, 20=User. |
| `enforce_unique_values` | boolean |          | —                                        | Whether values in this field must be unique. When True, the field will automatically be marked as Indexed, which SharePoint requires for unique-value enforcement.                                               |

***

### `Share Point Create List Item By Id`

Integration name: **SHARE\_POINT\_CREATE\_LIST\_ITEM\_BY\_ID**

Tool to create a new item in a SharePoint list using the list's GUID. Use when you have the list GUID rather than the list title.

#### Parameters

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

| Parameter       | Type   | Required | Example                                  | Description                                                                                                                                                                                                                                                        |
| --------------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `fields`        | object |     ✅    | `{"Title":"New Task","Status":"Active"}` | Dictionary mapping internal field names to their values for the new list item. Example: {'Title': 'New Item', 'Description': 'Item details'}. At minimum, provide 'Title' field for most lists.                                                                    |
| `list_id`       | string |     ✅    | `"a12e3d6e-9414-462d-bd53-cf06f3982ad3"` | The unique identifier (GUID) of the SharePoint list where the item will be created. Format: '12345678-1234-1234-1234-123456789abc'                                                                                                                                 |
| `site_name`     | string |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'.                                                                      |
| `metadata_type` | string |     ✅    | `"SP.Data.TasksListItem"`                | The ListItemEntityTypeFullName required for \_\_metadata.type in the request body. Format: 'SP.Data.{ListName}ListItem' (e.g., 'SP.Data.TasksListItem' or 'SP.Data.AbcListItem'). Use GET\_LIST\_ITEM\_ENTITY\_TYPE\_FULL\_NAME to retrieve this value if unknown. |

***

### `Share Point Create List Item In Folder`

Integration name: **SHARE\_POINT\_CREATE\_LIST\_ITEM\_IN\_FOLDER**

Tool to create a list item in a specific folder within a SharePoint list. IMPORTANT: This action works ONLY with SharePoint lists (not document libraries). The folder\_url can be either a server-relative URL (e.g., '/Lists/MyList') or an absolute URL (e.g., '<https://site.sharepoint.com/sites/sitename/Lists/MyList>'). To create files in document libraries, use a different action like upload\_file.

#### Parameters

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

| Parameter          | Type   | Required | Example           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------ | ------ | :------: | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `values`           | array  |     ✅    | —                 | List of field name/value pairs to set on the new item.                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `site_name`        | string |          | `"composio-test"` | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the tenant is derived from the connected account's base URL.                                                                                                                                                                                                                                                                                                                                |
| `folder_url`       | string |     ✅    | `"/Lists/MyList"` | URL of the target folder within the list where the item will be created. Accepts both server-relative URLs (e.g., '/Lists/MyList') and absolute URLs (e.g., '<https://site.sharepoint.com/sites/sitename/Lists/MyList>'). For the list root folder, use '/Lists/' or the full absolute URL. For a subfolder within the list, append the subfolder path. You can obtain this URL from the list's RootFolder.ServerRelativeUrl property. This parameter works with SharePoint lists only, NOT document libraries. |
| `list_title`       | string |     ✅    | `"MyList"`        | The title of the SharePoint list where the item will be created. Must be an existing list (not a document library).                                                                                                                                                                                                                                                                                                                                                                                             |
| `check_in_comment` | string |          | —                 | Optional check-in comment if the item is checked out.                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

***

### `Share Point Create Web`

Integration name: **SHARE\_POINT\_CREATE\_WEB**

Tool to create a new SharePoint subsite under the current site. Use when you need to create a new subsite with specific settings for permissions, language, and template.

#### Parameters

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

| Parameter                | Type    | Required | Example | Description                                                                                                                                                                                                                                  |
| ------------------------ | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `url`                    | string  |     ✅    | —       | The URL segment for the new subsite (e.g., 'TestSubWeb'). This becomes part of the site URL path. Must contain only letters, numbers, hyphens, and underscores.                                                                              |
| `title`                  | string  |     ✅    | —       | The display title for the new subsite.                                                                                                                                                                                                       |
| `language`               | integer |          | —       | Language code for the subsite. Default is 1033 (English - United States). Examples: 1031 (German), 1033 (English), 1036 (French), 1040 (Italian), 1041 (Japanese), 1042 (Korean), 1043 (Dutch), 2052 (Chinese - Simplified), 3082 (Spanish). |
| `site_name`              | string  |          | —       | The subsite name to scope the request to. You can find this in your SharePoint URL after /sites/ (e.g., <https://tenant.sharepoint.com/sites/>). If omitted, the root site is used.                                                          |
| `description`            | string  |          | —       | A description of the new subsite (optional).                                                                                                                                                                                                 |
| `web_template`           | string  |          | —       | Web template to use for the subsite. Use 'sts' for modern team site homepage or 'sts#0' for classic team site. Other options include 'blog', 'wiki', etc.                                                                                    |
| `use_unique_permissions` | boolean |          | —       | If true, the subsite will have unique permissions separate from the parent site. If false, it inherits permissions from the parent site.                                                                                                     |

***

### `Share Point Delete Drive Item Version Content`

Integration name: **SHARE\_POINT\_DELETE\_DRIVE\_ITEM\_VERSION\_CONTENT**

Tool to delete content for a specific version of a drive item in SharePoint. Use when you need to remove the binary content associated with a particular version of a file while keeping the version metadata.

#### Parameters

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

| Parameter             | Type   | Required | Example                                                                | Description                                                                                                                                                                        |
| --------------------- | ------ | :------: | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `drive_id`            | string |     ✅    | `"b!sAYRj4psj0qqpjB3OOHdglZBMF5Nk0xPnR4Fc4pfinI6LsO0Ty3NT6hz1n27BFpo"` | The unique identifier of the drive. This is the ID of the document library or drive where the item is stored. You can get this from drive listing endpoints.                       |
| `driveitem_id`        | string |     ✅    | `"01K67O4VSVYSGCL3MHHNDIESCQSPJ6CCZP"`                                 | The unique identifier of the drive item (file or folder). This is the ID of the specific item whose version content you want to delete.                                            |
| `driveitemversion_id` | string |     ✅    | `"24.0"`                                                               | The unique identifier of the version. Version IDs are typically numeric strings like '1.0', '2.0', '24.0', etc. You can retrieve version IDs by listing versions for a drive item. |

***

### `Share Point Delete Folder`

Integration name: **SHARE\_POINT\_DELETE\_FOLDER**

Deletes a folder from a SharePoint document library. This action permanently removes the specified folder and moves it to the site's recycle bin. Use this when you need to remove folders that are no longer needed. The operation is idempotent - attempting to delete a non-existent folder will succeed without error. Requires the server-relative path of the folder (e.g., '/Shared Documents/FolderName').

#### Parameters

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

| Parameter             | Type   | Required | Example                       | Description                                                                                                                                                                                                                                                         |
| --------------------- | ------ | :------: | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `etag`                | string |          | `"*"`                         | ETag for conditional deletion. Use '\*' (default) to delete regardless of version. Provide a specific ETag value to delete only if the folder hasn't been modified since that version.                                                                              |
| `site_name`           | string |          | —                             | The subsite name to scope the request to (e.g., composio-test). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                                           |
| `server_relative_url` | string |     ✅    | `"/Shared Documents/Folder1"` | The server-relative path of the folder to delete. This is the full path from the site root, including the document library and any parent folders. Format: '/DocumentLibrary/ParentFolder/FolderName'. Examples: '/Shared Documents/Reports', '/Documents/2024/Q1'. |

***

### `Share Point Delete List`

Integration name: **SHARE\_POINT\_DELETE\_LIST**

Tool to delete a SharePoint list. Use when you need to remove a list by its GUID after confirming the correct list identifier.

#### Parameters

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

| Parameter   | Type   | Required | Example | Description                                                                                                                                                                                   |
| ----------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `if_match`  | string |          | —       | ETag for concurrency control; use '\*' to delete regardless of version.                                                                                                                       |
| `list_guid` | string |     ✅    | —       | The GUID of the SharePoint list to delete (format: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx').                                                                                                   |
| `site_name` | string |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |

***

### `Share Point Delete List By Title`

Integration name: **SHARE\_POINT\_DELETE\_LIST\_BY\_TITLE**

Tool to delete a SharePoint list by its title. Use when you need to permanently remove a list and all its contents by specifying the list name.

#### Parameters

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

| Parameter    | Type   | Required | Example              | Description                                                                                                                                                                                 |
| ------------ | ------ | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `if_match`   | string |          | —                    | ETag for concurrency control. Use '\*' to force delete regardless of version, or provide a specific ETag value for version checking.                                                        |
| `site_name`  | string |          | `"composio-test"`    | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `list_title` | string |     ✅    | `"TestListToDelete"` | The title of the SharePoint list to delete. This is a destructive operation that permanently removes the list and all its contents.                                                         |

***

### `Share Point Delete List Item`

Integration name: **SHARE\_POINT\_DELETE\_LIST\_ITEM**

Tool to delete a SharePoint list item. Use when you need to permanently remove an item by its ID. Use after obtaining the item's ETag to ensure concurrency control.

#### Parameters

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

| Parameter    | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                         |
| ------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | integer |     ✅    | —       | Numeric ID of the list item to delete                                                                                                                                                                                                                                                                               |
| `site_name`  | string  |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                                                                                         |
| `list_title` | string  |     ✅    | —       | The exact title of the SharePoint list containing the item to delete                                                                                                                                                                                                                                                |
| `match_etag` | string  |          | —       | ETag value for concurrency control. Use '\*' to force delete regardless of version. If providing a specific ETag, use the full quoted value returned by GET\_LIST\_ITEM\_ETAG (e.g., '"guid,version"' format like '"c7a93369-bda8-4da1-b1a3-3d87d2e207fc,1"'). Simple version numbers like '1' are not valid ETags. |

***

### `Share Point Delete Recycle Bin Item Permanent`

Integration name: **SHARE\_POINT\_DELETE\_RECYCLE\_BIN\_ITEM\_PERMANENT**

Tool to permanently delete a SharePoint Recycle Bin item. Use after confirming the item's GUID to remove it irrevocably.

#### Parameters

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

| Parameter          | Type   | Required | Example                                  | Description                                                                                                                                                                                                                               |
| ------------------ | ------ | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`        | string |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                               |
| `recyclebinitemid` | string |     ✅    | `"123e4567-e89b-12d3-a456-426614174000"` | GUID of the Recycle Bin item to delete permanently. Must not be empty. Retrieve this GUID by querying the recycle bin and cross-referencing item name, original path, and deletion timestamp to confirm the correct item before deletion. |

***

### `Share Point Download File By Server Relative Url`

Integration name: **SHARE\_POINT\_DOWNLOAD\_FILE\_BY\_SERVER\_RELATIVE\_URL**

Tool to download a file by server-relative URL. Use when you need to fetch the raw bytes of a SharePoint file by its server-relative path.

#### Parameters

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

| Parameter             | Type   | Required | Example                          | Description                                                                                                                                                                                                                                                                                                                                                      |
| --------------------- | ------ | :------: | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`           | string |          | `"testcomposio"`                 | Optional SharePoint site name to scope the file download. If provided, the file path is resolved relative to this site. If not provided, the site is auto-extracted from paths starting with /sites/. If not provided and no /sites/ prefix, the file path is resolved relative to the tenant root site. E.g., 'testcomposio' for a site at /sites/testcomposio. |
| `server_relative_url` | string |     ✅    | `"/Shared Documents/report.pdf"` | Server-relative URL of the file to download, starting with '/'. Can be either URL-encoded or unencoded. E.g., '/Shared Documents/report.pdf' for root site, '/sites/CustomerDocs/Documents/file.pdf' for subsites, or '/personal/username\_domain/Documents/file.docx' for personal OneDrive sites.                                                              |

***

### `Share Point Ensure User`

Integration name: **SHARE\_POINT\_ENSURE\_USER**

Ensures a user exists in a SharePoint site by their login name. If the user already exists, returns their info; if not, adds them to the site — this is a write operation with a provisioning side effect, not a read-only presence check. Use when you need to add a user or get their user ID for permissions. The login name must be in SharePoint claims format (e.g., 'i:0#.f|membership|<user@domain.com>'). This action only registers the user in the site collection and does not grant any permissions. To assign list-level access, pass the returned Id field as principal\_id to SHARE\_POINT\_ADD\_ROLE\_ASSIGNMENT\_TO\_LIST.

#### Parameters

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

| Parameter    | Type   | Required | Example             | Description                                                                                                                                                                                   |
| ------------ | ------ | :------: | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `email`      | string |          | `"user@domain.com"` | Email address of the user to add to SharePoint. Automatically converted to claims format 'i:0#.f\|membership\|{email}'. Either email or login\_name must be provided.                         |
| `title`      | string |          | —                   | Optional display name/title for the user in SharePoint. If provided, the user's title will be updated after ensuring them.                                                                    |
| `site_name`  | string |          | `"composio-test"`   | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |
| `login_name` | string |          | \`"i:0#.f           | membership                                                                                                                                                                                    |

***

### `Share Point Follow`

Integration name: **SHARE\_POINT\_FOLLOW**

Follow a SharePoint user, document, site, or tag. Use to make the authenticated user follow a specified actor. Supports following users (actor\_type=0), documents (actor\_type=1), sites (actor\_type=2), or tags (actor\_type=3).

#### Parameters

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

| Parameter      | Type    | Required | Example | Description                                                                                                                                                                                 |
| -------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tag_guid`     | string  |          | —       | GUID of the tag when actor\_type=3.                                                                                                                                                         |
| `site_name`    | string  |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `actor_type`   | integer |     ✅    | `0`     | Type of the actor to follow: 0=user, 1=document, 2=site, 3=tag.                                                                                                                             |
| `content_uri`  | string  |          | —       | URI of the document or site when actor\_type=1 or 2, e.g., '<http://server/site>'.                                                                                                          |
| `account_name` | string  |          | —       | Account name for a user when actor\_type=0, in claims format, e.g., 'i:0#.f\|membership\|<user@domain.com>'.                                                                                |

***

### `Share Point Get All Folders`

Integration name: **SHARE\_POINT\_GET\_ALL\_FOLDERS**

Tool to retrieve all folders in the SharePoint web. Use when you need to discover all available folders across the site. Supports OData query parameters for filtering, selecting specific fields, sorting, 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`                                 | OData $top to limit the number of folders returned.                                                                                                                                         |
| `expand`    | string  |          | `"Files,Folders"`                    | OData $expand to include related entities such as 'Files,Folders,ListItemAllFields'.                                                                                                        |
| `filter`    | string  |          | `"ItemCount gt 0"`                   | OData $filter to narrow results based on folder properties.                                                                                                                                 |
| `select`    | string  |          | `"Name,ServerRelativeUrl,ItemCount"` | OData $select to specify which folder fields to return (comma-separated), e.g., 'Name,ServerRelativeUrl,ItemCount'.                                                                         |
| `tenant`    | string  |          | `"composio2024"`                     | The SharePoint tenant name (e.g., 'composio2024' for composio2024.sharepoint.com). This parameter is not used; tenant information is derived from the authenticated connection.             |
| `orderby`   | string  |          | `"Name asc"`                         | OData $orderby to sort results, e.g., 'Name asc' or 'TimeCreated desc'.                                                                                                                     |
| `site_name` | string  |          | `"composio-test"`                    | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |

***

### `Share Point Get Changes`

Integration name: **SHARE\_POINT\_GET\_CHANGES**

Tool to retrieve changes from SharePoint list change log. Use when processing webhook notifications to get actual changes that occurred. Set boolean flags in query (Add, Item, Update, etc.) to filter change types. Store the ChangeToken from the last change and use as ChangeTokenStart in subsequent calls to track only new changes.

#### Parameters

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

| Parameter   | Type   | Required | Example                                  | Description                                                                                                                                                                                 |
| ----------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`     | object |     ✅    | —                                        | Change query parameters specifying which types of changes to retrieve. Set boolean properties to True to include specific change types (e.g., Add=True, Item=True for new items).           |
| `list_id`   | string |     ✅    | `"a12e3d6e-9414-462d-bd53-cf06f3982ad3"` | GUID of the SharePoint list to get changes for, in canonical format, e.g., 'a12e3d6e-9414-462d-bd53-cf06f3982ad3'.                                                                          |
| `site_name` | string |          | —                                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |

***

### `Share Point Get Content Type`

Integration name: **SHARE\_POINT\_GET\_CONTENT\_TYPE**

Tool to retrieve a single SharePoint content type by its ID. Use when you need detailed information about a specific content type including its fields, forms, and metadata.

#### Parameters

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

| Parameter         | Type   | Required | Example           | Description                                                                                                                                                                                                                                        |
| ----------------- | ------ | :------: | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`       | string |          | `"composio-test"` | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                        |
| `content_type_id` | string |     ✅    | `"0x01"`          | The unique identifier of the content type to retrieve. This can be the hexadecimal content type ID (e.g., '0x01' for Item, '0x0101' for Document) or the string representation. Common IDs: '0x01' (Item), '0x0101' (Document), '0x0120' (Folder). |

***

### `Share Point Get Content Types`

Integration name: **SHARE\_POINT\_GET\_CONTENT\_TYPES**

Retrieves all content types from the current SharePoint site. Use this action to discover available content types on a SharePoint site. Returns metadata for each content type including Id, Name, Description, Group, and other properties. Supports OData query parameters for filtering, selecting specific fields, sorting, 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 |          | `10`                    | OData $top to limit the number of results.                                                                                                                                                  |
| `expand`    | string  |          | `"Fields"`              | OData $expand to include related entities.                                                                                                                                                  |
| `filter`    | string  |          | `"Hidden eq false"`     | OData $filter to narrow results, e.g., 'Hidden eq false'.                                                                                                                                   |
| `select`    | string  |          | `"Name,Id,Description"` | OData $select to specify which content type fields to return, e.g., 'Name,Id,Description'.                                                                                                  |
| `orderby`   | string  |          | `"Name asc"`            | OData $orderby to sort results, e.g., 'Name asc'.                                                                                                                                           |
| `site_name` | string  |          | `"composio-test"`       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `skiptoken` | string  |          | `"Paged=TRUE&p_ID=15"`  | OData $skiptoken for paging through results.                                                                                                                                                |

***

### `Share Point Get Content Types For List`

Integration name: **SHARE\_POINT\_GET\_CONTENT\_TYPES\_FOR\_LIST**

Tool to retrieve all content types for a specific SharePoint list by GUID. Use when you need the content type IDs, names, and descriptions of every content type in a list.

#### Parameters

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

| Parameter   | Type   | Required | Example                                  | Description                                                                                                                                                                                   |
| ----------- | ------ | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_guid` | string |     ✅    | `"01234567-89ab-cdef-0123-456789abcdef"` | GUID of the SharePoint list to retrieve content types for, in canonical format, e.g., '01234567-89ab-cdef-0123-456789abcdef'.                                                                 |
| `site_name` | string |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |

***

### `Share Point Get Context Info`

Integration name: **SHARE\_POINT\_GET\_CONTEXT\_INFO**

Tool to retrieve SharePoint context information including the form digest value. Use when you need a form digest token for write operations (POST, PUT, DELETE).

#### Parameters

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

| Parameter   | Type   | Required | Example | Description                                                                                                                                                                                  |
| ----------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name` | string |          | —       | The subsite name to scope the request to (e.g., `composio-test`). If omitted, the root site is used. When provided, the API base URL becomes `https://{tenant}.sharepoint.com/sites/{site}`. |

***

### `Share Point Get Current User`

Integration name: **SHARE\_POINT\_GET\_CURRENT\_USER**

Tool to retrieve the current user for the site. Use after authenticating to get the current SharePoint user. A successful response confirms authentication only; access to specific sites, lists, or libraries depends on separate scopes and item-level permissions.

#### Parameters

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

| Parameter   | Type   | Required | Example | Description                                                                                                                                                                                  |
| ----------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name` | string |          | —       | The subsite name to scope the request to (e.g., `composio-test`). If omitted, the root site is used. When provided, the API base URL becomes `https://{tenant}.sharepoint.com/sites/{site}`. |

***

### `Share Point Get Drive Item Analytics`

Integration name: **SHARE\_POINT\_GET\_DRIVE\_ITEM\_ANALYTICS**

Tool to get analytics for a SharePoint drive item. Use when you need to retrieve access statistics (view counts, unique viewers) for files or folders in SharePoint/OneDrive.

#### Parameters

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

| Parameter       | Type   | Required | Example                                | Description                                                                                                                                                                                 |
| --------------- | ------ | :------: | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `drive_id`      | string |     ✅    | `"b!your_drive_id_here"`               | The unique identifier of the drive containing the item.                                                                                                                                     |
| `site_name`     | string |          | `"composio-test"`                      | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `time_range`    | string |          | `"allTime"`                            | Time range for analytics data. Use 'allTime' for all-time statistics or 'lastSevenDays' for the last seven days.                                                                            |
| `drive_item_id` | string |     ✅    | `"01K67O4VQJ6LBMI64JF5FLHHIQ4OJP45SP"` | The unique identifier of the drive item to get analytics for.                                                                                                                               |

***

### `Share Point Get File By Server Relative Url`

Integration name: **SHARE\_POINT\_GET\_FILE\_BY\_SERVER\_RELATIVE\_URL**

DEPRECATED: Use GetSiteDriveItemByPath instead. Tool to fetch SharePoint file metadata (exists/permissions/URLs/UniqueId) given a server-relative path, using the more robust ServerRelativePath API for special characters. Use after SHARE\_POINT\_SEARCH\_QUERY returns a Path and you need to confirm the canonical working path or retrieve file properties without downloading bytes.

#### Parameters

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

| Parameter                      | Type   | Required | Example                                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------------------------ | ------ | :------: | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`                       | string |          | `"ListItemAllFields"`                                       | OData $expand query option. Comma-separated list of related entities to expand, such as 'ListItemAllFields' to include list item metadata.                                                                                                                                                                                                                                                                                                |
| `select`                       | string |          | `"ServerRelativeUrl,UniqueId,Name,Length,TimeLastModified"` | OData $select query option. Comma-separated list of fields to return. E.g., 'ServerRelativeUrl,UniqueId,Name,Length,TimeLastModified,LinkingUri'.                                                                                                                                                                                                                                                                                         |
| `site_name`                    | string |          | `"Workshopsubmissions"`                                     | Optional SharePoint site name to scope the file retrieval. Required when accessing files in a subsite (e.g., when the path starts with /sites/). If the file path is '/sites/Workshopsubmissions/Shared Documents/file.pdf', set site\_name='Workshopsubmissions'. If not provided, the file is resolved from the tenant root site context. This parameter is auto-extracted from paths starting with /sites/ if not explicitly provided. |
| `server_relative_path_decoded` | string |     ✅    | `"/sites/Finance/Shared Documents/W-9.pdf"`                 | Decoded server-relative path of the file, starting with '/'. E.g., '/sites/Finance/Shared Documents/W-9.pdf' or '/Shared Documents/report.pdf'. Do not URL-encode; provide the path with spaces and special characters as-is.                                                                                                                                                                                                             |

***

### `Share Point Get Folder By Server Relative Url`

Integration name: **SHARE\_POINT\_GET\_FOLDER\_BY\_SERVER\_RELATIVE\_URL**

DEPRECATED: Use SHARE\_POINT\_GET\_SITE\_DRIVE\_ITEM\_BY\_PATH instead. Tool to retrieve a folder by its server-relative URL. Use when you need to fetch folder metadata by path before further operations. Returns only the immediate folder; to traverse nested structures, iterate `Folders.results` and call this tool recursively for each subfolder.

#### Parameters

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

| Parameter             | Type   | Required | Example                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------------------- | ------ | :------: | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`              | string |          | `"Files,Folders"`                    | OData $expand query option. Comma-separated list of related entities to expand, such as 'Files,Folders,ListItemAllFields'. Expanding Files or Folders can produce large responses; access nested data via `Files.results` and `Folders.results` arrays.                                                                                                                                                                                                                                                                                                                |
| `select`              | string |          | `"Name,ServerRelativeUrl,ItemCount"` | OData $select query option. Comma-separated list of fields to return. E.g., 'Name,ServerRelativeUrl,ItemCount'.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `site_name`           | string |          | `"composio-test"`                    | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site\_name}.                                                                                                                                                                                                                                                                                                                                                                      |
| `server_relative_url` | string |     ✅    | `"/Shared Documents/MyFolder"`       | Server-relative URL of the folder to retrieve, including library and any parent folders. Can be provided as a plain path (e.g., '/Shared Documents/MyFolder') or as a pre-encoded URL (e.g., '/Shared%20Documents/MyFolder'). Both formats are accepted and handled correctly. Path must exactly match the real SharePoint library name (e.g., '/Shared Documents' not '/Documents'); extra or missing slashes cause resolution failures. Prefer reusing the `server_relative_url` returned by this tool for downstream calls rather than constructing paths manually. |

***

### `Share Point Get Group Users`

Integration name: **SHARE\_POINT\_GET\_GROUP\_USERS**

Retrieves all users who are members of a specified SharePoint group. This action returns user information including IDs, names, email addresses, login names, and permission details. Supports OData query parameters for filtering, sorting, field selection, and pagination. Use this when you need to audit group membership, check user permissions, or list members of a specific group.

#### 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`                           | OData $top parameter to limit the number of returned users. Must be a positive integer.                                                                                                     |
| `expand`     | string  |          | `"Groups"`                     | OData $expand parameter to expand related navigation properties. Use 'Groups' to get the user's group memberships.                                                                          |
| `filter`     | string  |          | `"PrincipalType eq 1"`         | OData $filter parameter to filter the returned users. Use OData filter syntax (e.g., 'PrincipalType eq 1' for regular users).                                                               |
| `select`     | string  |          | `"Id,Title,Email"`             | OData $select parameter to return only specific user fields. Comma-separated field names (e.g., 'Id,Title,Email,LoginName').                                                                |
| `orderby`    | string  |          | `"Title"`                      | OData $orderby parameter to sort the returned users. Specify field name and optional 'asc' or 'desc' (e.g., 'Title desc').                                                                  |
| `site_name`  | string  |          | `"composio-test"`              | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `skiptoken`  | string  |          | —                              | OData $skiptoken parameter for pagination. Use the skiptoken value from a previous response's \_\_next link to get the next page of results.                                                |
| `group_name` | string  |     ✅    | `"Communication site Members"` | Name of the SharePoint group to retrieve users from. Use the LoginName or Title of the group (e.g., 'Communication site Members', 'Site Owners').                                           |

***

### `Share Point Get Group Users By Id`

Integration name: **SHARE\_POINT\_GET\_GROUP\_USERS\_BY\_ID**

Tool to retrieve all users in a specific SharePoint site group by group ID. Use when you have the numeric group ID and need to list all members of that group, including their IDs, names, email addresses, and permission details. Supports OData query parameters for filtering, sorting, field 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 |          | `10`                   | OData $top parameter to limit the number of returned users. Must be a positive integer.                                                                                                     |
| `expand`    | string  |          | `"Groups"`             | OData $expand parameter to expand related navigation properties. Use 'Groups' to get the user's group memberships.                                                                          |
| `filter`    | string  |          | `"PrincipalType eq 1"` | OData $filter parameter to filter the returned users. Use OData filter syntax (e.g., 'PrincipalType eq 1' for regular users).                                                               |
| `select`    | string  |          | `"Id,Title,Email"`     | OData $select parameter to return only specific user fields. Comma-separated field names (e.g., 'Id,Title,Email,LoginName').                                                                |
| `orderby`   | string  |          | `"Title"`              | OData $orderby parameter to sort the returned users. Specify field name and optional 'asc' or 'desc' (e.g., 'Title desc').                                                                  |
| `group_id`  | integer |     ✅    | `3`                    | Numeric ID of the SharePoint site group to retrieve users from. Use list\_site\_groups action to get available group IDs.                                                                   |
| `site_name` | string  |          | `"composio-test"`      | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `skiptoken` | string  |          | —                      | OData $skiptoken parameter for pagination. Use the skiptoken value from a previous response's \_\_next link to get the next page of results.                                                |

***

### `Share Point Get Item Attachment Content`

Integration name: **SHARE\_POINT\_GET\_ITEM\_ATTACHMENT\_CONTENT**

Tool to download an attachment from a SharePoint list item. Use when retrieving the binary contents of a specific attachment after confirming the list title, item ID, and filename.

#### Parameters

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

| Parameter    | Type    | Required | Example           | Description                                                                                                                                                                                 |
| ------------ | ------- | :------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | integer |     ✅    | `1`               | ID of the list item to retrieve the attachment from (must be non-negative).                                                                                                                 |
| `file_name`  | string  |     ✅    | `"report.pdf"`    | Exact name of the attachment file, including extension.                                                                                                                                     |
| `site_name`  | string  |          | `"composio-test"` | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `list_title` | string  |     ✅    | `"Documents"`     | Title of the SharePoint list containing the target item.                                                                                                                                    |

***

### `Share Point Get List By Guid`

Integration name: **SHARE\_POINT\_GET\_LIST\_BY\_GUID**

Tool to retrieve a SharePoint list by its GUID. Use when you need to fetch list metadata by its unique identifier. Prefer over name-based lookup tools when the GUID is known, as names may collide across similarly named lists.

#### Parameters

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

| Parameter   | Type   | Required | Example                                  | Description                                                                                                                                                                                                                                                  |
| ----------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `expand`    | string |          | —                                        | Comma-separated list of related entities to include in the response. Common values: Fields (list fields/columns), RootFolder (folder information), ContentTypes, Views. Example: 'Fields' or 'RootFolder'                                                    |
| `select`    | string |          | —                                        | Comma-separated list of fields to return. Limits the response to only specified fields. Common fields: Title, Id, Description, ItemCount, BaseType, BaseTemplate, Created, Hidden, EntityTypeName, ListItemEntityTypeFullName. Example: 'Title,Id,ItemCount' |
| `list_guid` | string |     ✅    | `"01234567-89ab-cdef-0123-456789abcdef"` | GUID of the SharePoint list to retrieve, in canonical format, e.g., '01234567-89ab-cdef-0123-456789abcdef'.                                                                                                                                                  |
| `site_name` | string |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                                  |

***

### `Share Point Get List By Title`

Integration name: **SHARE\_POINT\_GET\_LIST\_BY\_TITLE**

Tool to retrieve a SharePoint list by its title. Use when you need to fetch list metadata by title.

#### Parameters

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

| Parameter    | Type   | Required | Example          | Description                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------ | ------ | :------: | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`     | string |          | —                | Comma-separated list of related entities to include in the response. Common values: Fields (list fields/columns), RootFolder (folder information), ContentTypes, Views. Example: 'Fields' or 'RootFolder' Expanding Fields includes system and hidden fields; check the Hidden metadata flag to identify user-facing columns.                                                                |
| `select`     | string |          | —                | Comma-separated list of fields to return. Limits the response to only specified fields. Common fields: Title, Id, Description, ItemCount, BaseType, BaseTemplate, Created, Hidden, EntityTypeName, ListItemEntityTypeFullName. Example: 'Title,Id,ItemCount' Include 'Id' when the list GUID is needed as `list_guid`/`list_id` for downstream calls like SHARE\_POINT\_CREATE\_LIST\_FIELD. |
| `site_name`  | string |          | `"testcomposio"` | Optional SharePoint site name to scope the list retrieval. If provided, the list is fetched from /sites/{site}. If not provided, the list is fetched from the tenant root site. E.g., 'testcomposio' for a site at /sites/testcomposio.                                                                                                                                                      |
| `list_title` | string |     ✅    | `"Documents"`    | Title of the SharePoint list to retrieve. Will be URL-encoded and enclosed in single quotes in the endpoint. Must be an exact case-sensitive match to the list's display title; typos or renamed lists will cause lookup failures.                                                                                                                                                           |

***

### `Share Point Get List Content Type By Id`

Integration name: **SHARE\_POINT\_GET\_LIST\_CONTENT\_TYPE\_BY\_ID**

Tool to retrieve a specific content type from a SharePoint list by its ID. Use when you need detailed information about a particular content type including its fields, schema, and metadata.

#### Parameters

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

| Parameter         | Type   | Required | Example                                      | Description                                                                                                                                                                                 |
| ----------------- | ------ | :------: | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_id`         | string |     ✅    | `"0e0f0c3b-e23e-4aaf-8e22-803a3b572315"`     | GUID of the SharePoint list containing the content type, in canonical format (e.g., '0e0f0c3b-e23e-4aaf-8e22-803a3b572315').                                                                |
| `site_name`       | string |          | `"composio-test"`                            | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `content_type_id` | string |     ✅    | `"0x010100EAADC19ECD09234BAD136AAD68B38066"` | The content type identifier, a hexadecimal string (e.g., '0x010100EAADC19ECD09234BAD136AAD68B38066'). This is the unique ID of the content type within SharePoint.                          |

***

### `Share Point Get List Item By Id`

Integration name: **SHARE\_POINT\_GET\_LIST\_ITEM\_BY\_ID**

Tool to retrieve a SharePoint list item by ID. Use when you need to fetch a specific item after knowing 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  |          | —           | OData $expand to expand related entities, e.g., 'Author,Editor'. Must be used together with select parameter that includes the expanded fields.                                             |
| `select`     | string  |          | —           | OData $select to specify which fields to return, e.g., 'Title,Created'. Required when using expand parameter.                                                                               |
| `item_id`    | integer |     ✅    | `1`         | Numeric ID of the list item to retrieve.                                                                                                                                                    |
| `site_name`  | string  |          | —           | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `list_title` | string  |     ✅    | `"My List"` | Display title of the target SharePoint list.                                                                                                                                                |

***

### `Share Point Get List Items`

Integration name: **SHARE\_POINT\_GET\_LIST\_ITEMS**

Tool to retrieve items from a SharePoint list. Use when you need to fetch list entries with optional OData parameters.

#### 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 to return.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `expand`     | string  |          | `"Author,Editor"`      | Comma-separated list of navigation properties to expand for lookup fields.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `filter`     | string  |          | `"Title eq 'Test'"`    | OData filter expression to limit results (e.g., Title eq 'Test').                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `select`     | string  |          | `"Title,Id"`           | Comma-separated list of internal field names to return. Use '*' to retrieve all available fields, which is recommended when you don't know the exact field names. SharePoint uses internal field names, not display names - spaces are hex-encoded as 'x0020' (e.g., 'File\_x0020\_Size' for 'File Size'). Common system fields: Id, Title, Created, Modified, AuthorId, EditorId, GUID, FileLeafRef (file name), FileDirRef (folder path), FileRef (server-relative URL). Field availability varies by list type: document libraries include file-specific fields like File\_x0020\_Size, while custom lists have their own schema. To discover available fields for a specific list, either: (1) use select='*' first to see all fields returned in items, or (2) use SHARE\_POINT\_GET\_LIST\_BY\_TITLE with expand='Fields' to get field metadata including InternalName. |
| `orderby`    | string  |          | `"Created desc"`       | OData orderby expression to sort results (e.g., Created desc).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `site_name`  | string  |          | `"testcomposio"`       | Optional SharePoint site name to scope the list retrieval. If provided, the list is fetched from /sites/{site}. If not provided, the list is fetched from the tenant root site. E.g., 'testcomposio' for a site at /sites/testcomposio.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `skiptoken`  | string  |          | `"Paged=TRUE&p_ID=15"` | Token for paging through results.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `list_title` | string  |     ✅    | `"Documents"`          | Exact Title property value of the SharePoint list to query. The Title property value varies by site configuration and localization - for example, the default document library's Title may be 'Documents', 'Shared Documents', or a localized name. To find the exact Title property value, use SHARE\_POINT\_LIST\_ALL\_LISTS which returns all lists with their Title properties.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

***

### `Share Point Get List Items By Guid`

Integration name: **SHARE\_POINT\_GET\_LIST\_ITEMS\_BY\_GUID**

Tool to retrieve items from a SharePoint list using its GUID. Use when you have the list's unique identifier and need to fetch list entries with optional OData parameters.

#### 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 to return.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `expand`    | string  |          | `"Author,Editor"`                        | Comma-separated list of navigation properties to expand for lookup fields.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `filter`    | string  |          | `"Title eq 'Test'"`                      | OData filter expression to limit results (e.g., Title eq 'Test').                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `select`    | string  |          | `"Title,Id"`                             | Comma-separated list of internal field names to return. Use '*' to retrieve all available fields, which is recommended when you don't know the exact field names. SharePoint uses internal field names, not display names - spaces are hex-encoded as 'x0020' (e.g., 'File\_x0020\_Size' for 'File Size'). Common system fields: Id, Title, Created, Modified, AuthorId, EditorId, GUID, FileLeafRef (file name), FileDirRef (folder path), FileRef (server-relative URL). Field availability varies by list type: document libraries include file-specific fields like File\_x0020\_Size, while custom lists have their own schema. To discover available fields for a specific list, either: (1) use select='*' first to see all fields returned in items, or (2) use SHARE\_POINT\_GET\_LIST\_BY\_GUID with expand='Fields' to get field metadata including InternalName. |
| `orderby`   | string  |          | `"Created desc"`                         | OData orderby expression to sort results (e.g., Created desc).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `list_guid` | string  |     ✅    | `"a12e3d6e-9414-462d-bd53-cf06f3982ad3"` | GUID of the SharePoint list to retrieve items from, in canonical format. The GUID uniquely identifies a list across the SharePoint site. To find list GUIDs, use SHARE\_POINT\_LIST\_ALL\_LISTS which returns all lists with their Id (GUID) properties.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `site_name` | string  |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `skiptoken` | string  |          | `"Paged=TRUE&p_ID=15"`                   | Token for paging through results.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

***

### `Share Point Get List Item Version`

Integration name: **SHARE\_POINT\_GET\_LIST\_ITEM\_VERSION**

Tool to retrieve a specific version of a SharePoint list item. Use when you need to access historical versions of list items.

#### Parameters

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

| Parameter    | Type    | Required | Example                                  | Description                                                                                                                                                                                 |
| ------------ | ------- | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | integer |     ✅    | `1`                                      | Numeric ID of the list item whose version to retrieve.                                                                                                                                      |
| `list_guid`  | string  |     ✅    | `"a12e3d6e-9414-462d-bd53-cf06f3982ad3"` | GUID of the SharePoint list in canonical format, e.g., '01234567-89ab-cdef-0123-456789abcdef'.                                                                                              |
| `site_name`  | string  |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `version_id` | integer |     ✅    | `512`                                    | Version ID of the specific list item version to retrieve.                                                                                                                                   |

***

### `Share Point Get My Followed`

Integration name: **SHARE\_POINT\_GET\_MY\_FOLLOWED**

Tool to get entities the current user is following. Use when you need to retrieve followed users, documents, sites, or tags after authentication.

#### Parameters

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

| Parameter   | Type    | Required | Example | Description                                                                                                                                                                                 |
| ----------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `types`     | integer |     ✅    | `1`     | Bitmask of actor types to include. Users=1, Documents=2, Sites=4, Tags=8. Combine values with bitwise OR (e.g., 15 for all).                                                                |
| `site_name` | string  |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |

***

### `Share Point Get My Followers`

Integration name: **SHARE\_POINT\_GET\_MY\_FOLLOWERS**

Retrieves the list of users who are following the authenticated user in SharePoint. Returns an array of SocialActor objects containing follower details like name, email, account name, and personal site URI. No parameters required - automatically retrieves followers for the current authenticated user.

#### Parameters

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

| Parameter   | Type   | Required | Example | Description                                                                                                                                                                                  |
| ----------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name` | string |          | —       | The subsite name to scope the request to (e.g., `composio-test`). If omitted, the root site is used. When provided, the API base URL becomes `https://{tenant}.sharepoint.com/sites/{site}`. |

***

### `Share Point Get Role Definitions`

Integration name: **SHARE\_POINT\_GET\_ROLE\_DEFINITIONS**

Tool to list role definitions at the web level. Role definition IDs and names are scoped per web/site collection — never hard-code them, as admins can modify role sets and IDs differ across site collections. Always resolve current values dynamically via this tool.

#### Parameters

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

| Parameter   | Type    | Required | Example                | Description                                                                                                                                                                                                                              |
| ----------- | ------- | :------: | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`       | integer |          | `5`                    | OData top: Maximum number of items to return, must be ≥ 1.                                                                                                                                                                               |
| `expand`    | string  |          | `"BasePermissions"`    | OData expand: Expand related entities (bulk expansion not supported).                                                                                                                                                                    |
| `filter`    | string  |          | `"Name eq 'Read'"`     | OData filter: Expression to filter returned role definitions (e.g., "Name eq 'Read'"). Name-based filters may be case-sensitive or locale-sensitive; normalize role names before constructing filter expressions to avoid empty results. |
| `select`    | string  |          | `"Name,Id"`            | OData select: Comma-separated list of properties to return (e.g., 'Name,Id').                                                                                                                                                            |
| `orderby`   | string  |          | `"Name desc"`          | OData orderby: Sort order (e.g., 'Name desc').                                                                                                                                                                                           |
| `site_name` | string  |          | `"composio-test"`      | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                              |
| `skiptoken` | string  |          | `"Paged=TRUE&p_ID=20"` | OData skiptoken: Pagination token for continuing a prior query.                                                                                                                                                                          |

***

### `Share Point Get Site Collection Info`

Integration name: **SHARE\_POINT\_GET\_SITE\_COLLECTION\_INFO**

Tool to fetch site collection metadata (URL, ID, root web URI) only—not list item or document-level details. Use before subsequent calls to resolve correct API names. Requires SharePoint connection with site-collection-level scopes; may fail even when user-level tools succeed. Verify site\_id before use—an incorrect site\_id can silently return data for an unrelated site.

#### Parameters

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

| Parameter | Type   | Required | Example    | Description                                                                  |
| --------- | ------ | :------: | ---------- | ---------------------------------------------------------------------------- |
| `expand`  | string |          | `"Owner"`  | OData $expand to expand navigation properties, e.g., 'Owner,RootWeb'.        |
| `select`  | string |          | `"Id,Url"` | OData $select to specify fields to return, e.g., 'Id,Url,ServerRelativeUrl'. |

***

### `Share Point Get Site Drive Item By Path`

Integration name: **SHARE\_POINT\_GET\_SITE\_DRIVE\_ITEM\_BY\_PATH**

Tool to retrieve a file or folder by its server-relative path in a SharePoint site. Use when you need to get metadata for an item (file or folder) by path.

#### Parameters

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

| Parameter   | Type   | Required | Example                                    | Description                                                                                                                                                                                                                                                                                                                       |
| ----------- | ------ | :------: | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`    | string |          | `"ListItemAllFields"`                      | OData $expand query option. Comma-separated list of related entities to expand. E.g., 'ListItemAllFields' for files, or 'Files,Folders' for folders.                                                                                                                                                                              |
| `select`    | string |          | `"Name,ServerRelativeUrl,UniqueId,Length"` | OData $select query option. Comma-separated list of fields to return. E.g., 'Name,ServerRelativeUrl,UniqueId,Length,TimeLastModified'.                                                                                                                                                                                            |
| `item_path` | string |     ✅    | `"/Shared Documents/report.pdf"`           | Server-relative path of the file or folder to retrieve, starting with '/'. E.g., '/Shared Documents/file.pdf' for files or '/Shared Documents/MyFolder' for folders. Can be provided as a plain path or pre-encoded. Both formats are accepted.                                                                                   |
| `site_name` | string |          | `"Workshopsubmissions"`                    | Optional SharePoint site name to scope the retrieval. Required when accessing items in a subsite (e.g., when the path starts with /sites/). If the path is '/sites/Workshopsubmissions/Shared Documents/file.pdf', set site\_name='Workshopsubmissions'. If not provided, the item is resolved from the tenant root site context. |

***

### `Share Point Get Site Page Content`

Integration name: **SHARE\_POINT\_GET\_SITE\_PAGE\_CONTENT**

Tool to retrieve modern SharePoint Site Pages content by reading list item fields. Use when a .aspx page result cannot be downloaded as a file or when you need the structured content (CanvasContent1, LayoutWebpartsContent) of modern pages.

#### Parameters

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

| Parameter        | Type    | Required | Example          | Description                                                                                                                                                                                                                                  |
| ---------------- | ------- | :------: | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`        | integer |          | `5`              | List item ID of the page in the Site Pages library. Either page\_file\_name or item\_id must be provided.                                                                                                                                    |
| `render_as`      | string  |          | `"raw"`          | Format for retrieving content fields. 'raw' returns direct field values (CanvasContent1, LayoutWebpartsContent). 'text' uses FieldValuesAsText endpoint for plain text rendering. 'html' uses FieldValuesAsHtml endpoint for HTML rendering. |
| `site_name`      | string  |          | `"testcomposio"` | Optional SharePoint site name to scope the page retrieval. If provided, the page is retrieved from /sites/{site}. If not provided, the page is retrieved from the tenant root site. E.g., 'testcomposio' for a site at /sites/testcomposio.  |
| `page_file_name` | string  |          | `"Home.aspx"`    | File name of the modern SharePoint page to retrieve (e.g., 'Formed-LLC-&-Received-EIN.aspx'). Must include the .aspx extension. Either page\_file\_name or item\_id must be provided.                                                        |

***

### `Share Point Get User Effective Permissions On Web`

Integration name: **SHARE\_POINT\_GET\_USER\_EFFECTIVE\_PERMISSIONS\_ON\_WEB**

Get a user's effective permissions on the current SharePoint site (Web). This action retrieves the combined permissions a user has on the site, taking into account direct permissions, group memberships, and permission inheritance. Use this when you need to verify what permissions a user or group has before performing operations. The response contains permission masks as 64-bit integers split into high and low 32-bit values. A value of "0" for both means no permissions. Returns site-level permissions only; list-level or item-level grants and restrictions are not reflected.

#### Parameters

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

| Parameter    | Type   | Required | Example   | Description                                                                                                                                                                                 |
| ------------ | ------ | :------: | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`  | string |          | —         | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `login_name` | string |     ✅    | \`"i:0#.f | membership                                                                                                                                                                                  |

***

### `Share Point Get Webhook Subscription`

Integration name: **SHARE\_POINT\_GET\_WEBHOOK\_SUBSCRIPTION**

Tool to retrieve a specific webhook subscription by ID from a SharePoint list. Use when you need to check subscription details like expiration date or notification URL.

#### Parameters

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

| Parameter         | Type   | Required | Example                                  | Description                                                                                                                                                                                   |
| ----------------- | ------ | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_id`         | string |     ✅    | `"a12e3d6e-9414-462d-bd53-cf06f3982ad3"` | GUID of the SharePoint list containing the subscription, in canonical format, e.g., '01234567-89ab-cdef-0123-456789abcdef'.                                                                   |
| `site_name`       | string |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |
| `subscription_id` | string |     ✅    | `"a8e6d5e6-9f7f-497a-b97f-8ffe8f559dc7"` | GUID of the webhook subscription to retrieve, in canonical format, e.g., '01234567-89ab-cdef-0123-456789abcdef'.                                                                              |

***

### `Share Point Get Webhook Subscriptions`

Integration name: **SHARE\_POINT\_GET\_WEBHOOK\_SUBSCRIPTIONS**

Tool to retrieve all webhook subscriptions on a SharePoint list. Use when you need to view existing webhook configurations for a list.

#### Parameters

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

| Parameter   | Type   | Required | Example                                  | Description                                                                                                                                                                                 |
| ----------- | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_id`   | string |     ✅    | `"a12e3d6e-9414-462d-bd53-cf06f3982ad3"` | The GUID of the SharePoint list to retrieve subscriptions for, in canonical format (e.g., '01234567-89ab-cdef-0123-456789abcdef').                                                          |
| `site_name` | string |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |

***

### `Share Point Get Web Info`

Integration name: **SHARE\_POINT\_GET\_WEB\_INFO**

Tool to retrieve information about the current SharePoint web (site) using REST API. Use when you need web metadata such as title, URL, language, or template information.

#### Parameters

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

| Parameter   | Type   | Required | Example           | Description                                                                                                                                                                                 |
| ----------- | ------ | :------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expand`    | string |          | `"CurrentUser"`   | OData $expand to expand navigation properties, e.g., 'CurrentUser,Lists,Webs'.                                                                                                              |
| `select`    | string |          | `"Id,Title,Url"`  | OData $select to specify fields to return, e.g., 'Id,Title,Url,ServerRelativeUrl'.                                                                                                          |
| `site_name` | string |          | `"composio-test"` | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |

***

### `Share Point Is Followed`

Integration name: **SHARE\_POINT\_IS\_FOLLOWED**

Tool to check if the current user is following a specified actor. Use when verifying follow status before performing follow or unfollow operations.

#### Parameters

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

| Parameter      | Type    | Required | Example | Description                                                                                                                                                                                   |
| -------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tag_guid`     | string  |          | —       | GUID of the tag when actor\_type=3.                                                                                                                                                           |
| `site_name`    | string  |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |
| `actor_type`   | integer |     ✅    | `0`     | Type of the actor to check: 0=user, 1=document, 2=site, 3=tag.                                                                                                                                |
| `content_uri`  | string  |          | —       | URI of the document or site when actor\_type=1 or 2, e.g., '<http://server/site>'.                                                                                                            |
| `account_name` | string  |          | —       | Account name for a user when actor\_type=0, in claims format, e.g., 'i:0#.f\|membership\|<user@domain.com>'.                                                                                  |

***

### `Share Point List All Lists`

Integration name: **SHARE\_POINT\_LIST\_ALL\_LISTS**

Retrieves all lists in the current SharePoint web/site. Use this action to discover available lists and document libraries on a SharePoint site, or to pre-check for existing lists before creation (duplicate list names will fail). Returns metadata for each list including Title, Id, BaseType, ItemCount, and other properties. Supports OData query parameters for filtering, selecting specific fields, sorting, 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 |          | `10`                   | OData $top to limit the number of results.                                                                                                                                                  |
| `expand`    | string  |          | `"Fields"`             | OData $expand to include related entities.                                                                                                                                                  |
| `filter`    | string  |          | `"Hidden eq false"`    | OData $filter to narrow results.                                                                                                                                                            |
| `select`    | string  |          | `"Title,Id"`           | OData $select to specify which list fields to return, e.g., 'Title,Id'.                                                                                                                     |
| `orderby`   | string  |          | `"Title desc"`         | OData $orderby to sort results, e.g., 'Title desc'.                                                                                                                                         |
| `site_name` | string  |          | `"composio-test"`      | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `skiptoken` | string  |          | `"Paged=TRUE&p_ID=15"` | OData $skiptoken for paging through results. The token value is returned in the previous response when more results exist; pass it unchanged to retrieve the next page.                     |

***

### `Share Point List Drive Children`

Integration name: **SHARE\_POINT\_LIST\_DRIVE\_CHILDREN**

Tool to list children (files and folders) in a SharePoint drive using REST API v2.0. Use when you need to enumerate items in a drive's root folder or a specific folder within the drive.

#### Parameters

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

| Parameter   | Type    | Required | Example                                                                | Description                                                                                                                                            |
| ----------- | ------- | :------: | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `top`       | integer |          | `200`                                                                  | Number of items to return (OData $top parameter). Default is 200.                                                                                      |
| `filter`    | string  |          | `"folder ne null"`                                                     | OData filter expression. Common values: 'folder ne null' (only folders), 'file ne null' (only files), or custom filters like "name eq 'document.pdf'". |
| `select`    | string  |          | `"id,name,size,folder,file,webUrl"`                                    | Comma-separated properties to return (e.g., 'id,name,size,folder,file,webUrl').                                                                        |
| `orderby`   | string  |          | `"name asc"`                                                           | OData orderby expression (e.g., 'name asc', 'lastModifiedDateTime desc').                                                                              |
| `drive_id`  | string  |     ✅    | `"b!-RIj2DuyvEyV1T4NlOaMHk8XkS_I8MdFlUCq1BlcjgmhRfAj3-Z8RY2VpuvV_tpd"` | The unique identifier of the drive. This is the drive ID (GUID) that identifies a specific document library or OneDrive.                               |
| `folder_id` | string  |          | `"01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K"`                                 | The unique identifier of a specific folder within the drive. If not provided, lists root folder children.                                              |

***

### `Share Point List Drive Recent Items`

Integration name: **SHARE\_POINT\_LIST\_DRIVE\_RECENT\_ITEMS**

Tool to list recently modified items in a SharePoint drive using Microsoft Graph API. Returns files and folders from the root folder sorted by modification time (most recent first). Note: This action uses the /root/children endpoint with $orderby=lastModifiedDateTime desc to retrieve recently modified items from the root folder.

#### Parameters

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

| Parameter   | Type    | Required | Example                  | Description                                                                                                              |
| ----------- | ------- | :------: | ------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `drive_id`  | string  |     ✅    | `"b!your_drive_id_here"` | The unique identifier of the drive. This is the drive ID (GUID) that identifies a specific document library or OneDrive. |
| `row_limit` | integer |          | `20`                     | Maximum number of recently modified items to return. Default is 20.                                                      |
| `site_name` | string  |          | `"composio-test"`        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used.                     |

***

### `Share Point List Drives Rest Api`

Integration name: **SHARE\_POINT\_LIST\_DRIVES\_REST\_API**

Tool to retrieve drives using SharePoint REST API v2.0. Use when you need to list document libraries and drives from a SharePoint site using native SharePoint authentication (not Microsoft Graph).

#### Parameters

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

| Parameter             | Type    | Required | Example                                 | Description                                                                                                                                                                                   |
| --------------------- | ------- | :------: | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`                 | integer |          | `100`                                   | OData $top parameter - number of drives to return. Default: 100.                                                                                                                              |
| `expand`              | string  |          | `"root"`                                | OData $expand parameter to expand related entities (e.g., 'root,items').                                                                                                                      |
| `select`              | string  |          | `"id,name,webUrl,driveType"`            | OData $select parameter - comma-separated properties to return (e.g., 'id,name,webUrl,driveType').                                                                                            |
| `site_name`           | string  |          | `"composio-test"`                       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |
| `site_path`           | string  |          | `"root"`                                | Site identifier or path segment (e.g., 'teamsite', 'engineering', or a site ID). Use 'root' for the root site. Do not include 'sites/' prefix as it is added automatically.                   |
| `sharepoint_site_url` | string  |          | `"https://composio2024.sharepoint.com"` | Full SharePoint site URL (e.g., '<https://composio2024.sharepoint.com>'). If not provided, uses the default site from connection.                                                             |

***

### `Share Point List Files In Folder`

Integration name: **SHARE\_POINT\_LIST\_FILES\_IN\_FOLDER**

Tool to list files within a SharePoint folder (non-recursive; does not enumerate subfolders). Use when you need to enumerate all files in a folder by its server-relative URL. To cover nested structures, call the tool separately for each subfolder.

#### Parameters

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

| Parameter     | Type    | Required | Example                           | Description                                                                                                                                                                                                                                                                                                                                       |
| ------------- | ------- | :------: | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`         | integer |          | `100`                             | OData $top to limit the number of files returned.                                                                                                                                                                                                                                                                                                 |
| `expand`      | string  |          | `"ListItemAllFields"`             | OData $expand to inline related entities (e.g., 'ListItemAllFields'). When expanding 'Files,Folders', access results via `Files.results` and `Folders.results` arrays in the response.                                                                                                                                                            |
| `select`      | string  |          | `"Name,ServerRelativeUrl,Length"` | OData $select to specify which file properties to return (comma-separated).                                                                                                                                                                                                                                                                       |
| `orderby`     | string  |          | `"Name desc"`                     | OData $orderby to sort the results (e.g., 'Name desc').                                                                                                                                                                                                                                                                                           |
| `site_name`   | string  |          | `"composio-test"`                 | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'.                                                                                                                                                     |
| `skiptoken`   | string  |          | `"Paged=TRUE&p_ID=15"`            | OData $skiptoken for server-side paging.                                                                                                                                                                                                                                                                                                          |
| `folder_name` | string  |     ✅    | `"/Shared Documents"`             | Server-relative URL of the folder, e.g., '/Shared Documents' or '/sites/MySite/Folder'. Must be a valid path to an existing folder. Near-miss paths (wrong casing, extra/missing slashes, abbreviated names) silently return empty results rather than an error; use server\_relative\_url values from prior API responses to ensure exact paths. |

***

### `Share Point List Item Attachments`

Integration name: **SHARE\_POINT\_LIST\_ITEM\_ATTACHMENTS**

Tool to list all attachments for a SharePoint list item. Use when you need to retrieve filenames and server-relative URLs of each attachment after confirming the list title and item ID.

#### Parameters

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

| Parameter    | Type    | Required | Example           | Description                                                                                                                                                                                 |
| ------------ | ------- | :------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`    | integer |     ✅    | `1`               | ID of the list item to list attachments for (must be ≥ 1).                                                                                                                                  |
| `site_name`  | string  |          | `"composio-test"` | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `list_title` | string  |     ✅    | `"My List"`       | Display title of the SharePoint list containing the item.                                                                                                                                   |

***

### `Share Point List List Columns`

Integration name: **SHARE\_POINT\_LIST\_LIST\_COLUMNS**

Tool to list all column definitions in a SharePoint list. Use when you need to retrieve field metadata including column names, types, and properties.

#### 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`                                     | OData $top to limit the number of results.                                                                                                                                                  |
| `filter`    | string  |          | `"Hidden eq false"`                      | OData $filter to narrow results, e.g., 'Hidden eq false'.                                                                                                                                   |
| `select`    | string  |          | `"Title,InternalName,TypeAsString"`      | OData $select to specify which column fields to return, e.g., 'Title,InternalName,TypeAsString'.                                                                                            |
| `list_id`   | string  |     ✅    | `"01234567-89ab-cdef-0123-456789abcdef"` | GUID of the SharePoint list to retrieve columns for, in canonical format, e.g., '01234567-89ab-cdef-0123-456789abcdef'.                                                                     |
| `orderby`   | string  |          | `"Title asc"`                            | OData $orderby to sort results, e.g., 'Title asc'.                                                                                                                                          |
| `site_name` | string  |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |

***

### `Share Point List Recycle Bin Items`

Integration name: **SHARE\_POINT\_LIST\_RECYCLE\_BIN\_ITEMS**

Tool to list items in the SharePoint Recycle Bin. Use when you need to retrieve deleted items and page through results.

#### 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 to return.                                                                                                                                                           |
| `expand`    | string  |          | `"Author,DeletedBy"`     | Comma-separated list of navigation properties to expand (e.g., Author,DeletedBy).                                                                                                            |
| `filter`    | string  |          | `"ItemState eq 1"`       | OData filter expression to filter items (e.g., ItemState eq 1).                                                                                                                              |
| `select`    | string  |          | `"Id,Title,DeletedDate"` | Comma-separated list of fields to include in the response (e.g., Id,Title,DeletedDate).                                                                                                      |
| `orderby`   | string  |          | `"DeletedDate desc"`     | OData orderby expression to sort results (e.g., DeletedDate desc).                                                                                                                           |
| `site_name` | string  |          | `"composio-test"`        | The subsite name to scope the request to (e.g., `composio-test`). If omitted, the root site is used. When provided, the API base URL becomes `https://{tenant}.sharepoint.com/sites/{site}`. |
| `skiptoken` | string  |          | `"Paged=TRUE&p_ID=15"`   | Token for server-driven pagination. Extract this value from the `@odata.nextLink` or pagination token in the previous response and pass it into the next call to retrieve subsequent pages.  |

***

### `Share Point List Site Groups`

Integration name: **SHARE\_POINT\_LIST\_SITE\_GROUPS**

Tool to list SharePoint site groups for a site collection. Use when you need to see all groups and their settings before managing permissions.

#### 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`                            | OData $top clause to limit the number of returned groups.                                                                                                                                   |
| `skip`      | integer |          | `5`                             | OData $skip clause for paging, number of results to skip.                                                                                                                                   |
| `expand`    | string  |          | `"Users,Owner"`                 | OData $expand clause to pull in navigation properties like Users or Owner.                                                                                                                  |
| `filter`    | string  |          | `"substringof('Owners',Title)"` | OData $filter clause to filter results. Example: "substringof('Owners',Title)"                                                                                                              |
| `select`    | string  |          | `"Title,Id"`                    | OData $select clause to specify which group fields to return. Example: 'Title,Id'                                                                                                           |
| `orderby`   | string  |          | `"Title desc"`                  | OData $orderby clause to sort results. Example: 'Title desc'                                                                                                                                |
| `site_name` | string  |          | —                               | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |

***

### `Share Point List Sites`

Integration name: **SHARE\_POINT\_LIST\_SITES**

Tool to retrieve all SharePoint sites accessible to the user. Use when you need to discover available sites before performing site-specific operations.

#### 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`                           | Number of sites to return. Maximum value is 500.                                                                                                                                                                      |
| `search`  | string  |          | `"*"`                          | Search query to filter sites by name or description. Use '\*' to get all sites.                                                                                                                                       |
| `select`  | string  |          | `"SiteId,SiteName,Title,Path"` | Comma-separated list of managed property names to return. Common properties: SiteId, SiteName, Title, Path, Description, Created, LastModifiedTime. If not specified, SharePoint returns a default set of properties. |

***

### `Share Point List Site Users`

Integration name: **SHARE\_POINT\_LIST\_SITE\_USERS**

Tool to list users in the site collection. Results include person users, groups, and system principals by default; use filter 'PrincipalType eq 1' to restrict to individual 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 |          | `10`                   | OData top to limit the number of results.                                                                                                                                                     |
| `expand`    | string  |          | `"Groups"`             | OData expand to include related entities, e.g., 'Groups'.                                                                                                                                     |
| `filter`    | string  |          | `"PrincipalType eq 1"` | OData filter to narrow results, e.g., 'PrincipalType eq 1'. substringof filters are case-sensitive; normalize casing in filter values to avoid missing valid matches.                         |
| `select`    | string  |          | `"Title,Email"`        | OData select to specify which user fields to return, e.g., 'Title,Email'. Email can be empty for some users; prefer LoginName or Id for reliable identification.                              |
| `orderby`   | string  |          | `"Title asc"`          | OData orderby to sort results, e.g., 'Title asc'.                                                                                                                                             |
| `site_name` | string  |          | `"composio-test"`      | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |
| `skiptoken` | string  |          | `"Paged=TRUE&p_ID=15"` | OData skiptoken for paging through results. Iterate requests following each returned skiptoken until no further skiptoken is returned to retrieve all users.                                  |

***

### `Share Point List Subfolders In Folder`

Integration name: **SHARE\_POINT\_LIST\_SUBFOLDERS\_IN\_FOLDER**

Tool to list immediate child folders within a SharePoint folder. Use when you need folder navigation or directory discovery by server-relative URL.

#### Parameters

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

| Parameter                    | Type    | Required | Example                             | Description                                                                                                                                                                                                                                               |
| ---------------------------- | ------- | :------: | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `top`                        | integer |          | `100`                               | OData $top to limit the number of subfolders returned.                                                                                                                                                                                                    |
| `select`                     | string  |          | `"Name,ServerRelativeUrl,UniqueId"` | OData $select to specify which folder properties to return (comma-separated).                                                                                                                                                                             |
| `orderby`                    | string  |          | `"Name asc"`                        | OData $orderby to sort the results (e.g., 'Name desc').                                                                                                                                                                                                   |
| `site_name`                  | string  |          | `"composio-test"`                   | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                               |
| `folder_server_relative_url` | string  |     ✅    | `"/Shared Documents"`               | Server-relative URL of the parent folder, e.g., '/Shared Documents' or '/sites/MySite/Folder'. Must be a valid path to an existing folder. For folders with special characters (#, %), the action will automatically use the ResourcePath-based endpoint. |

***

### `Share Point Log Event`

Integration name: **SHARE\_POINT\_LOG\_EVENT**

Log custom usage analytics events in SharePoint for tracking user activities. Records usage events (views, edits, custom actions) to SharePoint's analytics system. Use this after performing actions to track usage patterns. The event will be logged to SharePoint's usage analytics database for reporting and analytics purposes. Common use cases:

* Track document views or edits
* Record custom user interactions
* Log application-specific events for analytics

Note: Obtain site/web GUIDs from GET /api/site or GET /api/web endpoints. Use consistent item\_id, scope\_id, and site GUIDs across related events for the same entity to ensure correct analytics grouping and correlation in reports.

#### Parameters

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

| Parameter       | Type    | Required | Example                                  | Description                                                                                                                                                                                   |
| --------------- | ------- | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user`          | string  |     ✅    | `"user@domain.com"`                      | User identifier who triggered the event. Can be email address (<user@domain.com>), display name, or SharePoint LoginName (i:0#.f\|membership\|<user@domain.com>).                             |
| `item_id`       | string  |     ✅    | `"5e304156-934d-4f4c-9d1e-05738a5f8a72"` | GUID of the item (document, list item, or web) related to this event. Can be a document ID, list item ID, web ID, or site collection ID.                                                      |
| `site_id`       | string  |     ✅    | `"8f1106b0-6c8a-4a8f-aaa6-307738e1dd82"` | GUID of the site collection where the event occurred. Use the site collection ID from GET /api/site.                                                                                          |
| `scope_id`      | string  |     ✅    | `"8f1106b0-6c8a-4a8f-aaa6-307738e1dd82"` | GUID defining the scope/context of the event. Typically the web ID or site collection ID where the event occurred.                                                                            |
| `site_name`     | string  |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |
| `event_type_id` | integer |     ✅    | `1`                                      | ID of the usage event type. Valid values are typically 1-4 for different SharePoint event types (e.g., 1=View, 2=Edit, 3=Custom). Use values 1-4 for standard tracking events.                |

***

### `Share Point Recycle File`

Integration name: **SHARE\_POINT\_RECYCLE\_FILE**

Tool to move a file to the Recycle Bin. Use when you need to recycle a file after confirming its folder and filename paths.

#### Parameters

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

| Parameter             | Type   | Required | Example                       | Description                                                                                                                                                                                   |
| --------------------- | ------ | :------: | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`           | string |          | `"composio-test"`             | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |
| `file_relative_url`   | string |     ✅    | `"document.docx"`             | Relative URL of the file within the folder to recycle, e.g., 'document.docx'. Do not include a leading '/'.                                                                                   |
| `folder_relative_url` | string |     ✅    | `"/Shared Documents/Folder1"` | Server-relative URL of the folder containing the file to recycle, e.g., '/Shared Documents/Folder1'.                                                                                          |

***

### `Share Point Recycle List Item`

Integration name: **SHARE\_POINT\_RECYCLE\_LIST\_ITEM**

Tool to move a list item to the Recycle Bin. Use when you need to soft-delete an item but preserve the ability to restore it.

#### Parameters

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

| Parameter   | Type    | Required | Example                                  | Description                                                                                                                                                                                 |
| ----------- | ------- | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`   | integer |     ✅    | `1`                                      | Numeric ID of the list item to recycle.                                                                                                                                                     |
| `list_id`   | string  |     ✅    | `"01234567-89ab-cdef-0123-456789abcdef"` | GUID of the SharePoint list containing the target item, in canonical format (e.g., '01234567-89ab-cdef-0123-456789abcdef').                                                                 |
| `site_name` | string  |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |

***

### `Share Point Rename Folder`

Integration name: **SHARE\_POINT\_RENAME\_FOLDER**

Renames a SharePoint folder by updating its list item metadata. To use this action:

{% stepper %}
{% step %}

### Step 1

First call GET\_FOLDER\_BY\_SERVER\_RELATIVE\_URL with `expand=ListItemAllFields` to get the folder's `metadata_type`.
{% endstep %}

{% step %}

### Step 2

Extract the `__metadata.type` value from the response's `ListItemAllFields` (e.g., `'SP.Data.Shared_x0020_DocumentsItem'`).
{% endstep %}

{% step %}

### Step 3

Call this action with the folder path, `metadata_type`, and new name.

The rename operation updates both the folder's display name (`Title`) and actual name (`FileLeafRef`). Note: This only changes the folder name, not its location in the hierarchy.
{% endstep %}
{% endstepper %}

#### Parameters

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

| Parameter                    | Type   | Required | Example                                | Description                                                                                                                                                                                                                                                                                                                                                                         |
| ---------------------------- | ------ | :------: | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `new_name`                   | string |     ✅    | `"NewFolder"`                          | New folder name (leaf name only, not full path). This will be used for both the display name (Title) and the actual folder name (FileLeafRef). Do not include path separators (/).                                                                                                                                                                                                  |
| `site_name`                  | string |          | `"composio-test"`                      | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                                                                                                                                                         |
| `match_etag`                 | string |          | —                                      | ETag value for concurrency control. Use '\*' (default) to overwrite regardless of the current version. To enforce version checking, obtain the ETag from GET\_FOLDER\_BY\_SERVER\_RELATIVE\_URL with expand=ListItemAllFields, then use the '\_\_metadata.etag' value.                                                                                                              |
| `__metadata.type`            | string |     ✅    | `"SP.Data.Shared_x0020_DocumentsItem"` | OData entity type of the folder's list item. This is required by SharePoint's REST API. To obtain this value, first call GET\_FOLDER\_BY\_SERVER\_RELATIVE\_URL with expand=ListItemAllFields, then extract the '\_\_metadata.type' field from ListItemAllFields (typically 'SP.Data.Shared\_x0020\_DocumentsItem' for the 'Shared Documents' library, but varies by library name). |
| `server_relative_folder_url` | string |     ✅    | `"/Shared Documents/OldFolder"`        | Server-relative path of the folder to rename, including library and any parent folders. Must start with '/' and include the document library name. Example: '/Shared Documents/OldFolder' or '/Shared Documents/ParentFolder/OldFolder'.                                                                                                                                            |

***

### `Share Point Render List Data As Stream`

Integration name: **SHARE\_POINT\_RENDER\_LIST\_DATA\_AS\_STREAM**

Retrieve list items from SharePoint with rich metadata and formatting. Returns items in the `Row` array along with pagination info (FirstRow, LastRow, NextHref). Supports CAML queries via ViewXml for filtering and sorting. Use this when you need list data with properly formatted field values, lookup fields, or managed metadata - more capable than standard OData endpoints.

#### Parameters

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

| Parameter                  | Type   | Required | Example           | Description                                                                                                                                                                                                                                                                                                          |
| -------------------------- | ------ | :------: | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`                | string |          | `"testcomposio"`  | Optional SharePoint site name to scope the list data request. If provided, the list path is resolved relative to this site. If not provided and list\_server\_relative\_url starts with '/sites/{site}/', the site is extracted automatically from the path. E.g., 'testcomposio' for a site at /sites/testcomposio. |
| `parameters`               | object |          | —                 | Body parameters to control rendering options for RenderListDataAsStream.                                                                                                                                                                                                                                             |
| `query_params`             | object |          | —                 | Optional query string parameters to control view behavior. See documentation for supported keys.                                                                                                                                                                                                                     |
| `list_server_relative_url` | string |     ✅    | `"/Lists/Orders"` | Server-relative URL of the list. If 'site' parameter is provided, this should be the path relative to that site (e.g., '/Lists/Orders' or '/Shared Documents'). If 'site' is not provided and the path does not start with '/sites/', it's resolved relative to the tenant root.                                     |

***

### `Share Point Restore Drive Item Version`

Integration name: **SHARE\_POINT\_RESTORE\_DRIVE\_ITEM\_VERSION**

Tool to restore a previous version of a SharePoint drive item. Use when you need to revert a file to an earlier version.

#### Parameters

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

| Parameter             | Type   | Required | Example                                                                | Description                                                                             |
| --------------------- | ------ | :------: | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `drive_id`            | string |     ✅    | `"b!sAYRj4psj0qqpjB3OOHdglZBMF5Nk0xPnR4Fc4pfinI6LsO0Ty3NT6hz1n27BFpo"` | The unique identifier of the drive containing the item                                  |
| `driveItem_id`        | string |     ✅    | `"01K67O4VSVYSGCL3MHHNDIESCQSPJ6CCZP"`                                 | The unique identifier of the drive item (file or folder) to restore                     |
| `driveItemVersion_id` | string |     ✅    | `"23.0"`                                                               | The unique identifier or version number of the version to restore (e.g., '23.0', '1.0') |

***

### `Share Point Restore Recycle Bin Item`

Integration name: **SHARE\_POINT\_RESTORE\_RECYCLE\_BIN\_ITEM**

Tool to restore a SharePoint Recycle Bin item. Use when you need to recover a deleted item by providing its GUID.

#### Parameters

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

| Parameter          | Type   | Required | Example                                  | Description                                                                                                                                                                                 |
| ------------------ | ------ | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`        | string |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `recyclebinitemid` | string |     ✅    | `"123e4567-e89b-12d3-a456-426614174000"` | GUID of the Recycle Bin item to restore. Must be a valid GUID string.                                                                                                                       |

***

### `Share Point Search Query`

Integration name: **SHARE\_POINT\_SEARCH\_QUERY**

Search SharePoint content using Keyword Query Language (KQL). Returns documents, list items, folders, and other content matching your query. Supports filtering by properties (file type, author, date), pagination, and custom property selection. Results are nested under PrimaryQueryResult→RelevantResults→Table→Rows→Cells as Key/Value pairs requiring explicit extraction. Results are security-trimmed: inaccessible content never appears even if it exists. Use `contentclass` (e.g., `STS_Site`, `STS_Web`, `STS_ListItem_DocumentLibrary`) in `querytext` to isolate specific item types.

#### Parameters

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

| Parameter           | Type    | Required | Example                       | Description                                                                                                                                                                                                                                                                                                                                    |
| ------------------- | ------- | :------: | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rowlimit`          | integer |          | `10`                          | Maximum number of results to return per request. Default is determined by SharePoint (typically 50). Maximum is 500.                                                                                                                                                                                                                           |
| `startrow`          | integer |          | `0`                           | Zero-based index of the first result to return. Use for pagination (e.g., startrow=0 for page 1, startrow=10 for page 2 with rowlimit=10). Compare TotalRows vs RowCount in the response to determine if additional pages exist; increment startrow by rowlimit until all results are retrieved.                                               |
| `querytext`         | string  |     ✅    | `"SharePoint"`                | The search query using Keyword Query Language (KQL) syntax. Examples: 'project report', 'IsDocument:1', 'FileType:docx', 'Author:"John Doe"'. Broad queries (e.g., '.xlsx' alone) return noisy large result sets; narrow with site paths, Author, date ranges, or other KQL properties. Filter by contentclass to isolate specific item types. |
| `site_name`         | string  |          | `"composio-test"`             | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'.                                                                                                                                                  |
| `selectproperties`  | string  |          | `"Title,Author,Path"`         | Comma-separated list of managed property names to return in results. If not specified, SharePoint returns a default set of properties. Common properties: Title, Author, Path, Size, LastModifiedTime, FileType. Include SiteId and WebId alongside Path to disambiguate items sharing the same title across different locations.              |
| `refinementfilters` | string  |          | `"FileType:equals(\"docx\")"` | Refinement filters to narrow search results. Format: 'PropertyName:value' or use FQL syntax for complex filters. Example: 'FileType:equals("docx")'.                                                                                                                                                                                           |

***

### `Share Point Search Suggest`

Integration name: **SHARE\_POINT\_SEARCH\_SUGGEST**

Tool to get search query suggestions. Use when you need to provide autocomplete options for user search input.

#### Parameters

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

| Parameter                    | Type    | Required | Example           | Description                                                                                                                                                                                 |
| ---------------------------- | ------- | :------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Culture`                    | integer |          | `1033`            | Locale ID (LCID) for the query.                                                                                                                                                             |
| `querytext`                  | string  |     ✅    | `"sharepoint"`    | Text for which to retrieve query suggestions.                                                                                                                                               |
| `site_name`                  | string  |          | `"composio-test"` | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `EnableStemming`             | boolean |          | —                 | True to enable stemming.                                                                                                                                                                    |
| `EnableQueryRules`           | boolean |          | —                 | True to enable query rules.                                                                                                                                                                 |
| `fHitHighlighting`           | boolean |          | —                 | True to bold-match terms in suggestions.                                                                                                                                                    |
| `fPreQuerySuggestions`       | boolean |          | —                 | True to get pre-query suggestions; false for post-query.                                                                                                                                    |
| `fPrefixMatchAllTerms`       | boolean |          | —                 | True to return suggestions matching all query prefixes.                                                                                                                                     |
| `fCapitalizeFirstLetters`    | boolean |          | —                 | True to capitalize first letters of each term.                                                                                                                                              |
| `ShowPeopleNameSuggestions`  | boolean |          | —                 | True to include people name suggestions.                                                                                                                                                    |
| `iNumberOfQuerySuggestions`  | integer |          | —                 | Number of query suggestions to retrieve. Must be >= 1.                                                                                                                                      |
| `iNumberOfResultSuggestions` | integer |          | —                 | Number of result suggestions to retrieve. Must be >= 1.                                                                                                                                     |

***

### `Share Point Sharepoint Check Out File`

Integration name: **SHARE\_POINT\_SHAREPOINT\_CHECK\_OUT\_FILE**

Tool to check out a file in a document library. Use when you need to lock a file before making changes.

#### Parameters

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

| Parameter              | Type   | Required | Example                     | Description                                                                                                                                                                                 |
| ---------------------- | ------ | :------: | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`            | string |          | `"composio-test"`           | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `server_relative_path` | string |     ✅    | `"/Shared Documents/a.txt"` | The server-relative path to the file that needs to be checked out, e.g., '/Shared Documents/a.txt'.                                                                                         |

***

### `Share Point Sharepoint Create Folder`

Integration name: **SHARE\_POINT\_SHAREPOINT\_CREATE\_FOLDER**

Creates a new folder in SharePoint using the REST API. Returns `server_relative_url`; use it for downstream operations instead of constructing paths manually. Does not configure sharing or permissions on the created folder.

#### Parameters

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

| Parameter          | Type   | Required | Example | Description                                                                                                                                                                                           |
| ------------------ | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`        | string |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.           |
| `folder_name`      | string |     ✅    | —       | The name of the folder to create.                                                                                                                                                                     |
| `relative_path`    | string |          | —       | Additional path within the document library (optional). The parent path must already exist; non-existent paths cause creation to fail. Path segments must be correctly encoded (e.g., spaces as %20). |
| `document_library` | string |          | —       | The document library where the folder should be created.                                                                                                                                              |

***

### `Share Point Sharepoint Create List`

Integration name: **SHARE\_POINT\_SHAREPOINT\_CREATE\_LIST**

Creates a new list in SharePoint using the REST API. Custom columns cannot be added at creation time; use SHARE\_POINT\_CREATE\_LIST\_FIELD with the returned `list_id` to add them afterward. Check `success` and `error` fields in the response to confirm creation. Returns a `list_id` used by downstream tools; note SHARE\_POINT\_SHAREPOINT\_CREATE\_LIST\_ITEM targets lists by `list_name` (title).

#### Parameters

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

| Parameter     | Type   | Required | Example | Description                                                                                                                                                                                 |
| ------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`        | string |     ✅    | —       | The name of the list to create. Must be unique per site; duplicate names cause failure. Pre-check with SHARE\_POINT\_GET\_LIST\_BY\_TITLE or SHARE\_POINT\_LIST\_ALL\_LISTS before calling. |
| `template`    | string |     ✅    | —       | The template type for the list (e.g., 'genericList', 'documentLibrary', 'tasks', etc.).                                                                                                     |
| `site_name`   | string |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `description` | string |          | —       | Description of the list (optional).                                                                                                                                                         |

***

### `Share Point Sharepoint Create List Item`

Integration name: **SHARE\_POINT\_SHAREPOINT\_CREATE\_LIST\_ITEM**

Creates a new item in a SharePoint list. Returns an `item_data` object containing `item_id`, `Title`, and timestamps on success.

#### Parameters

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

| Parameter         | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                           |
| ----------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_name`       | string |     ✅    | —       | The name or title of the list where the item will be created. Must exactly match the list's title as it exists in the site; verify the list exists first using SHARE\_POINT\_SHAREPOINT\_CREATE\_LIST if uncertain.                                                                                                                                                                   |
| `site_name`       | string |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                                                                                                                                                           |
| `item_properties` | object |     ✅    | —       | Dictionary of field names and values for the list item. Example: {'Title': 'New Item', 'Body': 'Content'} Keys must be SharePoint column internal names (not display names); use the SharePoint column settings to find internal names. The example key 'Body' is invalid on default lists — use 'Title' as the minimal valid payload and add fields one at a time to isolate errors. |

***

### `Share Point Sharepoint Create User`

Integration name: **SHARE\_POINT\_SHAREPOINT\_CREATE\_USER**

DEPRECATED: Use SHARE\_POINT\_ENSURE\_USER instead (supports email param directly). Adds an existing Azure AD user to the SharePoint site collection using the ensureuser endpoint. This action is idempotent - if the user is already in the site, it returns their existing details without error.

#### Parameters

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

| Parameter    | Type   | Required | Example | Description                                                                                                                                                                                 |
| ------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `email`      | string |     ✅    | —       | Email address of the Azure AD user to add to SharePoint site. Must be a valid user in your organization's Azure Active Directory.                                                           |
| `title`      | string |          | —       | Optional display name/title for the user in SharePoint. If not provided, the user's existing display name from Azure AD will be used.                                                       |
| `tenant`     | string |          | —       | DEPRECATED: This parameter is no longer used. The tenant is now automatically derived from the connected account's base\_url in metadata.                                                   |
| `site_name`  | string |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `login_name` | string |          | —       | Optional login name for the user. If not provided, defaults to 'i:0#.f\|membership\|{email}'. This parameter is typically not needed as the email is sufficient.                            |

***

### `Share Point Sharepoint Find User`

Integration name: **SHARE\_POINT\_SHAREPOINT\_FIND\_USER**

Searches for a user in the SharePoint site by email address and returns their profile information if found. Response includes `exists_in_graph`, `exists_in_sharepoint`, and `error_details` fields; inspect all three together — `successful=true` can coexist with Graph errors in `error_details`. When the two backends diverge, treat `exists_in_sharepoint` as authoritative for access decisions.

#### Parameters

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

| Parameter   | Type   | Required | Example | Description                                                                                                                                                                                                                           |
| ----------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `email`     | string |     ✅    | —       | Email address of the user to find. Must be a complete, valid email address — display names and short names are rejected and return 'User not found'. Use SHARE\_POINT\_LIST\_SITE\_USERS to resolve a display name to an email first. |
| `site_name` | string |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                           |

***

### `Share Point Sharepoint Remove User`

Integration name: **SHARE\_POINT\_SHAREPOINT\_REMOVE\_USER**

Removes a user from SharePoint. Returns success even if user doesn't exist or was never a member; check response fields `was_removed` (bool) and `message` (str) to distinguish an actual removal from a no-op.

#### Parameters

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

| Parameter   | Type   | Required | Example | Description                                                                                                                                                                                   |
| ----------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `email`     | string |     ✅    | —       | Email address of the user to remove.                                                                                                                                                          |
| `site_name` | string |          | —       | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes 'https\://{tenant}.sharepoint.com/sites/{site}'. |

***

### `Share Point Undo Checkout File`

Integration name: **SHARE\_POINT\_UNDO\_CHECKOUT\_FILE**

Tool to undo a file checkout, discarding any changes made while checked out. Use when you need to cancel edits and unlock the file without saving.

#### Parameters

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

| Parameter              | Type   | Required | Example                                     | Description                                                                                                                                                                                 |
| ---------------------- | ------ | :------: | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `site_name`            | string |          | `"composio-test"`                           | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `server_relative_path` | string |     ✅    | `"/Shared Documents/test_undocheckout.txt"` | Server-relative URL of the file to undo checkout, including library and folders. E.g., '/Shared Documents/test\_undocheckout.txt'. This will discard any changes made while checked out.    |

***

### `Share Point Update Content Type`

Integration name: **SHARE\_POINT\_UPDATE\_CONTENT\_TYPE**

Tool to update a SharePoint content type's properties such as name, description, group, or hidden status. Use when you need to modify content type metadata.

#### Parameters

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

| Parameter         | Type    | Required | Example                              | Description                                                                                                                                                                                 |
| ----------------- | ------- | :------: | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`            | string  |          | `"Updated Content Type"`             | The name of the content type. Use this to rename the content type.                                                                                                                          |
| `group`           | string  |          | `"Custom Content Types"`             | The group name that this content type belongs to. Use this to change the group classification.                                                                                              |
| `hidden`          | boolean |          | —                                    | Indicates whether the content type is hidden in the list's New menu. Set to true to hide the content type.                                                                                  |
| `site_name`       | string  |          | `"composio-test"`                    | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `description`     | string  |          | `"Updated description via REST API"` | The descriptive text for the content type. Use this to update the content type description.                                                                                                 |
| `document_set`    | object  |          | —                                    | Model for document set metadata.                                                                                                                                                            |
| `content_type_id` | string  |     ✅    | `"0x01"`                             | The unique identifier of the content type to update. This can be the content type ID (e.g., '0x01' for Item) or the string ID from the Id.StringValue property.                             |

***

### `Share Point Update Drive Item`

Integration name: **SHARE\_POINT\_UPDATE\_DRIVE\_ITEM**

Tool to update the properties of a drive item (file or folder) in SharePoint using SharePoint REST API. Use when you need to rename files/folders or update their title property.

#### Parameters

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

| Parameter             | Type   | Required | Example                         | Description                                                                                                                                                                                 |
| --------------------- | ------ | :------: | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                | string |          | `"new-file-name.docx"`          | The new name for the item (filename with extension for files, folder name for folders). Use to rename the file or folder.                                                                   |
| `title`               | string |          | `"My Document Title"`           | The new title for the item. This updates the Title field of the list item.                                                                                                                  |
| `site_name`           | string |          | `"composio-test"`               | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `server_relative_url` | string |     ✅    | `"/Shared Documents/test.docx"` | The server-relative URL of the file or folder to update (e.g., '/Shared Documents/file.docx' or '/sites/mysite/Shared Documents/folder').                                                   |

***

### `Share Point Update List`

Integration name: **SHARE\_POINT\_UPDATE\_LIST**

Tool to update properties of an existing SharePoint list. Use when you need to modify list metadata such as title, description, or settings like versioning and attachments.

#### Parameters

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

| Parameter               | Type    | Required | Example                                  | Description                                                                                                                                                                                 |
| ----------------------- | ------- | :------: | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`                 | string  |          | `"Updated List Title"`                   | New title for the list. Provide this to rename the list.                                                                                                                                    |
| `if_match`              | string  |          | —                                        | ETag value for concurrency control. Use '\*' to force update regardless of version. Provide a specific ETag to ensure safe concurrent updates.                                              |
| `list_guid`             | string  |     ✅    | `"a12e3d6e-9414-462d-bd53-cf06f3982ad3"` | GUID of the SharePoint list to update, in canonical format (e.g., 'a12e3d6e-9414-462d-bd53-cf06f3982ad3').                                                                                  |
| `site_name`             | string  |          | `"composio-test"`                        | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `description`           | string  |          | `"Updated list description via API"`     | New description for the list. Provide this to update the list description.                                                                                                                  |
| `enable_versioning`     | boolean |          | —                                        | Whether versioning is enabled for the list. Set to true to enable, false to disable.                                                                                                        |
| `enable_attachments`    | boolean |          | —                                        | Whether attachments are enabled for list items. Set to true to enable, false to disable.                                                                                                    |
| `content_types_enabled` | boolean |          | —                                        | Whether content types are enabled for the list. Set to true to enable, false to disable.                                                                                                    |

***

### `Share Point Update List Item`

Integration name: **SHARE\_POINT\_UPDATE\_LIST\_ITEM**

Tool to update fields on an existing SharePoint list item. Use when you need to modify an item's properties with proper ETag concurrency control via MERGE.

#### Parameters

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

| Parameter               | Type    | Required | Example                                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ----------------------- | ------- | :------: | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `etag`                  | string  |          | —                                               | ETag value for concurrency control. Use '\*' to force update regardless of version. Provide a specific ETag (from GET\_LIST\_ITEM\_ETAG tool) to ensure safe concurrent updates. Format: '"guid,version"' like '"c7a93369-bda8-4da1-b1a3-3d87d2e207fc,1"'.                                                                                                                                                                                                  |
| `fields`                | object  |     ✅    | `{"Title":"Updated Title","Status":"Complete"}` | Dictionary mapping internal field names to their new values. Supports text, numbers, booleans, dates, and complex types for lookup/person fields. For lookup and person/group fields, append 'Id' to the field name and provide the ID as an integer (single-value) or {'results': \[id1, id2, ...]} for multi-value (OData verbose format). Internal field names with spaces are encoded with '*x0020*' (e.g., 'Related\_x0020\_Item' for 'Related Item'). |
| `item_id`               | integer |     ✅    | `1`                                             | Numeric ID of the list item to update.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `site_name`             | string  |          | —                                               | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}.                                                                                                                                                                                                                                                                 |
| `list_title`            | string  |     ✅    | `"Tasks"`                                       | The exact title of the SharePoint list containing the item to update.                                                                                                                                                                                                                                                                                                                                                                                       |
| `entity_type_full_name` | string  |          | —                                               | The ListItemEntityTypeFullName required for \_\_metadata.type in the request body. If not provided, it will be fetched automatically using GET\_LIST\_ITEM\_ENTITY\_TYPE\_FULL\_NAME. Format: 'SP.Data.{ListName}ListItem' like 'SP.Data.TasksListItem'.                                                                                                                                                                                                    |

***

### `Share Point Update Site`

Integration name: **SHARE\_POINT\_UPDATE\_SITE**

Tool to update properties of the current SharePoint site (web). Use when you need to modify site title, description, or other SP.Web properties via MERGE.

#### Parameters

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

| Parameter                       | Type    | Required | Example                      | Description                                                                                                                                                                                  |
| ------------------------------- | ------- | :------: | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`                         | string  |          | `"My Updated Site"`          | The new title for the site. If not provided, the title will not be updated.                                                                                                                  |
| `site_name`                     | string  |          | `"composio-test"`            | The subsite name to scope the request to (e.g., `composio-test`). If omitted, the root site is used. When provided, the API base URL becomes `https://{tenant}.sharepoint.com/sites/{site}`. |
| `description`                   | string  |          | `"Updated site description"` | The new description for the site. If not provided, the description will not be updated.                                                                                                      |
| `tree_view_enabled`             | boolean |          | —                            | Whether the tree view is enabled on the site.                                                                                                                                                |
| `quick_launch_enabled`          | boolean |          | —                            | Whether the Quick Launch navigation is enabled on the site.                                                                                                                                  |
| `enable_minimal_download`       | boolean |          | —                            | Whether to enable minimal download strategy for the site.                                                                                                                                    |
| `save_site_as_template_enabled` | boolean |          | —                            | Whether the 'Save Site as Template' feature is enabled.                                                                                                                                      |

***

### `Share Point Upload File`

Integration name: **SHARE\_POINT\_UPLOAD\_FILE**

Tool to upload a file to a SharePoint document library or folder. Use when you need to programmatically add or update a file in a document library.

#### Parameters

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

| Parameter             | Type    | Required | Example               | Description                                                                                                                                                                                 |
| --------------------- | ------- | :------: | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file`                | object  |          | —                     | File to upload. Alternatively, omit this and provide either 'content\_text' for UTF-8 text or 'content\_base64' for arbitrary bytes along with 'file\_name' to set the filename.            |
| `file_name`           | string  |          | `"document.txt"`      | Filename to use when uploading if 'file' is not provided.                                                                                                                                   |
| `overwrite`           | boolean |          | —                     | Whether to overwrite an existing file with the same name. Defaults to true.                                                                                                                 |
| `site_name`           | string  |          | `"composio-test"`     | The subsite name to scope the request to (e.g., 'composio-test'). If omitted, the root site is used. When provided, the API base URL becomes https\://{tenant}.sharepoint.com/sites/{site}. |
| `content_text`        | string  |          | —                     | Optional raw text content to upload (UTF-8 encoded). Use when not passing 'file'.                                                                                                           |
| `content_base64`      | string  |          | —                     | Optional base64-encoded bytes to upload. Use for binary content when not passing 'file'.                                                                                                    |
| `folder_relative_url` | string  |     ✅    | `"/Shared Documents"` | Server-relative URL of the destination folder, starting with '/'. E.g., '/Shared Documents'.                                                                                                |

***

### `Share Point Upload From Url`

Integration name: **SHARE\_POINT\_UPLOAD\_FROM\_URL**

Tool to fetch a file from a URL and upload it to SharePoint. Use when you need to upload files directly from external URLs without downloading them to the client first. When a file with the same name already exists, use conflict\_behavior to control the behavior:

* 'replace': Overwrites the existing file (fails with HTTP 423 if the file is locked/open)
* 'fail': Returns an error if a file with that name exists
* 'rename': Uploads with an auto-generated suffix (e.g., 'report 1.docx'), bypassing file locks

#### Parameters

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

| Parameter           | Type    | Required | Example                               | Description                                                                                                                              |
| ------------------- | ------- | :------: | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `site_id`           | string  |          | —                                     | SharePoint site ID (e.g., contoso.sharepoint.com,2C712604-...,2D2244C3-...). If not provided, uses the default site from authentication. |
| `drive_id`          | string  |          | `"b!xyz123"`                          | Drive ID where the file should be uploaded. If not provided, uses the default document library.                                          |
| `file_url`          | string  |     ✅    | `"https://example.com/document.pdf"`  | The URL of the file to download and upload to SharePoint. Must be accessible from the server.                                            |
| `file_name`         | string  |          | `"document.pdf"`                      | Name for the uploaded file. If not provided, extracts from the URL or Content-Disposition header.                                        |
| `overwrite`         | boolean |          | —                                     | DEPRECATED. Use 'conflict\_behavior' instead. true → 'replace', false → 'fail'. Ignored if 'conflict\_behavior' is set.                  |
| `folder_path`       | string  |          | `"Documents"`                         | Folder path relative to the drive root (e.g., 'Documents/Projects'). Defaults to root of drive.                                          |
| `source_headers`    | object  |          | `{"Authorization":"Bearer token123"}` | Optional HTTP headers to include when downloading from file\_url. Use for authentication tokens, signed URLs, or CDN-specific headers.   |
| `conflict_behavior` | string  |          | `"replace"`                           | Specifies how to handle name conflicts when uploading files to SharePoint.                                                               |

***


---

# 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/sharepoint.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.
