The ServiceNow (SNOW) connector is a nice idea, but desperately needs improvement as it is borderline unusable in some areas.
The primary issue is what SNOW refers to as “Choice” fields - Dropdowns or picklists in more familiar terms.
The SNOW data is stored in Value:Label pairs. So you might get something like this:
Value | Label |
---|---|
1 | High |
2 | Medium |
3 | Low |
The way it is currently built, the SNOW connector ONLY sends the “value” portion of this pair, which 9/10 is completely unusable as it is.
This means that even if all you wanted were string values, and not have the choice fields come in as pick lists on the Gainsight side, you still have to hard code every variation from it’s value input to the Label output via Gainsight.
This is completely bonkers and I don’t know how the connector got approved with this functionality. The API has a property that allows the Label to be sent, but the connector does not utilize this.
Anecdotally, it might be possible to turn it on on a per-tenant basis but it slows the job to such a degree as to make it inoperable.
While there are various ways one can map the Value to a Label in Gainsight, choice fields can have very high numbers of options, meaning case transformations (the easiest and quickest OOB method) or not an option. You can to consider that SNOW can be deployed across multiple languages, meaning if you have a list with 25 options in 4 languages with distinct values across all of them, you could potentially have a choice field with 100 distinct options.
Possible workarounds and why they are not real solutions:
- Load the mappings via rules - this is possible but still requires either a regularly maintained S3 file with all the current mappings, or a complicated mapping rule
- Bring in the Values as-is, and create a lookup table with the value as the lookup key. The main issue with this, aside from creating lots of bloat - is that a Choice value has other properties too: Inactive (yes/no) and Language. You cannot get the language property via the connector, and it is possible to have the same *value* present across multiple languages. They might not even be the same meaning.
Please make this connector usable by allowing Choice Labels to be brought in without destroying job run times.