The SharePoint Lists connector is part of the Enterprise Edition.
What the agent sees
The connection points at one site. Every visible list on that site — a site can have many — is discovered as its own table:- Columns come from the list’s own schema. Text, choice, number, currency, date, boolean, person and lookup columns are typed accordingly; noise columns (compliance tags, attachments plumbing) are filtered out.
ID,Created,Modified,Created ByandModified Byare included. - Display names, not internal names. A SharePoint column displayed as
2017may internally befield_2; one displayed asCategorymay befield_1. The agent sees and filters on the display names it recognizes from the SharePoint UI — the connector translates to internal names on the wire and back in the results. - Document libraries and hidden system lists are excluded. Libraries belong to the files connector; hidden lists can be opted back in with
include_hidden.
Prefer: HonorNonIndexedQueriesWarningMayFailRandomly header so filters work on non-indexed columns, and follows @odata.nextLink paging up to the row cap.
Before you start
The prerequisites are the same as for SharePoint and OneDrive: a Microsoft Entra ID app registration with a client secret, admin consent for the Graph permissions, and your Bag of words base URL for the OAuth redirect URI. If you already registered an app for the SharePoint files connector, reuse it — SharePoint Lists needs onlySites.Read.All, which that app already has.
Unlike Graph file reads, Graph list reads work app-only on standard tenants — so a service-principal-only connection can index and query lists without any user signing in, as long as the application permission is granted. With delegated sign-in, each user sees exactly the lists and items their own account can see.
Connect in Bag of words
Go to Data Sources → Add data source and pick SharePoint Lists.Config fields
Authentication modes
Identical to the SharePoint files connector, backed by the same Entra app registration:- Entra ID App (Service Principal) —
tenant_id,client_id,client_secret(with optionaloauth_client_id/oauth_client_secretoverrides). Backs both the app-only path and the per-user sign-in flow. - Sign in with Microsoft — each user clicks Connect and completes the authorization-code flow; queries then run as that user. Entra SSO deployments also get OBO auto-provisioning, so users who log in with Microsoft are connected automatically.
Troubleshooting
A filter fails on a large list
A filter fails on a large list
SharePoint rejects
$filter/$orderby on non-indexed columns once a list crosses the 5,000-item view threshold, even with the Prefer header. Either index the column in SharePoint (List settings → Indexed columns), or drop the filter and let the agent filter in pandas — the connector’s error message tells the agent to do exactly that.A list is missing from the catalog
A list is missing from the catalog
Document libraries are excluded by design — use the SharePoint files connector for those. Hidden lists need
include_hidden. If the connection has a lists scope, the list name must match one of the configured names.The catalog is empty after connecting
The catalog is empty after connecting
With a user-required connection and no
Sites.Read.All application permission, the admin-side crawl legitimately finds nothing — the catalog populates per user after each user signs in with Microsoft.A column is missing from a table
A column is missing from a table
Hidden and read-only system columns are filtered out of the catalog on purpose. Person and lookup columns return display values as strings.
Related
- SharePoint and OneDrive — the same site’s document libraries, as files.
- Business applications — other table-shaped application connectors (Salesforce, ServiceNow, NetSuite).
- Authentication and access — shared vs per-user credentials and OAuth.
