The problem:
Many picklists in our instance of Salesforce have a difference between the value and the label.
For example, the value for Account.Type may be something like 12860112, while the label for that value is “Customer”.
This causes us problems when creating Bionic rules that query objects in Salesforce that have picklists like this. Instead of getting the friendly label “Customer”, we get the numeric representation of this value, which is not helpful when mapping to a picklist in Gainsight. We have to create super long custom mappings in our rule actions in order to even sync this data.
Example:
This pseudocode below further illustrates my issue.
When I execute the SOQL query in Salesforce like this:
SELECT Type FROM Account
LIMIT 1;
I get the result: 12860112
But when I execute the query here:
SELECT toLabel(Type) FROM Account
LIMIT 1;
I get the result: Customer
The request:
Throughout Gainsight (rules engine, connector sync jobs, data designer, etc) give us the ability to apply the “toLabel” function (as outlined above) to any given field with a picklist data type. This would allow us to retrieve the friendly value that users actually see in Salesforce, and allow us to auto-map the field in Gainsight.