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

Features


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.
  • 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 element types.
  • Group Expansion support for standard groups.

Retrieved Content


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

Included

  • Accounts
  • Campaigns
  • Cases
  • Contacts
  • Contracts
  • Documents
  • Groups
    • These are not the Salesforce chatter groups, but the Salesforce user groups and roles stored in the groups table.
    • The groups can be checked in the UI: in the groups page for groups, and in the roles page for the user roles.
  • Ideas
  • Leads
  • Opportunitys
  • Partners
  • Pricebooks
  • Products
  • Profiles
  • Solutions
  • Tasks
  • Users
  • Knowledge Articles
    • Draft Articles
    • Published Articles
    • Archived Articles
  • Attachments
    • These will be extracted from the other object types crawled.
    • For example, if only the opportunities are crawled, the attachments associated with them, those will be crawled, but attachments from 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:

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

Then only those fields will be extracted and added as the metadata of the Lead objects. 

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

Limitations


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

  • We are using the getUpdated and getDeleted method from the 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 a Salesforce item is not working.
  • For incremental crawling of Salesforce task items, we are only supporting tasks based on accounts.
  • If removal of a sharing occurs for an item (e.g., removing sharing of an account), this 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. Salesforce  Compatibility limitation

Every 3 months, Salesforce releases a new version of their API, and they sometimes introduce changes to the data structures. In this case, the compatibility between the connector and Salesforce might break. 




  • No labels