Before Beginning

To access your O365 SharePoint Online environment you have two options:

  • Create a user account with sufficient privileges to access the required sites.
  • Use an Azure AD Application with enough permissions to access your O365 SharePoint Online. 

User Account

One option for crawling SharePoint Online is to have a user account. The user login name and password for this account will be required below in case you want to use this method.

The recommended name for this account is "aspire_crawl_account". See Prerequisites section for more details.

Set SharePoint Access Rights

"aspire_crawl_account" will need to have sufficient access rights to read all of the documents in SharePoint Online that you wish to process. See User Account Requirements for details on what rights will be required for the account in SharePoint.

To set the rights for your account at Web Application level, do the following:

  1. Open the Office 365 administration site (
  2. Go to Admin → Admin Centers -> SharePoint.
  3. Select the site collection that you want to crawl.
  4. Click on Owners -> Manage Administrators.
  5. Add the aspire crawl account to the "Site Collection Administrators" list.
  6. Click on "Ok".

Azure AD Application

Another option is to set up a Azure AD Application, so it uses a certificate to get an access token and then use the SharePoint Online Rest API. To set this up see Azure AD Access for SharePoint Online.

Step 1. Launch Aspire and open the Content Source Management Page

Launch Aspire (if it's not already running). See:

Step 2. Add a new SharePoint Online Content Source

To specify exactly what shared folder to crawl, we will need to create a new "Content Source".

To create a new content source:

  1. From the Content Source , click on "Add Source" button.
  2. Click on "SharePoint Online Connector".

Step 2a. Specify Basic Information

In the "General" tab in the Content Source Configuration window, specify basic information for the content source:

  1. Enter a content source name in the "Name" field. 
    1. This is any useful name which you decide is a good name for the source. It will be displayed in the content source page, in error messages, etc.
  2. Click on the Scheduled pulldown list and select one of the following: Manually, PeriodicallyDaily, Weekly or Advanced.
    1. Aspire can automatically schedule content sources to be crawled on a set schedule, such as once a day, several times a week, or periodically (every N minutes or hours).For the purposes of this tutorial, you may want to select Manually and then set up a regular crawling schedule later.
  3. Click on the Action pulldown list to select one of the following: Start, StopPause, or Resume.
    1. This is the action that will be performed for that specific schedule.
  4. Click on the Crawl pulldown list and select one of the following: Incremental, FullReal Time, or Cache Groups.
    1. This will be the type of crawl to execute for that specific schedule.

After selecting a Scheduled, specify the details, if applicable:

  • Manually: No additional options.
  • Periodically: Specify the "Run every:" options by entering the number of "hours" and "minutes."
  • Daily: Specify the "Start time:" by clicking on the hours and minutes drop-down lists and selecting options.
  • Weekly: Specify the "Start time:" by clicking on the hours and minutes drop-down lists and selecting options, then clicking on the day checkboxes to specify days of the week to run the crawl.
  • Advanced: Enter a custom CRON Expression (e.g. 0 0 0 ? * *)


You can add more schedules by clicking in the Add New option, and rearrange the order of the schedules.
If you want to disable the content source just unselect the the "Enable" checkbox. This is useful if the folder will be under maintenance and no crawls are wanted during that period of time.
Real Time and Cache Groups crawl will be available depending of the connector.


Step 2b. Specify the Connector Information

In the "Connector" tab, specify the connection information to crawl SharePoint Online.

  1. Enter the SharePoint URL you want to crawl.
  2. Enter the account info for the crawl user (username and password) or select Use Azure Authentication to configure the Client Id, tenant, certificate and private key.
  3. Check on the other options as needed:
    1. Add Site Collections: Add other site collections urls to the crawl. If the main url is a Web Application it'll only crawl the default site collection.
    2. Scan Recursively: Scan through container's child nodes.
    3. Index Containers: index sites, lists and folders. If unchecked, only list items and attachments will be indexed.
    4. Crawl Attachments: crawl list item attachments. (e.g. Documents attached to an Event or a Task).
    5. Include/Exclude patterns: Enter regex patterns to include or exclude items.

Regarding Urls

It should not be the URL to a form or document, but the actual URL to the SharePoint object. For example instead of it should be

In this version of the Aspire SharePoint Online Connector, the URL must be one of the following:

  • A SharePoint site collection
  • A SharePoint Site
  • A SharePoint List

For additional information on the connector's specific properties see SharePoint Online Configuration.

Step 2c. Specify Workflow Information

In the "Workflow" tab, specify the workflow steps for the jobs that come out of the crawl. Drag and drop rules to determine which steps should an item follow after being crawled. This rules could be where to publish the document or transformations needed on the data before sending it to a search engine. See Workflow for more information.

  1. For the purpose of this tutorial, drag and drop the Publish To File rule found under the Publishers tab to the onPublish Workflow tree.
    1. Specify a Name and Description for the Publisher.
    2. Click Add.

After completing this steps click on the Save then Done and you'll be sent back to the Home Page.

Step 3: Initiate a Full Crawl

Now that the content source is set up, the crawl can be initiated.

  1. Click on the crawl type option to set it as "Full" (is set as "Incremental" by default and the first time it'll work like a full crawl. After the first crawl, set it to "Incremental" to crawl for any changes done in the repository).
  2. Click on the Start button.

During the Crawl

During the crawl, you can do the following:
  • Click on the "Refresh" button on the Content Sources page to view the latest status of the crawl.

    The status will show RUNNING while the crawl is going, and CRAWLED when it is finished.

  • Click on "Complete" to view the number of documents crawled so far, the number of documents submitted, and the number of documents with errors.

If there are errors, you will get a clickable "Error" flag that will take you to a detailed error message page.

Step 4: Initiate an Incremental Crawl

If you only want to process content updates from the SharePoint Online (documents which are added, modified, or removed), then click on the "Incremental" button instead of the "Full" button. The SharePoint Online connector will automatically identify only changes which have occurred since the last crawl.

If this is the first time that the connector has crawled, the action of the "Incremental" button depends on the exact method of change discovery. It may perform the same action as a "Full" crawl crawling everything, or it may not crawl anything. Thereafter, the Incremental button will only crawl updates.

Statistics are reset for every crawl.

Group Expansion 

Group expansion configuration is done on the "Advanced Connector Properties" of the Connector tab.

  1. Click on the Advanced Configuration checkbox to enable the advanced properties section.
  2. Scroll down to Group Expansion and click the checkbox.
  3. Add a new source for each sharepoint site collection you want to expand groups from (you'll need administrator rights on all of them to be able to do this).
  4. Set the group prefix separatior. This is used on SharePoint groups. The name is built with the encoded url of the site collection it belongs to, the group prefix separator and the actual SharePoint group name. For GSA users, the following characters should not be used: '@','/','\','#'; the character '|' is recommended.
  5. Set the domain, user name and password of the crawl account.
  6. Set an schedule for group expansion refresh and cleanup.
  7. As an optional setting click on the "Use external Group Expansion" checkbox to select an LDAP Cache component for LDAP group expansion. See more info on the LDAP Cache component on LDAP Cache.
  8. To get information on group members from Azure AD, select an Azure AD Group Expander component in the "Use external Group Expansion" section. For more info on this component check Azure AD Group Expander.