Connecting SharePoint Online


Connecting SharePoint Onlineedit

SharePoint Online by Microsoft is a cloud-based collaboration, knowledge management and storage platform for organizations of all sizes. Often used as a centralized content management system (CMS), SharePoint Online stores a wealth of information across departments and teams. The SharePoint Online connector provided with Workplace Search automatically captures, syncs and indexes the following items:

Stored Files

Including ID, File Metadata, File Content, Updated by, and timestamps

Known issuesedit

  1. When configured after November 8, 2020, the SharePoint Online connector must be connected by an Azure AD admin user. Therefore, private sources are not supported. Organization sources are supported when connected by an Azure AD admin user.

    During configuration, you register an OAuth app in Azure AD that does not have a verified publisher. After November 8, 2020, these apps can be connected by Azure AD admin users only.

  2. The connecting Azure AD user must have permission to access the sites for any groups and teams that Azure AD user is able to query. Without access to these sites, the sync may fail with a 403 error.

Note about SharePoint Teams-connected Sites

A SharePoint site is a web site in SharePoint where you can create web pages and store and collaborate on files. SharePoint sites can be used independently and are also used by Teams for file storage (these are called Teams-connected sites). A Teams-connected site is created automatically whenever you create a team.

When using the Workplace Search Sharepoint Online connector, you must ensure that the SharePoint Online service account has sufficient permissions (SharePoint Admin and Azure Global Admin) to all group and team sites you need to sync.

Note the following details:

  • Any type implicitly grants access to Azure Global Admin and Sharepoint Admin.
  • The type does not.

Refer to the official Microsoft documentation for an overview of how Teams and SharePoint integrate.

Configuring the SharePoint Online Connectoredit

You must configure the SharePoint Online connector before connecting the SharePoint Online service to Workplace Search. For this you must create an OAuth App in the SharePoint Online platform.

To get started, first log in to SharePoint Online and access your administrative dashboard.

Ensure you are logged in as the Azure Portal service account for this guide.

Step 1. Sign in to and click on Azure Active Directory:

Figure 85. Connecting SharePoint

Step 2. Locate App Registrations:

Figure 86. Connecting SharePoint

Step 3. Click New Registration:

Figure 87. Connecting SharePoint

Step 4. Give your app a name - like "Workplace Search" - and make it multitenant.

Setting the app to single tenant will result in a degraded experience, and the connector will not sync content.

Leave the Redirect URIs blank for now. We will need two: one for Organizational Sources and the other for Personal Sources. We’ll add this later in the process.

Step 5. Register the application:

Figure 88. Connecting SharePoint

Step 6. Retrieve and keep the Client ID handy - we’ll need it within Workplace Search.

Step 7. Next, click the Add a Redirect URI link in the header.

Figure 89. Connecting SharePoint

The redirect URIs required vary by which user interface you are using to manage Enterprise Search. Enterprise Search in Kibana and standalone Enterprise Search use different redirect URIs. See user interfaces for details on each UI.

When using standalone Enterprise Search, add the following two redirect URIs, substituting <WS_BASE_URL> with the base URL at which Workplace Search is hosted (scheme + host, no path).



# Deployment using a custom domain name

# Deployment using a default Elastic Cloud domain name

# Unsecured local development environment

When using Enterprise Search in Kibana, use the following redirect URI, substituting <KIBANA_BASE_URL> with the base URL of your Kibana instance. This should correspond with the value of kibana.external_url in your enterprise-search.yml:



# Deployment using a custom domain name for Kibana

# Deployment using a default Elastic Cloud domain name for Kibana

# Unsecured local Kibana environment

Step 7. Save the configuration.

Figure 90. Connecting SharePoint

Step 8. Locate the Client Secret by navigating to Certificates & Secrets:

Figure 91. Connecting SharePoint

Step 9. Pick a name for your client secret (for example, Workplace Search). Select 24 months as the expiration date:

Figure 92. Connecting SharePoint

Step 10. Save the Client Secret value before leaving this screen.

Figure 93. Connecting SharePoint

Step 11. We must now set up the permissions the Application will request from the Azure Portal service account. Navigate to API Permissions and click Add Permission. Add delegated permissions until the list resembles the following:

Figure 94. Connecting SharePoint

Step 12. Finally, Grant admin consent.

Use the Grant Admin Consent link from the permissions screen.

Step 13. From the Workplace Search administrative dashboard’s Sources area, locate SharePoint Online, click Configure and provide both the Client ID and Client Secret.

Voilà! The SharePoint Online connector is now configured, and ready to be used to synchronize content. In order to capture data, you must now connect a SharePoint Online instance with the adequate authentication credentials.

Connecting SharePoint Online to Workplace Searchedit

Once the SharePoint Online connector has been configured, you may connect a SharePoint Online instance to your organization.

Step 1. Head to your organization’s Workplace Search administrative dashboard, and locate the Sources tab.

Step 2. Click Add a new source.

Step 3. Select SharePoint Online in the Configured Sources list, and follow the SharePoint Online authentication flow as presented.

Ensure you are logged in as the Azure Portal service account for this step.

You might be following the OAuth flow in a browser where you’re already logged into the Azure Portal as a personal user. If in doubt, open an incognito window and log in as the Azure Portal service account.

Step 4. Upon the successful authentication flow, you will be redirected to Workplace Search.

SharePoint Online content will now be captured and will be ready for search gradually as it is synced. Once successfully configured and connected, the SharePoint Online synchronization automatically occurs every 2 hours.

Document-level permissionsedit

You can synchronize document access permissions from SharePoint Online to Workplace Search. This will ensure the right people see the right documents.

See Document-level permissions for Microsoft.

Limiting the content to be indexededit

If you don’t need to index all the available content, you can specify the indexing rules via the API. This will help shorten indexing times and limit the size of the index. See Customizing indexing. For SharePoint Online, applicable rule types would be path_template and file_extension.

Synchronized fieldsedit

The following table lists the fields synchronized from the connected source to Workplace Search. The attributes in the table apply to the default search application, as follows:

  • Display name - The label used when displayed in the UI
  • Field name - The name of the underlying field attribute
  • Faceted filter - whether the field is a faceted filter by default, or can be enabled (see also: Customizing filters)
  • Automatic query refinement preceding phrases - The default list of phrases that must precede a value of this field in a search query in order to automatically trigger query refinement. If "None," a value from this field may trigger refinement regardless of where it is found in the query string. If '', a value from this field must be the first token(s) in the query string. If N.A., automatic query refinement is not available for this field by default. All fields that have a faceted filter (default or configurable) can also be configured for automatic query refinement; see also Update a content source, Get a content source’s automatic query refinement details and Customizing filters.
Display name Field name Faceted filter Automatic query refinement preceding phrases





















Created by



[creator is, created by, edited by, modified by]

Last updated




Updated by



[edited by, updated by, modified by]

Drive owner




Media type