Add an SAP source

An SAP source allows you to crawl content from SAP Commerce Cloud.

When creating your source, you must provide a JSON configuration instructing Coveo to retrieve items from the SAP services and their respective resource endpoints. This configuration indicates which API calls to execute to fetch the desired items, how to parse the responses to extract relevant metadata, and which content type these items represent.

When working on your SAP source, you may also want to refer to the following articles:

Leading practice

The number of items that a source processes per hour (crawling speed) depends on various factors, such as network bandwidth and source configuration. See About crawling speed for information on what can impact crawling speed, as well as possible solutions.

Source key characteristics

Features Supported Additional information

Content update operations



For each endpoint you define in your source configuration, you can provide a refresh endpoint to override the initial endpoint. When you do so, the connector can add, update, or delete specific items in the index instead of refreshing the entire repository. However, the following limitations currently apply:

  • Only refresh queries using the date of the last refresh operation can be made. Tokens can’t be used.

  • A sub-item can’t be refreshed if its parent item isn’t detected as modified.



Takes place every day by default.



Content security options

Same users and groups as in your current permission system


If you’d like to enable this option, contact Coveo Support.

If your source configuration includes the PermissionType parameter, you must provide a JSON configuration detailing how to extract the relationships of the indexed permissions.

Source creator




SAP source commerce requirements

Behind the scenes, the SAP source uses the Stream API to push content to the Coveo index. Therefore, SAP sources must be associated with a commerce catalog to ensure a complete configuration. This allows the source to accurately build a product vector space.

For instructions on how to create a commerce catalog, see Commerce catalog.

Add an SAP source

Follow the instructions below to add an SAP source using the desired content retrieval method.

  1. On the Sources (platform-ca | platform-eu | platform-au) page, click Add source.

  2. In the Add a source of content panel, click the Cloud (cloud-icon) or Crawling Module (crawlingmodule) tab, depending on your content retrieval context.


    With the latter, you must install the Coveo Crawling Module to retrieve your content.

  3. Click the SAP tile.

  4. Configure your source.

The completion steps are especially important when creating or editing a source of this type.

Leading practice

It’s best to create or edit your source in your sandbox organization first. Once you’ve confirmed that it indexes the desired content, you can copy your source configuration to your production organization, either with a snapshot or manually.

See About non-production organizations for more information and best practices regarding sandbox organizations.

"Configuration" tab

In the Edit an SAP Source panel, the Configuration tab is selected by default. It contains your source’s general and authentication information, as well as other parameters.

General information

Source name

Enter a name for your source.

Leading practice

A source name can’t be modified once it’s saved, therefore be sure to use a short and descriptive name, using letters, numbers, hyphens (-), and underscores (_). Avoid spaces and other special characters.

Optical character recognition (OCR)

If you want Coveo to extract text from image files or PDF files containing images, enable the appropriate option.

The extracted text is processed as item data, meaning that it’s fully searchable and will appear in the item Quick view. See Enable optical character recognition for details on this feature.

"Authentication" section

In the Authentication section, all parameters are optional. Fill the appropriate boxes depending on the authentication type used by the SAP Commerce Cloud instance.

  • If your SAP Commerce uses a HTTP, Basic, Kerberos, or NTLM authentication protocol, enter the Username and Password of the account with which you want to crawl the source. This fills the username and password fields in your source JSON configuration. The account of which you enter the credentials must have access to all the content that you want to make searchable. See Source Credentials Leading Practices.

  • If your source uses the OAuth 2.0 authentication protocol, enter your content source Client ID, Client secret and Refresh token in the corresponding boxes.

  • If your source uses an API key to authenticate, enter it in the API key box.

  • If your source doesn’t require authentication, leave all boxes empty.

"Content to include" section

In the JSON configuration box, enter your source JSON configuration.

For more information on the SAP source JSON configuration, see:

"Content security" tab

Select who will be able to access the source items through a Coveo-powered search interface. For details on this parameter, see Content security.


If, while writing your source JSON configuration, you chose to index content access permissions and used the PermissionType parameter, you must select the Same users and groups as in your current permission system option and provide a JSON permission configuration detailing how to retrieve the relationships of each security identity and how to index this data.

"Access" tab

In the Access tab, set whether each group (and API key, if applicable) in your Coveo organization can view or edit the current source.

For example, when creating a new source, you could decide that members of Group A can edit its configuration while Group B can only view it.

See Custom access level for more information.


  1. Click Add Source/Save to add/save your source configuration.

  2. While writing your JSON configuration, you may have decided to populate fields that aren’t default fields. If you have not already created these fields for another source, you must create them in the Fields (platform-ca | platform-eu | platform-au) page before building your source.

    • You decided to retrieve picture URIs and to have Coveo populate the pictureuri field with this data. Your item metadata therefore contains:

        "pictureuri": "%[picture.uri]"

      However, since the pictureuri field isn’t a default field like author or date, you must create it.

    • You have another source populating the custom field facebookaccountid. When creating your new source, you therefore don’t need to create this field, as it’s already in the Fields (platform-ca | platform-eu | platform-au) page.

  3. Ensure that your source correctly maps all the fields to populate. If a field doesn’t have a mapping, you must create one.


    You map the pictureuri field with the following rule: %[pictureuri].

  4. On the Sources (platform-ca | platform-eu | platform-au) page, you must click Launch build or Launch rebuild in the source Status column to add the source content or to make your changes effective, respectively.

Required privileges

You can assign privileges to allow access to specific tools in the Coveo Administration Console. The following table indicates the privileges required to view or edit elements of the Sources (platform-ca | platform-eu | platform-au) page and associated panels. See Manage privileges and Privilege reference for more information.


The Edit all privilege isn’t required to create sources. When granting privileges for the Sources domain, you can grant a group or API key the View all or Custom access level, instead of Edit all, and then select the Can Create checkbox to allow users to create sources. See Can Create ability dependence for more information.

Actions Service Domain Required access level

View sources, view source update schedules, and subscribe to source notifications







Edit sources, edit source update schedules, and view the View and map metadata subpage






Source metadata




Ignoring "no first page" errors in subitems

When indexing your content, Coveo may encounter an HTTP error. By default, Coveo stops the crawling process when it encounters such an error.

However, you can configure your source to ignore specific errors and continue indexing.

Similarly, when requesting subitems from your API, Coveo will stop the indexing process if your API returns a 404 error rather than the first page of results. A 404 error on the first page prevents Coveo from indexing any of your subitems, as the missing first page contains the information needed to request the second page, such as a cursor or the URL of the next page.

However, you can configure your source to ignore this error and continue indexing. It will therefore finish indexing the other items of the same endpoint, including their subitems if the API returns valid result pages. Then, your source will move on to any other endpoint you’ve defined.

To ignore "no first page" errors in subitems

  1. On the Sources (platform-ca | platform-eu | platform-au), select your source, and then, in the More menu, click Edit JSON.

  2. In your source JSON configuration, in the parameters object, add the following:

    "SkipNoFirstPageErrorsInSubItems": {
      "value": "true"
  3. Click Save and rebuild source.

This parameter applies to all subitem requests made by your source.

What’s next?