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

# SharePoint Online (v2)

> Integrate your application with the SharePoint Online (v2) API

## 🚀 Quickstart

Connect to SharePoint Online (v2) with Nango and see data flow in 2 minutes.

**1. Create an integration**

In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *SharePoint Online (v2)*.

> [!NOTE]
>
> Nango has a [Nango-managed OAuth app](https://nango.dev/docs/guides/auth/auth-guide.md#nango-managed-oauth-apps) you can use in development and production. Select it when you create the integration.

**2. Authorize SharePoint Online (v2)**

Go to [Connections](https://app.nango.dev/dev/connections) -> *Add Test Connection* -> *Authorize*, then log in to SharePoint Online. Later, you'll let your users do the same directly from your app.

**3. Call the SharePoint Online (v2) API**

Let's make your first request to the SharePoint Online (Microsoft Graph) API (fetch a list of all available sites in an organization). Replace the placeholders below with your [Environment API key](https://nango.dev/docs/reference/backend/http-api/api-keys.md), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):

> [tab] cURL
>
> ```bash theme={null}
> curl "https://api.nango.dev/proxy/v1.0/sites" \
>   -H "Authorization: Bearer <NANGO-API-KEY>" \
>   -H "Provider-Config-Key: <INTEGRATION-ID>" \
>   -H "Connection-Id: <CONNECTION-ID>"
> ```

> [tab] Node
>
> Install Nango's backend SDK with `npm i @nangohq/node`. Then run:
>
> ```typescript theme={null}
> import { Nango } from '@nangohq/node';
>
> const nango = new Nango({ apiKey: '<NANGO-API-KEY>' });
>
> const res = await nango.get({
>     endpoint: '/v1.0/sites',
>     providerConfigKey: '<INTEGRATION-ID>',
>     connectionId: '<CONNECTION-ID>'
> });
>
> console.log(res.data);
> ```

Or fetch credentials dynamically via the [Node SDK](https://nango.dev/docs/reference/backend/backend-sdk/node.md#get-a-connection-with-credentials) or [API](https://nango.dev/docs/reference/backend/http-api/connections/get.md).

✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.

**4. Implement Nango in your app**

Follow our [Auth implementation guide](https://nango.dev/docs/guides/primitives/auth.md) to integrate Nango in your app.

To use your own OAuth app instead of the Nango-managed one, follow the setup guide linked below.

## 📚 SharePoint Online (v2) Integration Guides

Nango maintained guides for common use cases.

* [How to register your own SharePoint Online (v2) OAuth app](https://nango.dev/docs/api-integrations/sharepoint-online/how-to-register-your-own-sharepoint-online-api-oauth-app)\
  Register an OAuth app with SharePoint Online (v2) and obtain credentials to connect it to Nango

Official docs: [Microsoft Graph API documentation](https://learn.microsoft.com/en-us/graph/api/resources/sharepoint)

## 🧩 Pre-built syncs & tools for SharePoint Online (v2)

Explore Nango-provided tools in your dashboard. Extend and customize them to fit your needs.

### Others

| Function name | Description | Type |
| - | - | - |
| `add-content-type-to-list` | Associate a content type with a SharePoint list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `add-drive-item-permission` | Invite users or groups to access a drive item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `copy-drive-item` | Copy a file or folder to another location in a site drive. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-content-type` | Create a content type on a SharePoint site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-drive-folder` | Create a folder in a SharePoint document library. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-drive-upload-session` | Start a large file upload session in a site drive. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-list-column` | Create a column on a SharePoint list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-list-item` | Create an item in a SharePoint list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-list` | Create a SharePoint list on a site | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-sharing-link` | Create a shareable link for a drive item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-site-column` | Create a site-level column definition on a SharePoint site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-site-page` | Create a modern site page. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-content-type` | Delete a content type from a SharePoint site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-drive-item` | Delete a file or folder from a site drive. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-list-column` | Delete a column from a SharePoint list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-list-item` | Delete an item from a SharePoint list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-list` | Delete a SharePoint list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-site-column` | Delete a site-level column definition. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-site-page` | Delete a site page. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `download-drive-item-content` | Download the file content of a SharePoint drive item | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-content-type` | Retrieve a single content type from a SharePoint site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-drive-item-thumbnail` | Retrieve thumbnail URLs for a drive item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-drive-item` | Retrieve a file or folder from a site drive. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-drive` | Retrieve a site drive by ID. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-list-item` | Retrieve a SharePoint list item by ID. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-list` | Retrieve a SharePoint list by ID. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-site-page` | Retrieve a site page by ID. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-site` | Retrieve a SharePoint site by ID or path. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-content-types` | List content types defined on a SharePoint site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-drive-children` | List items under a folder in a site drive. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-drive-item-permissions` | List all permissions on a drive item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-drive-item-versions` | List the version history of a drive item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-drives` | List document libraries on a site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-list-columns` | List columns on a SharePoint list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-list-content-types` | List the content types associated with a SharePoint list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-list-items` | List items in a SharePoint list | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-lists` | List SharePoint lists on a site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-shared-sites` | List SharePoint sites for user selection workflows. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-site-columns` | List site-level column definitions on a SharePoint site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-site-pages` | List modern site pages on a site. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `publish-site-page` | Publish a site page. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `remove-drive-item-permission` | Remove a permission from a drive item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `restore-drive-item-version` | Restore a previous version of a drive item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-drive-items` | Search for files and folders within a site drive. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-sites` | Search for sites by keyword. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-drive-item-permission` | Update an existing permission on a drive item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-drive-item` | Rename or move a file or folder in a site drive. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-list-column` | Update a SharePoint list column. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-list-item` | Update fields on a SharePoint list item. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-list` | Update mutable list properties. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-site-column` | Update a site-level column definition. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-site-page` | Update a modern site page draft. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `upload-drive-item` | Upload small file content directly to a site drive (≤4 MB). For larger files use create-drive-upload-session. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `content-types` | Sync content type definitions for configured sites. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `drive-item-versions` | Sync version history for drive items in configured site drives | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `drive-items` | Sync files and folders from selected site drives | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `drives` | Sync document libraries for selected sites | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `list-columns` | Sync SharePoint list schemas. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `list-items` | Sync items from selected SharePoint lists. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `lists` | Sync SharePoint lists for selected sites. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `permissions` | Sync permission grants on drive items for configured site drives. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `shared-sites-selection` | Sync selected files from chosen SharePoint shared sites. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `site-columns` | Sync site-level column definitions for configured sites. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `site-pages` | Sync modern site pages for selected sites. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `sites` | Sync targeted SharePoint sites. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `subsites` | Sync subsites under selected parent sites. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `user-files-selection` | Sync selected user files from SharePoint. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `user-files` | Sync file metadata from user-accessible SharePoint files. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |

> [!NOTE]
>
> Questions? Join us in the [Slack community](https://nango.dev/slack).

***


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