Use Salesforce As a Content Source
SearchUnify can index the data stored in your org, including on Service Cloud, Sales Cloud, and Community Cloud. You can choose to index all the objects and make them searchable for quick reference. Or, you can limit indexing to select objects and fields. For instance, for the case object, you can index both private and public comments on a case, case subjects, and case priority. This article shows how to set up your Salesforce org for indexing.
- Salesforce Platform license.
- Knowledge User license if you are attempting to index articles
- Right set of permissions; see the Permissions Chart for details
|Call Salesforce APIs by making a user an API user.
|View Setup and Configuration
|Crawl Salesforce permissions or access control settings.
|View All Data
|Index feed items.
1. Used only when the goal is to index feed items.
|Manage Data Categories
|Index data categories.
1. Preferred: In Default Visibility Settings, select the default visibility for the categories in Category Group Visibility to All Categories.
2. Acceptable: If Category Group Visibility is set to Custom, then before sharing with us, assign the user the role, permission sets, and profile needed to index data categories.
|General User Permissions
|Index article drafts.
1. Used when the goal is to index articles and drafts.
|Standard Object Permissions
|Index only the objects with the Read permission.
|Article Type Permissions
Index only the articles with the Read permission
Index navigational topics on a community.
1. Before sharing the user, ensure that its profile is a member of the community.
Establish a Connection
- Navigate to Content Sources.
- Click Add New Content Source.
- Find Salesforce from the search box and click Add.
- Give your content source a name.
- Select Sandbox or Production in Client URL. Your selection will decide if SearchUnify indexes the data in your sandbox or production.
- Select the content language. If your Knowledge Base hosts articles in more than one language, then specify them all in Language. That will allow SearchUnify to index your content in all supported languages. After making a selection, click Connect.
- If you are already logged into Salesforce in another tab, you will be greeted by a "Connection Succeeded" message. Click next.
It's important to establish a connection again when the user who did it the first time is deleted from the Salesforce org. Establishing a connection isn't necessary when all that has changed is the user's password on Salesforce.
Set Up Crawl Frequency
The first crawl is always manual and is performed after configuring the content source. For now, keep the frequency to its default value Never and click Set and move to the next section.
Select Content Fields for Indexing
Administrators can crawl specific objects in "Appinium for Learning" (formerly ViewTrack) and "Appinium for Media" (LearnTrac), adhering to permissions set by Media-sharing rules in Appinium. This ensures data visibility is limited to designated users. In the Appinium for Learning app, permissions are set at the document level, requiring a manual crawl after any permission changes
- You can decide which object fields are indexed. SearchUnify supports standard and custom object fields. To select an object, enter its Object API name. The list of valid object API names can be found in the second column of Object Manager. (Log into Salesforce to view.)
SearchUnify supports the indexing of record fields as well. You might want to crawl them if your knowledge base is hosted on a Salesforce org.
To index article drafts, use enter
knowledge__kav_draftin the Object API field.
In order to crawl the
feeditemobject, add a
network scopecondition first.
When adding fields, you can try adding new objects instead. A big advantage of object crawl is that it's safer. When an object crawl fails, the overall index isn't impacted.
- Add Object will become clickable if the name API name is valid. Otherwise you will receive a warning.
- After entering a valid API name, enter a label and click Add Object. If you cannot add an object, then verify the object name. Misspelled and downright wrong object names throw an error. Users cannot add objects in three other scenarios: (a) when they don't have access to in Salesforce, (b) when the credentials used to authenticate their org in SearchUnify have expired, and (c) when SearchUnify APIs are down.
- After adding the objects, the next task is to select object fields (content fields) for indexing. Click to select a content field.
- Add properties—such as createdDate and accountDescription—one at a time. You can change a property's label and type. It's important to note here than when a crawled field is deleted from Salesforce, then crawling cannot take place. Each time SearchUnify tries to update the index, an error shows up. If you haven't been able to crawl Salesforce for some time, then tally the indexed fields of each object in SearchUnify with the fields in your Salesforce org.
- Repeat the previous step with all the objects and press Save.
You have successfully added Salesforce as a content source. Now return to Content Sources and crawl Salesforce. If the first crawl was successful, then you can return to Rules and configure Manage Conditions which has been documented in Manage Conditions in Salesforce Content Source. Configuring it entirely optional.
After the First Crawl
Return to the Content Sources screen and click in Actions. The number of indexed documents is updated after the crawl is complete. You can view crawl progress in in Actions. Documentation on crawl progress is in View Crawl Logs.
Review the settings in Rules if there is no progress in Crawl Logs.
For Mamba '22 and newer instances, search isn't impacted during a crawl. However, in older instances, some documents remain inaccessible while a crawl is going on.
Once the first crawl is complete, click in Actions open the content source for editing, and set a crawl frequency.
- In Choose a Date, click to fire up a calendar and select a date. Only the data after the selected date is indexed.
- Use the Frequency dropdown to select how often SearchUnify should index the data. For illustration, the frequency has been set to Weekly and Tuesday has been chosen as the crawling day. Whenever the Frequency is other than Never, a third dropdown appears where you can specify the interval. Also, whenever Frequency is set to Hourly, then manual crawls are disabled.
- Click Set to save crawl frequency settings. On clicking Set, you are taken to the Rules tab.
A crawl usually fails for six reasons: (1) Salesforce APIs are down, (2) the authenticated user has been deleted from Salesforce, (3) the authenticated user doesn't have access to the object or field he is trying to crawl, (4) the credentials used to connect Salesforce with SearchUnify have expired, (5) a custom field has been removed from SearchUnify, and (6) there is an error in the formula in Manage Fields.
Manage Archived Articles
Archived articles are automatically removed from the SU index if the archiving rate is less than 200 articles per hour. However, if the archiving rate in your org exceeds that limit and you don't want the archived articles to be searchable, place a request with your CSM to delete the extraneous articles.
Files in Salesforce are stored in an object named contentdocument. The files can be linked to objects, such as case, knowledge, and feeds. You can turn your files searchable in two ways.
In the first method, the files appear as independent search results. End-users can see sample-file.pdf and sample-file.doc in results after searching sample-file.
In the second method, the files don't appear in results but the object they are attached with turn up in results. On searching sample-file, end-users find only sample-object to which sample-file.pdf and sample-file.doc are attached. Then, they can open the object and download the file.
Crawl the files as a separate object (contentdocument) to adopt the first method.
In Salesforce knowledge, when
Category_nested field is crawled, you get an option to configure crawl depth through Number of Levels in Data Category Group Hierarchy in the Facets column of Search Clients > Edit > Content Sources.
You can select a value between 1 and 5 in Number of Levels in Data Category Group Hierarchy has a value. The selected value is used and shown on the checked facet on a search client.
Data Deletion and SU Index
SearchUnify periodically cleans its index to ensure that users can easily locate content relevant to their roles.
Archived articles are routinely removed from the index to prevent them from appearing in search results. Conversely, when a draft article is published, its status is updated within the index, making it accessible to all users.
Draft articles: Occasionally, the status of a published article may revert to "draft". This change is promptly reflected in the index, and the affected draft article becomes searchable only within the organization.
New articles: Index cleaning is an independent process that operates separately from frequency crawls. When new articles are added to the Knowledge base, they are incorporated into the index during frequency crawls.
Object-Specific Behavior Summary
Cases: For cases that haven't been modified since the last crawl, updates made to the "casefeeds" and "record type" objects won't be reflected in the frequency crawl results.
Groups: When a group is archived or deleted, both group data and feed items associated with the group are removed from the index during the frequency crawl.
Feedback: Due to an API limitation in Salesforce, archived feedback cannot be deleted from the index. Consequently, users may encounter archived feedback that has already been removed from the org in search results.
Knowledge: Except for Knowledge objects, data deleted from the Salesforce org is purged from the SearchUnify index within three years.
Last updated: Tuesday, February 6, 2024
Or, send us your review at email@example.com