Skip to main content

Capabilities & Limitations

Introduction

The InCountry managed package provides Salesforce administrators with a convenient interface and powerful underlying toolkit to add multi-country data residency support to Salesforce core cloud deployments. The purpose of this document is to outline the following:

  1. Current Capabilities - a comprehensive list of what the InCountry package can do.

  2. Roadmap Items - a list of features that are currently under development or investigation for inclusion in the package at an upcoming date.

  3. Known Limitations - explanations of known limitations of our package or lost functionality that cannot be addressed with the existing Salesforce/InCountry toolset.

Summary Table

FeaturesCapabilitiesLimitations

Regulated Objects

  • Standard Objects

  • Custom Objects

  • Managed Objects

  • Community User can be regulated if username/password are not PII

  • Other System Objects cannot be regulated

  • External Objects (not in Salesforce)

  • Big Objects not supported

Regulated Object Fields

  • Salesforce record ID and parent/child ID cannot be regulated fields

  • Audit fields (CreatedDate, CreatedBy, etc) cannot be regulated

  • In parent-child relationships, if child object displays regulated data from parent object via formula field, both objects must be regulated.

Flexipages

InCountry package creates List View and Detail Flexipage for default layout of regulated objects

  • Package does not automatically create Flexipages for alternate layouts on regulated objects, this can be done manually through the “Edit Page” function.

  • Only List Views that are shared with All Users can be created by package.

  • Dynamic Forms currently are not supported, roadmap item for Q4 2024.

Buttons, Links, and Actions

  • Actions

  • Aura, LWC, URL

  • no Visualforce support

  • no JavaScript support

Custom Buttons

Can be supported

Not supported

Custom Links

Almost the same as in standard component

 

  • Notes & Attachments are not available

  • The UI is a bit different

 

Custom Actions

Not supported

 

Not supported

 

Search

InCountry custom search component included, regulated fields must be explicitly marked as searchable.

  • Global Search requires Salesforce Connect (Roadmap 2024H2)

  • Limited to 25 searchable fields in the InCountry payload

 

Reports

  • InCountry custom report builder for detailed reports that show record-level regulated data. Should satisfy most LOCAL reporting.

  • Salesforce standard reports for aggregates of regulated records or non-regulated records. Should satisfy most GLOBAL reporting.

  • Display of regulated data in standard reports

  • Auto-generation of existing reports: the report metadata is not sufficient for InCountry to auto-create InCountry versions of reports the way we create flexipages.

  • Primary object of InCountry report must be regulated object (Roadmap item to use non-regulated objects as primary object in InCountry report.)

Dashboards

Salesforce standard dashboards that show non-regulated data and aggregates on regulated data will continue to work as-is. Alternatively, customers can export InCountry data into external tools like Informatica for analysis/visualization in downstream apps: https://incountry.com/integrations/informatica/

 

InCountry Dashboard Builder (similar to InCountry Report Builder) is a Roadmap item.

External Integrations

Full Border documentation here: https://docs.incountry.com/data-residency-as-a-service/requests/

 

Using InCountry Web Service Border Gateway, we support:

  • Standard API

  • Composite API

  • Ingestion API (for Data Cloud)

  • Custom Apex Web Services that accept regulated fields as parameters

In addition, the Salesforce admin can create a border configuration in Salesforce and import it to an InCountry border gateway for compliant ingress of regulated data.

  • Bulk Data Insert (currently under development, target Q1 2024)

  • OOTB Salesforce Connectors

  • Custom Apex Web Services with non-regulated fields as parameters

Web-to-Lead

 

https://docs.incountry.com/salesforce/managing-web-forms/

What doesn’t work?

  • Component available upon request and deployed manually (outside the package)

  • Works by using Border and custom APEX web-service

Limitations:

  • Some llimitations for Lead Auto-Response rules

Web-to-Case

Supported

What doesn’t work?

  • Works by using Border

Limitations:

  • Works with OAuth only

  • Some llimitations for Case Auto-Response rules

Front-end Validations

Objects: https://docs.incountry.com/salesforce/using-frontend-validations/#supported-system-objects

Formulas: https://docs.incountry.com/salesforce/using-frontend-validations/#supported-formula-functions

System Objects currently not supported:

  • CustomMetaData

  • Label

  • ObjectType

  • System

  • Setup

Apex SDK

Full details here: https://docs.incountry.com/salesforce/apex-sdk/

  • Create, Read, Update, Delete on single and multiple records

  • Synchronization of single and multiple records

  • Attaching and deleting files

  • Anonymization of regulated fields in records (i.e. applying hashing/anonymization to records stored in Salesforce)

  • Check if record is regulated

  • Developers can make a future callout to execute InCountry ApexSDK function asynchronously - the response is not immediately returned, so validations cannot be performed afterwards in the same trigger

  • Setting time-to-live on records

  • Valid only for Replicated/Restricted models, not Redacted model (since it is server-side processing).

Component Library: easy to use, less flexible

Other component types not currently supported, please contact sales@incountry.com to request specific component support.

UI API: balanced ease-of-use and flexibility

Supported Methods:

  • getRecord, getRecords

  • createRecord

  • updateRecord

  • deleteRecord

Additional details here: https://docs.incountry.com/salesforce/ui-api-methods/

 

Javascript API: most flexible, but requires most development

Full details of supported methods here:

https://docs.incountry.com/salesforce/javascript-api/

 

Flows

  • Invocable actions calling InCountry Apex SDK to perform CRUD operations (Replicated/Restricted models)

  • Invocable actions calling InCountry Resident functions to perform CRUD operations (Redacted model)

Due to compliance restrictions, Invocable ApexSDK callouts cannot be used in Redacted model since that would cause regulated data export.

Resident Functions

Callable from triggers and flows, supports read, update, and delete

Create record actions not supported, all processing to be performed on existing records only.

Email

Full documentation here: https://docs.incountry.com/salesforce/setting-up-email-to-case/

  • Inbound Email-to-Case with attachments, all fields redacted

  • Outbound emails from InCountry Email LWC

  • Threaded Correspondence in Case

 

Service Console Navigation

Tabbed-pane navigation prototype is completed, additional development required to fully productize the feature (Roadmap Q1 2024).

Based on split-screen view, so not a native equivalent implementation.

CTI

Theoretically possible to have a phone number hyperlink that initiates a call to a 3rd party CTI vendor application that is hosted inside regulated countries.

Salesforce CTI, as that is not hosted inside the regulated countries.

Backup & Restore

InCountry maintains point-in-time snapshot backups - we support manual point-in-time restoration that needs to be coordinated between InCountry Operations and the customer’s Salesforce administrators.

Automated/scripted point-in-time restore is not supported, a coordinated manual process is required.

App Exchange Apps

  • Jing Digital

  • Charket

 

  • Other 3rd App-Exchange packages are not supported in the Restricted/Redacted model.

  • We can provide copy/paste code for retroactively storing the regulated fields in InCountry and anonymizing them in Salesforce in the afterUpsert context.

Experience Cloud

 

Username and password cannot be regulated fields, so must not contain PII.

Marketing Cloud (Pardot)

  • Ingestion of regulated data through Pardot forms into InCountry data store

  • Sending emails to recipients in regulated countries, with regulated data unredacted by Email Gateway

 

Marketing Cloud (ExactTarget)

Sending of bulk emails to redacted recipients via InCountry Email Gateway

 

Data Cloud

Insertion of anonymized data via Ingestion API

CRUD operations on regulated Data Cloud data via Data Cloud components - the assumption is that Data Cloud would only contain clear-text non-regulated data and anonymized regulated data.

Restricted vs. Redacted

FeatureRestrictedRedacted

Storage

In Country Only

Access

Global

Country Only

(IP or User’s Country)

Flexipages

InCountry Listview/Detail Pages

Search

InCountry Search Component

Reports

InCountry Report Builder

External Integrations

InCountry Web Service Gateway

Validations

InCountry Frontend Validations

Triggers & Flows

Salesforce server-side with InCountry Apex SDK

InCountry Resident Functions