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

# SharePoint and Teams Datasource

> Synchronize content from your MS SharePoint and Teams document libraries to Paradigm.

<Tip>
  This page contains the setup guide and reference information for the **Microsoft SharePoint** source connector. [Video Tutorial](https://drive.google.com/file/d/1E8QM2oWB9r4fEzgTGJTwk_tg6WgTSGyr/view?t=565)
</Tip>

<Note>
  The Microsoft SharePoint source connector pulls data from a specified SharePoint Document library and folder. If configured with the recursive option, it will include all subfolders in the sync. All files in the specified folder and subfolders will be considered.
</Note>

## Prerequisites

* Tenant ID - Azure AD tenant identifier
* Client ID - Azure AD application identifier
* Client Secret - Azure AD application secret
* Site Name - Name of the SharePoint site
* Folder Path - Url to the folder you want to sync

## Setup Guide

The Microsoft SharePoint source connector supports authentication through the application-level OAuth client credentials flow (Microsoft's equivalent to Google's service account approach).

### Step 1: Create an Azure AD Application

1. Login to the [Azure Portal](https://portal.azure.com/)
2. Click the upper-left menu icon and select **Azure Active Directory**
3. Select **App Registrations**
4. Click **New registration**
5. Register an application:
   * Name: Enter a name for your application
   * Supported account types: Select **Accounts in this organizational directory only**
   * Click **Register**
6. Record the **Application (client) ID** and **Directory (tenant) ID** which will be used for authentication

### Step 2: Generate a Client Secret

1. From your registered application page, select **Certificates & secrets**
2. Click **New client secret**
3. Provide a description and select an expiry period (e.g., 1 year)
4. Click **Add**
5. **IMPORTANT:** Copy the generated client secret value immediately - you won't be able to see it again

### Step 3: Assign API Permissions

1. From your registered application page, select **API permissions**
2. Click **Add a permission**
3. Select **Microsoft Graph**
4. Select **Application permissions**
5. Add the following permissions:
   * **Sites.Read.All**
   * **Files.Read.All**
6. Click **Add permissions**
7. Click **Grant admin consent for \[your organization]** to activate the permissions

### Step 4: Configure the SharePoint Connector in Paradigm Admin

1. Navigate to the Datasource section in your Paradigm admin interface
2. Create a new datasource of type **SharePoint**
3. Add your credentials in the required fields:

   * **tenant\_id**: Your Azure AD tenant identifier
   * **client\_id**: Your Azure AD application identifier
   * **client\_secret**: Your Azure AD application secret
   * **site\_name**: Name of your SharePoint site

   The site name is basically the title of your SharePoint site
4. Click on **`New import`** to configure a new import configuration.
   1. In the **Filter criteria**, specify the following:

      * **folder\_path**: Paste the **URL** of the SharePoint folder you want to sync.

      ```
      // should look like something like that:
      <https://mysharepointtenant.sharepoint.com/sites/CommunicationSiteParadigmTest/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites%2FCommunicationSiteParadigmTest%2FShared%20Documents%2F0%20%2D%20Folder%20level%200&viewid=4ac924c4%2D7e2f%2D58ce%2D8d2b%2D96aedd9a5e25>
      ```

      (To synchronize an entire document library, set "`root`" in the folder\_path)

      * **recursive**: Enable or disable subfolder syncing (defaults to `True`)
   2. **Workspace**: Select the workspace where the files will be synced ( should be a `sync `type workspace)
   3. **Frequency**: Set how often synchronization should occur
   4. **Priority**: Set the relative importance compared to other import configurations
5. Click **`SAVE`** and wait for the tests to complete.

You're All Set! ✅

## Key Features of the SharePoint Connector

### Incremental Synchronization

The connector uses Microsoft's delta API to efficiently sync only changed files between runs. This approach:

* Reduces bandwidth and processing requirements
* Captures all file changes (creations, updates, deletions)
* Maintains state between synchronization runs via a delta token

### Authentication & Access

* Uses application-level authentication (not user-specific)
* Captures changes made by all users within the SharePoint site
* Automatically handles token renewal for continuous operation

### Limits and Considerations

* The connector respects configured document limits (DATASOURCES\_MAX\_DOC\_PER\_IMPORT)
* Checks file size limits before connecting (MAX\_DOCUMENT\_SIZE)
* Filters by supported MIME types
* The recursive option determines whether subfolders are included (default to yes)

## Troubleshooting

If you encounter connection issues:

1. Verify that all credentials (tenant\_id, client\_id, client\_secret) are correct
2. Ensure the application has been granted admin consent for the required permissions
3. Confirm the site\_name is correct and accessible to the application
4. Check that the folder\_path exists within the specified site
5. For specific error messages, consult the `import session page` for detailed information

For persistent issues, please contact the development team with specific error messages and timestamps.
