LinkedIn

Integration Using Salesforce Connect - Part 3 - Considerations

 In the previous 2 posts, we saw how we can use different adaptors to access and display data from an external system using Salesforce connect. Let us see some additional considerations on, when we can select Salesforce Connect as an integration Option.

Usually when we need to frequently display or modify data from an external system in Salesforce, but you don't want to store that in Salesforce, Salesforce connect is a good Integration option. But consider the below factors before you make your Integration option as Salesforce Connect.


1. Salesforce Connect - License Considerations

Salesforce Connect is an Add-on license. Based on the Salesforce documentation, if we purchase 1 license the usage is like below:


That means:

  • You can use one license in 1 org only
  • If you want to connect to a different non-salesforce data source, you need to purchase an additional license
  • You can connect up to 5 different Salesforce org using a single license

2. Salesforce Connect - Rate Limits


3. Handling High Data Volume

If we need to skip the rate limits mentioned above for large data volumes, we can choose high data volume option while creating External Data Source.

But when we enable High Data Volume option - Some Salesforce Connect features will not be working as mentioned below:

  • Access via Lightning Experience
  • Access via Mobile experience
  • Reports and Dashboards
  • Writable External Objects
  • Recent Items availability
  • Record Feeds
  • Salesforce Classic console
That means you can use External objects in Classic view only if High Data volume is enabled.

4. Controlling Record Visibility

Cross Org Adaptor - Subscriber org fetches all data from the source org, where the user used for setting up authentication has access. We cannot control record visibility through OWD or through sharing.

OData Adaptor - At profile level we will be giving Read/Edit/Delete permission and if a user has Read permission to an External object, he will be able to see all records as part of External Object. We will not be able to control record visibility.

If we want to restrict record visibility on specific criteria - Then Salesforce connect is not a good option.

5. Customization Feasibility on External Objects

There are many features/customizations which are not supported for External Objects. Let us see those list below:


6. SOSL and SOQL Limits

  • External object search displays only the top 25 records
  • Search is supported only in Text, Text area fields
  • External Objects don't support the below operators:
    • INCLUDES
    • LIKE
    • EXCLUDES
    • toLabel()
  • External Objects don't support below in SOQL
    • AVG
    • COUNT()
    • HAVING
    • GROUP BY
    • MAX()
    • MIN()
    • SUM()
7. Sync Considerations

When we perform sync and validate on an already synched external object, it will override all fields. So if you have performed some label changes or some other changes, on synched fields, you will lose those. To avoid this, better we create our own external object referring the actual external object, so that changes will not get overrided.

References
https://help.salesforce.com/articleView?id=odata_general_limits.htm&type=5
https://help.salesforce.com/articleView?id=platform_connect_considerations.htm&type=5

Comments

Popular posts from this blog

Subscribing to Salesforce Platform Events using External Java Client - CometD

Salesforce Security - Restriction Rules and Scoping Rules

How to develop reusable Invocable Apex methods for Flows