Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Salesforce connector will crawl content from any Salesforce Summer '23 (version 57). The connector will retrieve the supported elements using the REST API.

Panel

Easy Heading Free
navigationTitleOn this Page
wrapNavigationTexttrue
navigationExpandOptionexpand-all-by-default

Features


ServiceNow Salesforce connector features:

  • Support for Salesforce Knowledge Base
  • Ability to perform either full or incremental crawling (so that only new/updated documents are indexed)
  • Metadata extraction
  • Is search engine independent
  • Runs from any machine with access to the given community
  • Fetches Access Control Lists (ACLs) for normal object types
  • Custom metadata retrieval (Using SOQL)
  • Selectable elements types
  • Group Expansion support for standard groups
  • Retrieval of supported elements using the RESTful API.
  • Basic authentication.

Retrieved Content

Currently, the ServiceNow connector retrieves the following types of documents:

  • Knowledge Articles and Attachments
  • Catalog Items and Attachments

Table Usage

Knowledge Content

To retrieve Knowledge content, the connector accesses the tables:

  • kb_knowledge: Table with the Knowledge Articles.
  • kb_category: Table with the details of the article’s category.
  • kb_knowledge_base: Table for the Knowledge Base information.
  • sys_attachment: Table to extract attachments.
  • sys_attachment_doc: Table to extract attachments.
  • kb_uc_cannot_read_mtom: Table to relate Cannot Read user criteria and Knowledge Bases.
  • kb_uc_can_read_mtom: Table to relate Can Read user criteria and Knowledge Bases.
  • kb_uc_can_contribute_mtom: Table to relate Can Contribute user criteria and Knowledge Bases.
  • sys_user_role: Table to extract the Public role sys id.
  • user_criteria: Table of user criteria.
  • sys_user: Table with the detail of users (Used for author details).

The roles needed to access these tables are: Knowledge, Knowledge_Admin and User_Admin or Itil.

Catalog Content

To retrieve Catalog Items’ content, the connector accesses the tables:

  • sc_cat_item: Table with the Catalog Items.
  • sc_category: Table with the details of the Catalog item’s category.
  • sc_catalog: Table with the Catalog of the Catalog Items.
  • sc_cat_item_user_criteria_mtom: Table to relate Available For user criteria and Catalog Items
  • sc_cat_item_user_criteria_no_mtom: Table to relate No Available For user criteria and Catalog Items
  • sys_attachment: Table to extract attachments.
  • sys_attachment_doc: Table to extract attachments.
  • user_criteria: Table of user criteria.

The roles needed to access these tables are: Catalog and User_Admin or Itil.

Identity Extraction

These are the tables required to extract the list of users that can access Knowledge Bases.

  • kb_knowledge_base
  • u_acl_table_users (custom table and depends on a custom web service)

The roles needed to access these tables are: Knowledge_Admin.

Limitations

Due to API limitations, the ServiceNow connector has the following limitations:

For Knowledge Articles 

The connector will crawl active and published articles. 

Depending on the chosen security, there could be additional filtering of articles:

  • Public articles: from the base of active and published articles, the connector allows only public items, which means articles with Public Knowledge Bases. Furthermore, the connector verifies if Can Read or Can Contribute fields are set, but only public user criteria are allowed. Finally, if Cannot Read is set, the item will be ignored.
  • User Criteria: This option does not filter. This type of security will add the Can Read, Cannot Read and Can Contribute user criteria values as ACLs. For these ACLs, a web service is required to extract the list of allowed users to read each user criteria.
  • Knowledge Base: This option does not filter. This type of security will add the sys_id of the Knowledge Base's article value as an ACL. For these ACLs, a web service is required to extract the list of allowed users to read each Knowledge Base.

For Catalog items:

The connector will crawl by default active items with role field empty (there is an option to remove this filter).

Depending on the chosen security, there could be additional filtering of items:

  • Public Catalog items: using the base of active items with empty roles (if checked), the connector will check if Available For field is set. The value should be the public User Criteria. In addition, if No Available For fields is set, the item will be ignored from the crawl.
  • User Criteria: This option does not filter. This type of security will add the Available For or No Available For user criteria values as ACLs. In case there is no UC, the ACL will be Public. For these ACLs, a web service is required to extract the list of allowed users to read each user criteria.

Due to technical constraints on the security model of ServiceNow, the security support for other content should be reviewed on a case by case basis.

Future Development Plans

The following features are not currently implemented, but are on the development plan:

  • Public content from other endpoints using a custom query.

Anything we should add? Please let us know.

...


The Salesforce connector retrieves several types of documents, listed below are the inclusions and exclusions of these documents.

Included

  • Account
  • Campaign
  • Case
  • Contact
  • Contract
  • Docume nt
  • Group
    • These are not the Salesforce chatter groups, but the Salesforces user's groups and roles stored in the groups table inside Salesforce.
    • The groups can be checked in the UI in the groups page for the groups only and the roles page for the users roles
  • Idea
  • Lead
  • Opportunity
  • Partner
  • Pricebook
  • Product
  • Profile
  • Solution
  • Task
  • User
  • Knowledge Article
    • Draft Articles
    • Published Articles
    • Archived Articles
  • Attachment (These will be extracted from the other object types crawled. For example if only the opportunities are crawled and have attachments associated those will be crawled, but the attachments of the other types will be ignored)

Excluded

  • App Launcher
  • Libraries
  • People
  • Macros
  • Dashboard
  • Data.com
  • Duplicate Records Sets
  • Reports
  • Site.com
  • Forecast
  • Streaming channels
  • Subscriptions
  • Any other object not mentioned


Metadata ExtractedTable Usage



The connector receives a file with SOQL queries for each of the object types to crawl. The metadata of the objects types will depend on the specified query for each type. For example if the query for Lead looks like this:


Code Block
SELECT Id, IsDeleted, MasterRecordId, LastName, FirstName, SystemModstamp, Name FROM Lead

Only those fields would be extracted and added as the metadata of the Lead objects. 


Info

Fields like Id and SystemModstamp are mandatory and need to be specified in the queries for each object type to crawl

Limitations


Due to API limitations, the Salesforce connector has the following limitations:

  • We are using the getUpdated and getDeleted method from Salesforce API to perform the incremental request, but when you update an attachment from any item, that action will not be processed by the getUpdated or getDeleted API methods.


There is a daily request limit in Salesforce API. If this occurs, the following error will be displayed.

ERROR [/salesforce001/Main/Scanner]: SalesforceDSConnection.MaximumRetriesExceeded: 

[UnexpectedErrorFault [ApiFault  exceptionCode='REQUEST_LIMIT_EXCEEDED' exceptionMessage='TotalRequests Limit exceeded.'


Please see more information at API rate metering .

2. Security and incremental related limitations

  • In security, we are only supporting 'Supported elements'.
  • For sharing related incremental crawling, unsharing of Salesforce item is not working.
  • For incremental crawling of Salesforce task items, we are only supporting tasks based on accounts.
  • If removal of sharing occurs for a item (e.g., removing sharing of an account), it is not reflected in the incremental crawl.
  • Pricebook sharing ACLs are not supported.
  • We are only supporting Tasks that are based on accounts for incremental crawling.

3. Chatter security

  • Chatter ACLs only will be retrieved if the “Filter TrackedChange feeds” option is checked.
  • Chatter ACLs are only supported for items that were created by a User or a Group, otherwise no ACL will be generated for the item.
  • The public chatter groups will have two ACLs, one for the public group and a PUBLIC:ALL ACL.
  • Private and Unlisted chatter groups will have one ACL for the group.
  • The followers of a chatter user will be treated as a private group called “<username>’s followers”, all the feed items created by a user to their followers will have this ACL.
  • The chatter item attachments will inherit the parent item ACLs.
  • Reducing the users retrieval scope might lead to a loss of ACLs, since no ACLs won’t be generated for followers of users outside the scope of the user retrieval.

4. Salesforce  Compatibility limitation

Every 3 months Salesforce releases a new version of their API and sometimes makes changes to the data structures. After each update there is a possibility that the compatibility between the connector and Salesforce will break.