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

<Steps>
  <Step title="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)*.
  </Step>

  <Step title="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.
  </Step>

  <Step title="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 [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):

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

      <Tab title="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({ secretKey: '<NANGO-SECRET-KEY>' });

        const res = await nango.get({
            endpoint: '/v1.0/sites',
            providerConfigKey: '<INTEGRATION-ID>',
            connectionId: '<CONNECTION-ID>'
        });

        console.log(res.data);
        ```
      </Tab>
    </Tabs>

    Or fetch credentials dynamically via the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).

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

  <Step title="Implement Nango in your app">
    Follow our [Auth implementation guide](/guides/primitives/auth) to integrate Nango in your app.

    To obtain your own production credentials, follow the setup guide linked below.
  </Step>
</Steps>

## 📚 SharePoint Online (v2) Integration Guides

Nango maintained guides for common use cases.

* [How to register your own SharePoint Online (v2) OAuth app](/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 & actions for SharePoint Online (v2)

Enable them in your dashboard. Extend and customize to fit your needs.

### Others

| Function name            | Description                                                       | Type                                           | Source code                                                                                                                            |
| ------------------------ | ----------------------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `content-types`          | Sync content type definitions for configured sites.               | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/content-types.ts)          |
| `drive-item-versions`    | Sync version history for drive items in configured site drives    | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/drive-item-versions.ts)    |
| `drive-items`            | Sync files and folders from selected site drives                  | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/drive-items.ts)            |
| `drives`                 | Sync document libraries for selected sites                        | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/drives.ts)                 |
| `list-columns`           | Sync SharePoint list schemas.                                     | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/list-columns.ts)           |
| `list-items`             | Sync items from selected SharePoint lists.                        | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/list-items.ts)             |
| `lists`                  | Sync SharePoint lists for selected sites.                         | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/lists.ts)                  |
| `permissions`            | Sync permission grants on drive items for configured site drives. | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/permissions.ts)            |
| `shared-sites-selection` | Sync selected files from chosen SharePoint shared sites.          | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/shared-sites-selection.ts) |
| `site-columns`           | Sync site-level column definitions for configured sites.          | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/site-columns.ts)           |
| `site-pages`             | Sync modern site pages for selected sites.                        | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/site-pages.ts)             |
| `sites`                  | Sync targeted SharePoint sites.                                   | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/sites.ts)                  |
| `subsites`               | Sync subsites under selected parent sites.                        | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/subsites.ts)               |
| `user-files-selection`   | Sync selected user files from SharePoint.                         | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/user-files-selection.ts)   |
| `user-files`             | Sync file metadata from user-accessible SharePoint files.         | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/sharepoint-online/syncs/user-files.ts)             |

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

***
