Coveo Search Integration with Simpplr

With this integration, you're able to leverage your Coveo search results within Simpplr. Note your org must already have an existing Coveo account before completing the steps below. You must also be your org's Simpplr System admin user on the Service Account login credentials, as well as have admin privileges in Coveo.

Because of the technical complexity in setting up this integration, we recommend having Salesforce developer console knowledge before completing the setup. However, we also recognize many customers will not have this knowledge already. Therefore, feel free to file a ticket with Simpplr Support, and our engineers will integrate Coveo Search with your Simpplr instance. Once integrated, all ongoing intranet changes will be synced to the Coveo repository, and the Simpplr native global search will be replaced by Coveo’s search

Table of Contents


Get the credentials from the Coveo administration console

Enabling the Coveo Search in Salesforce

Configure the Salesforce connector for Simpplr’s data in Coveo

Set up the autosuggestion ML model & query pipeline

Switch between the default Simpplr Search and Coveo Search



Please note that only Global search will be powered by Coveo Search. All of Simpplr's role-based access permissions will be synced with Coveo, so users will only receive search results they have access to.mceclip0.png


  • Coveo console access

  • Salesforce Service Account access

Get the credentials from the Coveo administration console

  1. From Coveo, navigate to the Organization tab on the left, then Settings > Organization. Locate the Organization ID and copy it. Paste it somewhere you'll have easy access to. We'll use it shortly.
    Coveo 1.png

  2. From the Organization tab on the left, navigate to API Keys > Add key.Coveo 2.png

  3. Upon clicking, a modal will appear. Name the key in the Configuration tab. Then in the Privileges tab, in the Preset dropdown, select Search. In the Limit the API Key Scope section, inputSimpplrGlobalSearchHub (create one if it does not already exist). Then select Add key.
    Coveo 4.png

  4. Here is what the success message looks like with the API Key. Copy it and paste it along with the Organization ID you pasted earlier. Share both the Org ID and API Key with the developer. This will be utilized to create search tokens from Simpplr’s Coveo interface.
    Coveo 5.png

Enabling the Coveo Search in Simpplr

For these next steps, you'll need to log in to the Salesforce environment your intranet is built on with the Service Account credentials.

  1. From the Salesforce home page, head to the Setup (gear) icon in the top right, then click Developer Console.
    Coveo open dev console.gif

  2. From the Query Editor tab, execute the following query to replace default search with Coveo.

    Select Id, Simpplr__Global_Search_Provider__c from Simpplr__App_Config__c
    Coveo 7.png


If there are any cloud sources connected to the Coveo account, the data will be visible to Simpplr's Coveo interface.

Alternatively, a "web connector/source" can be rapidly established for prompt indexing and display of publicly accessible data on the interface.
In the next step, eventually, we will be setting up Salesforce connector/cloud source to index the intranet’s data to Coveo.

Configure the Salesforce connector for Simpplr’s data in Coveo

  1. Back in Coveo, head to the Content tab > Sources, then select Salesforce from the list of connector sources.
    Coveo 8.png

  2. Depending on the configuration, choose Sandbox or Production.
    Coveo 9.png

  3. Upon successful authentication, a modal interface is presented to facilitate the selection of Salesforce objects that will be incorporated into the index. Currently Simpplr supports a total of six (6) objects.
    Simpplr People
    Simpplr Site
    Simpplr Content
    Feed Item
    Feed Comment
    Coveo 10.png

  4. In regards to relational fields, since they are not provided by default, we will need to manually choose them.
    Simpplr Site -> Site Category -> Simpplr__Name__c
    Simpplr Content -> Primary author -> Simpplr__Full_Name__c
    Simpplr Content -> Site -> Simpplr_Name__c
    Simpplr Content -> Site -> Simpplr__Is_Active__c
    Simpplr Content -> Site -> Simpplr__Is_Deleted__c
    Feed Item -> Parent -> Simpplr__SiteName__c
    Feed Item -> Inserted By -> Name
    Feed Item -> Created By -> Name
    Feed Comment -> Inserted By -> Name

  5. Navigate to Sources > Fields > Search to input the following fields, making them searchable.
    Coveo 11.png

  6. Similarly, search for the following field:
    In the Edit field option, check the box next to Facet.
    Coveo 12.png


  7. Back in the Source menu where you chose Salesforce as the connector source, make sure to update the following JSON by navigating to Edit JSON.

"ObjectsToIndexContentVersionFor": {   "sensitive": false,   "value": "Simpplr__People__c;Simpplr__Simpplr_Content__c;Simpplr__Simpplr_Site__c;User" }


Set up the autosuggestion ML model & query pipeline

Query pipeline makes it is easy to fine-tune, customize, filter and modify relevancy of search results.

  1. In Coveo, navigate to Machine Learning > Models and select Query Suggestions.Coveo 15.png
    Coveo 14.png

  2. Navigate to Query Pipelines and choose default pipeline (you could also associate to an existing one or create new one).

  3. Associate the autosuggestion ML model to the query pipeline.
    Coveo 16.png
    Coveo 17.png

  4. Add a filter rule to filter out inactive and deleted content from the search results. To do so,

    navigate to Query Pipeline > Advanced > Filters > Add. Copy and paste the following strings into the query field.

    NOT @sfsimpplr__is_active__c==false
    NOT @sfsimpplr__is_deleted__c==true
    NOT @sfsimpplr__is_unpublished__c==true
    NOT @sfsimpplr__site__rsimpplr__is_deleted__c==true
    NOT @sfsimpplr__site__rsimpplr__is_active__c==false
    Coveo 18.png

Switch between the default Simpplr Search and Coveo Search

Disabling/switching to default search is easy. Back in the Salesforce Developer Console, remove the Coveo value from Simpplr__Global_Search_Provider__c column.
Coveo 19.png

Our default data ingestion pipelines ensure constant synchronization of data with ElasticSearch. This guarantees uninterrupted functioning of the default search even when transitioning from Coveo.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request



Please sign in to leave a comment.

Articles in this section