We're trying to install your package (AppExchange listing ID: a0N300000016ZsfEAE) into our Salesforce org and the install fails with:
Package url - https://appexchange.salesforce.com/appxListingDetail?listingId=a0N300000016ZsfEAE
(AppExchange Dashboard Pack for Sales, Marketing and Service)
CustomField(Account.Data_Quality_Score__c)
You referenced an unsupported field type called "Text (Encrypted)" using the following field: LEN
CustomField(Contact.Data_Quality_Score__c)
You referenced an unsupported field type called "Phone (Encrypted)" using the following field: LEN
Context: Our org has Shield Platform Encryption enabled on Account.Phone and Contact.Phone (deterministic encryption) for HIPAA/PHI compliance, and we can't disable it. It looks like your Data_Quality_Score__c formula field calls LEN() on Phone, and Salesforce formulas can't reference encrypted fields — so the deploy is rejected.
Questions:
- Is there a package version or install option that excludes Phone (or other Shield-encryptable fields) from the Data_Quality_Score__c formula?
- Can we install first and customize/rebuild that formula afterward (a post-install config or "advanced install" mode)?
- Do you offer (or plan to offer) an Apex/Flow-based version of this scoring logic instead of a formula field, since Apex in system context can read encrypted values with proper permissions?
- Have other customers with Shield Platform Encryption hit this same conflict — and how was it resolved?
We'd prefer not to disable encryption on Phone, even temporarily, given compliance requirements.
Thanks,
#Salesforce Labs #Appexchage Apps
Hi Ravi,
This is a hard platform limitation, not something specific to this package's install options — formula fields (including LEN() and any other function) simply cannot reference a field with Shield Platform Encryption enabled, regardless of encryption type (deterministic or probabilistic). There's no install mode, package version, or config toggle that can bypass this, since it's enforced at the metadata/formula-compilation level by the platform itself, not by the package.
Answering your questions directly:
1. No install option can exclude Phone from the formula while keeping the field itself unchanged — the formula field's definition is fixed at package build time. Since it's a Salesforce Labs package (community-supported, not a vendor with a support team), there's no "encrypted-field-safe" variant to switch to; you'd need to modify the metadata yourself post-install (see #2).
2. Yes — this is your real path forward. Since this is an unmanaged or lightly-managed Labs package (most Labs apps are), you should have edit access to the Data_Quality_Score__c formula after install. Deploy the package, then immediately edit that formula field to remove the LEN(Phone) reference (or rebuild the scoring logic to exclude Phone entirely). If the package is a managed package and the field is locked, you won't be able to edit it at all — worth confirming which type it is before installing.
3. Apex can read encrypted field values only if the running user has "View Encrypted Data" permission — it does NOT bypass encryption for everyone, and even Apex referencing encrypted fields in a SOQL WHERE clause or certain operations has platform restrictions (you can query and return encrypted field values to permitted users, but can't do things like LIKE filtering on ciphertext for probabilistic encryption). So an Apex/Flow version could work for LEN()-style logic, but only for users granted View Encrypted Data — it's not a clean drop-in replacement without also managing that permission carefully. This isn't something you can get "from the package" as-is; it'd require custom rebuilding of the Data_Quality_Score__c logic in Apex.
4. This is a well-known Shield Platform Encryption conflict for any formula field on Account/Contact.Phone or similar PII fields — anyone using Shield Encryption commonly hits this with any AppExchange package (Labs or paid) that includes formula fields referencing standard PII fields. The typical resolution is exactly what's in #2: install, then manually rebuild/adjust the offending formula fields to exclude the encrypted field, since there's no vendor-side fix that works universally across different customers' encryption configurations.
Practical recommendation
Since this is a Labs package (no formal support team, as you may already know from prior threads on this), your fastest path is:
- Check if it's managed or unmanaged (Setup > Installed Packages, or check the AppExchange listing type)
- If unmanaged: install, then edit Data_Quality_Score__c to remove the Phone reference and replace it with a non-encrypted proxy (e.g., checking Phone <> null via a different mechanism, or scoring based on other non-encrypted fields only)
- If managed and the field is locked: you likely can't fix it directly — you'd need to clone the package's dashboard/report logic into your own custom fields that reference a non-encrypted proxy field instead