> ## Documentation Index
> Fetch the complete documentation index at: https://docs.noxus.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SharePoint

> Start flows from new or changed SharePoint files, work with files and folders in document libraries, and read and write SharePoint lists

Use SharePoint to start a flow when a file is added or changed in a folder, to work with files and folders in document libraries, and to read and write SharePoint lists. This flow adds every new contract to a contract register list. Press **Run** to watch it.

Node
Output in this run

Every trigger and node needs a SharePoint connection, signed in with OAuth or a service principal. See [Connect Microsoft 365](https://docs.noxus.ai/integrations/providers/microsoft.md) to set one up, including how to limit a service principal to chosen sites with `Sites.Selected`.

## Triggers

The trigger checks the folder every minute. Files already in the folder when you turn the trigger on do not start a flow. With **File updated**, they do once their content changes.

What it does

## Nodes

The file nodes work with files and folders in document libraries. The list nodes work with SharePoint lists.

| Node | What it does |
| - | - |
| [Read SharePoint Files](#read-sharepoint-files) | Downloads files, every file in a folder, or site pages |
| [Write SharePoint File](#write-sharepoint-file) | Uploads a file to a folder |
| [Update SharePoint File](#update-sharepoint-file) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Replaces a file's content, keeping its ID and link |
| [List SharePoint Folder](#list-sharepoint-folder) | Lists what is in a folder |
| [Search SharePoint Files](#search-sharepoint-files) | Finds files by name or content |
| [Create SharePoint Folder](#create-sharepoint-folder) | Creates a folder |
| [Move SharePoint File](#move-sharepoint-file) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Moves or renames a file or folder |
| [Delete SharePoint File](#delete-sharepoint-file) | Moves a file or folder to the site's recycle bin |
| [Get SharePoint Metadata](#get-sharepoint-metadata) | Gets a file's or folder's details |
| [Create SharePoint Sharing Link](#create-sharepoint-sharing-link) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Creates a link to a file or folder |
| [Share SharePoint File With People](#share-sharepoint-file-with-people) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Gives people access to a file or folder |
| [List SharePoint Sites](#list-sharepoint-sites) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Lists the sites the connection can reach |
| [List SharePoint Lists](#list-sharepoint-lists) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Lists the lists in a site |
| [Get SharePoint List](#get-sharepoint-list) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Gets a list and its columns |
| [Get SharePoint List Items](#get-sharepoint-list-items) | Reads items from a list |
| [Create SharePoint List Item](#create-sharepoint-list-item) | Adds an item to a list |
| [Update SharePoint List Items](#update-sharepoint-list-items) | Updates the items that match |
| [Delete SharePoint List Items](#delete-sharepoint-list-items) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Deletes the items that match |

The file nodes point at a file or folder through **Source**: **Pick from SharePoint** to choose it in the editor, **By ID** to bind an ID, or **By path**. A path is the site, the library, then the folders, such as `Site/Documents/Reports/file.pdf`. A path without a site runs in the root site.

The list nodes pick a **Site** and a **List** from dropdowns. Bind a variable to **Site** to pass a site ID or a full site URL, which is how you reach a subsite.

What it does

## Working with several list items

Bind a list to a row in **Values**, **Set values** or **Match items where** and the node runs once for each entry. A multi-value column takes a bound list as its whole value instead.

Update and Delete write each matched item on its own. When some fail, the run fails with a message that names which items changed and which did not. Running the node again is safe: it retries the failed items.

## Troubleshooting

> [accordion] A file did not start the trigger
>
> Files already in the folder when the trigger was turned on start a flow only once their content changes, and only with **File updated**. Check **Events**: with only **File created**, changes to existing files are ignored. Files in subfolders start a flow only with **Include subfolders** on.

> [accordion] This SharePoint connection can't read the whole document library that holds the folder...
>
> The trigger watches changes across the whole library, so the connection needs access to all of it, not only to the folder.

> [accordion] The watched SharePoint folder was deleted or moved to another document library...
>
> Open the trigger and pick the folder again.

> [accordion] The watched folder has more than 10,000 files and folders...
>
> Pick a smaller folder, or turn off **Include subfolders**.

> [accordion] The file is larger than ... MB, the most this trigger downloads...
>
> The file is skipped. Make it smaller, or move it out of the watched folder.

> [accordion] SharePoint rejected the connection...
>
> Reconnect SharePoint and run the flow again. See [Connect Microsoft 365](https://docs.noxus.ai/integrations/providers/microsoft.md).

> [accordion] The SharePoint connection doesn't have permission to do this with ...
>
> Uploading, updating, moving, deleting and sharing need write access. Reconnect SharePoint with **Read & write sites**. For a service principal, see [Connect Microsoft 365](https://docs.noxus.ai/integrations/providers/microsoft.md).

> [accordion] ... is not a SharePoint site, a library, or a folder in the default library
>
> Start the path with the site's name, then the library, then the folders, such as `Finance/Documents/Reports`.

> [accordion] Item ... not found in any accessible drive
>
> **By ID** looks in the root site's libraries. For a file in another site, use the picker or a path that starts with the site.

> [accordion] SharePoint can only move items within the same drive
>
> Move SharePoint File moves items within one document library. Use Read SharePoint Files and Write SharePoint File to copy a file to another library.

> [accordion] An item named ... already exists in the destination folder
>
> Give the item a **New name**, or move or delete the item that is already there.

> [accordion] SharePoint Site Pages can only be read...
>
> Pick a file from a document library instead of a site page.

> [accordion] SharePoint refused to share this with anyone who has the link...
>
> Your organisation may not allow links that anyone can open. Set **Who can open** to **People in my organisation**, or reconnect SharePoint with write access.

> [accordion] Couldn't share with one or more of these people...
>
> Your organisation may not allow sharing with people outside it, or they may need to be added as a guest first.

> [accordion] SharePoint denied access to this list...
>
> Check that the connection can read the site. A service principal limited with `Sites.Selected` reaches only the sites it was granted.

> [accordion] SharePoint list or site not found...
>
> Check the selected **Site** and **List**. A bound site must be a site ID or a full site URL.

> [accordion] Fill in the item ID or at least one column to match...
>
> Update and Delete refuse to change every item in a list. Fill in **ID** or at least one column in **Match items where**.

> [accordion] More than 500 items match...
>
> Narrow the filters, or update or delete in batches.

> [accordion] Updated ... of ... items; ... failed...
>
> Some items were written and some were not. The message lists both. Run the node again to retry the failed items. The same applies to `Deleted ... of ... items`.

> [accordion] Unknown time zone ...
>
> Use an IANA time zone name, such as `Europe/Madrid`, in **Site time zone**.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.