- Amazon S3 Source
- Box Business Source
- Catalog Source
- Confluence Cloud Source
- Confluence Server Source
- Database Source
- Dropbox Business Source
- Exchange Enterprise Source
- File System Source
- Generic REST API Source
- Gmail for Work Source
- Google Drive for Work Source
- Jira Software Cloud Source
- Jira Software Server Source
- Jive Cloud Source
- Jive Server Source
- Khoros Community Source
- Microsoft Dynamics 365 Source
- OneDrive for Business Source
- Push Source
- RSS Source
- Salesforce Source
- ServiceNow Source
- SharePoint Online Source
- SharePoint Online Legacy Source
- SharePoint Server Source
- Sitecore Source
- Sitemap Source
- Slack Source
- Twitter Source
- Web Source
- YouTube Source
- Zendesk Source
- Connector Building Best Practices
Add or Edit a Generic REST API Source
The Coveo Platform has dedicated connectors for many web and on-premises systems, therefore allowing you to quickly make application content searchable (see Connector Directory). However, there may be applications of which you want to include the content in Coveo Cloud, but for which there’s no dedicated connector. In such a case, members of the Administrators and Content Managers built-in groups can use a Generic REST API source to retrieve and make the desired content searchable in Coveo Cloud.
A Generic REST API source allows you to crawl content from a remote repository exposing its data through a REST API. When creating your source, you must provide a JSON REST configuration instructing Coveo Cloud to retrieve items from the repository REST services and their respective resource endpoints (see Concepts, Reference, JSON Configuration Examples, and Tutorial). 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.
You have valuable content in an on-premises content management system (CMS) developed in-house. One of your developers can create a crawler to get this content and push it to your Coveo organization.
Source Key Characteristics
|Content update operations||Refresh||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:
|Rescan||Takes place every day by default.|
|Content security options||Determined by source permissions||You can define permissions in the source JSON configuration at the service or endpoint level. However, this source allows for only one security identity provider. All members specified in the
You can also define permissions at the source level, but the same security identity provider restriction applies.
Add or Edit a Generic REST API Source
On the Add/Edit a Generic REST API Source subpage, the Configuration tab is selected by default. It contains your source’s general and authentication information, as well as other parameters.
Enter a name for your source.
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.
Character Optical Recognition (OCR)
If you want Coveo Cloud to extract text from image files or PDF files containing images, check the appropriate box. OCR-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.
When adding a source, if you have more than one logical (non-Elasticsearch) index in your organization, select the index in which the retrieved content will be stored (see Leverage Many Coveo Indexes). If your organization only has one index, this drop-down menu isn’t visible and you have no decision to make.
In the Authentication section, all parameters are optional. Fill the appropriate boxes depending on the authentication type used by the source you want to make searchable.
If your source 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
passwordfields 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 Generic REST API source JSON configuration, see:
“Content Security” Tab
In the Access tab, determine whether each group and API key can view or edit the source configuration (see Resource Access):
In the Access Level column, select View or Edit for each available group.
On the left-hand side of the tab, if available, click Groups or API Keys to switch lists.
Click Add Source/Save to add/save your source configuration.
While writing your JSON configuration, you may have decided to populate fields that aren’t Coveo Cloud default fields. If you have not already created these fields for another source, you must create them in the Fields page before building your source.
You decided to retrieve picture URIs and to have Coveo Cloud populate the
pictureurifield with this data. Your item metadata therefore contains:
However, since the
pictureurifield isn’t a default field like
date, you must create it.
You have another Generic REST API 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 page.
Ensure that your source maps correctly all the fields to populate. If a field doesn’t have a mapping, you must create one.
You map the
pictureurifield with the following rule:
On the Sources page, you must click Launch build or Start required rebuild in the source Status column to add the source content or to make your changes effective, respectively.