docs/integrations/enterprise-connectors/source-sharepoint-lists-enterprise.md
This page contains the setup guide and reference information for the SharePoint Lists Enterprise source connector.
</HideInUI>The SharePoint Lists source connector allows you to sync data from Microsoft SharePoint Lists to your data warehouse or destination of choice. This connector uses the Microsoft Graph API to extract list data with full support for dynamic schema discovery, incremental syncs, and complex column types.
Before you begin, ensure you have:
Azure AD app with the following API permissions:
Sites.Read.All (Application permission)SharePoint Site ID in the format: hostname,site-guid,web-guid
contoso.sharepoint.com,12345678-1234-1234-1234-123456789012,87654321-4321-4321-4321-210987654321Azure AD credentials:
This connector requires an Azure AD application with Application permissions to access SharePoint data via the Microsoft Graph API.
To create and configure your Azure AD application:
Sites.Read.All as an Application permission (not Delegated)The Site ID is required to identify which SharePoint site to sync from. You can find it using Microsoft Graph Explorer:
GET https://graph.microsoft.com/v1.0/sites/{hostname}:/sites/{site-name}
{hostname} with your SharePoint hostname (for example, contoso.sharepoint.com){site-name} with your site nameid field in the format: hostname,site-guid,web-guidhostname,site-guid,web-guid| Parameter | Required | Description |
|---|---|---|
client_id | Yes | Azure AD Application (client) ID |
client_secret | Yes | Azure AD Application client secret |
tenant_id | Yes | Azure AD Tenant ID |
site_id | Yes | SharePoint Site ID in format: hostname,site-guid,web-guid |
list_name_filter | No | Regular expression pattern to filter which lists to sync (for example, Perdue.* to match lists starting with "Perdue") |
skip_document_libraries | No | Skip document library lists (default: true) |
num_workers | No | Number of concurrent workers for parallel processing (default: 10, range: 1-20) |
listsMetadata about all SharePoint lists in the site.
| Property | Type | Description |
|---|---|---|
id | string | Unique list identifier |
name | string | Internal list name |
displayName | string | Display name of the list |
description | string | List description |
webUrl | string | URL to the list |
createdDateTime | string | ISO 8601 timestamp of creation |
lastModifiedDateTime | string | ISO 8601 timestamp of last modification |
template | string | List template type |
hidden | boolean | Whether the list is hidden |
Sync Mode: Full Refresh, Incremental
Primary Key: id
Cursor Field: lastModifiedDateTime
user_informationLookup table for SharePoint users (useful for resolving Author/Editor lookup IDs).
| Property | Type | Description |
|---|---|---|
user_lookup_id | string | User lookup ID (matches AuthorLookupId/EditorLookupId) |
user_title | string | User display name |
user_email | string | User email address |
user_login_name | string | User login name |
is_site_admin | boolean | Whether user is a site admin |
department | string | User's department |
job_title | string | User's job title |
Sync Mode: Full Refresh only
Primary Key: user_lookup_id
For each non-hidden SharePoint list discovered, the connector creates a dynamic stream. The stream name is derived from the list's display name (normalized to lowercase with underscores).
| Property | Type | Description |
|---|---|---|
_sharepoint_list_name | string | Name of the source list |
_sharepoint_id | string | Unique item ID within the list |
_sharepoint_deleted | boolean | Whether the item is deleted |
_sharepoint_modified | string | ISO 8601 timestamp of last modification |
_sharepoint_etag | string | Entity tag for concurrency |
title | string | Item title |
author | string | Creator's display name |
authoremail | string | Creator's email |
authorlookupid | string | Creator's lookup ID |
editor | string | Last modifier's display name |
editoremail | string | Last modifier's email |
editorlookupid | string | Last modifier's lookup ID |
created | string | ISO 8601 timestamp of creation |
modified | string | ISO 8601 timestamp of last modification |
version | string | Item version |
contenttype | string | Content type name |
Plus: All custom columns defined in the list (dynamically discovered)
Sync Mode: Full Refresh, Incremental
Primary Key: _sharepoint_id
Cursor Field: _sharepoint_modified
The connector automatically handles the following SharePoint column types:
| SharePoint Type | Output Type | Notes |
|---|---|---|
| Text (Single/Multi-line) | string | |
| Number | number | |
| Currency | number | |
| Date and Time | string | ISO 8601 format |
| Yes/No | boolean | |
| Choice | string | Single or multi-select |
| Person or Group | string | Returns display name |
| Lookup | string | Returns display value from referenced list |
| Managed Metadata (Term) | string | Returns the term label |
| Hyperlink or Picture | string | URL stored in main field, description in {field}_description |
| Calculated | string | |
| Geolocation | object |
user_information stream to get additional user details via authorlookupid/editorlookupid{fieldname}_description field contains the link descriptionlists streamlastModifiedDateTime$filter on this endpointlastModifiedDateTime_sharepoint_modified valuenum_workers to control parallelization (higher values increase throughput but may hit rate limits)12 Lookup Column Limit: SharePoint limits the number of lookup-type columns (Person, Lookup, Managed Metadata) to 12 when listing multiple items. If a list has more than 12 lookup columns, some may not return values. The connector logs a warning when this is detected.
Document Libraries: By default, document libraries are skipped. Set skip_document_libraries: false to include them.
Schema Changes: New columns added to lists aren't automatically detected during syncs. A schema refresh is required to detect new columns or new lists.
Deleted Items: The connector doesn't currently support delta queries for detecting deleted items. Deleted items aren't synced.
hostname,site-guid,web-guidGET https://graph.microsoft.com/v1.0/sites/{site_id}num_workers if experiencing throttling| Version | Date | Pull Request | Subject |
|---|---|---|---|
| 0.1.0 | 2025-01-07 | 338 | Initial release with dynamic list/column discovery, incremental sync, and complex column type support |