Skip to main content
steven_doty
Contributor ⭐️⭐️⭐️
November 30, 2015
Development

Writing to Multi-select Picklist in Rules Engine (Tag field and others)

Related products:CS Rules Engine
  • November 30, 2015
  • 32 replies
  • 1127 views

The Rules engine should be updated or modified to support writing data to Salesforce's Multi-select picklists. Gainsight's own native field, the Tag field on Customer Info, cannot be written to correctly with the Rules Engine, because the engine overwrites existing values instead of appending new values. 

 

Merged Ideas:

by will_watkinson

Sometimes automation, or dataloading is used to insert values into picklist fields that do not exist in the picklist field. It would be useful to have the ability to monitor for and insert values into picklist fields that do not exit there by adding the option to write in when reading from, or writing to a picklist instead of just being able to select one of the available picklist options.

 

by kevin_ly

There are quite a few customers that have talked about using the multi-select picklist, but was stopped short by it's limited behavior. It gets treated like a single value picklist when any rules attempt to set it.

Also, you are unable to clear or append to it properly.

A use case here, a customer has multiple line items of enabled products, I would like to set the Multi Picklist to say that this customer has these products enabled. Also once one product goes inactive I would like to refresh it with current multi select values. Rules doesn't handle this use case really well with current multi-picklist functionality.

Sure you can use checkboxes, but it gets really messy and not in a neat package. Also Customer tags can't be deleted once added via rules.

32 replies

matthew_weinreb_adccf1
Contributor ⭐️⭐️⭐️⭐️
May 2, 2018
Any update on this issue?
christian_falkenberg
Contributor ⭐️⭐️
February 7, 2019
That's a bug to me, too. Doesn't work the way it should. I just overwrote many tags 😕 Hope this will be fixed soon.

Gainsight Employee ⭐️
February 6, 2020

Hi Team,
Facing an issue while working with a customer on Multi-pick list field where the Source field is string and the Target field is Multi-pick list. Usually the code was made in a way to load a value to picklist field if source is String. As we get multiple records for an account the data is getting updated instead of appending.
Is there any way to work around.

phani_kumar
Gainsight Employee ⭐️⭐️
July 8, 2020

Hi.

Recently I got the same scenario where I have to load data to a Multipick list field and I did this using rules. And worked as expected.

You can refer to this link.

Hope this will solve your issue too.

Thanks.

darkknight
Expert ⭐️
July 8, 2020

@phani_kumar 

 

Jeff Kirkpatrick
phani_kumar
Gainsight Employee ⭐️⭐️
July 8, 2020

Hi All,

The below-mentioned steps help us to load Data to Multipick List Field.

Recently when I am working with a customer I had this scenario and implemented this via Rules. 

 

Example of your Input Data.

 

The target object has a Multi Picklist Data Type field whose values are like below.

Rules

Reports

JO

 

We need to load and map the data to the respective values in the target field where ever the Account responded as “Yes”  to the Question.

 

We could simply achieve this via rules.

Step 1: Fetch the Input data

Step 2: Choose Transform Task and Create a Case Expression like below.

Provide all the values which are mentioned in the above pic.

The trick we need to apply in the “Then” Section was to append the semicolon to the value. i.e. like ‘Rules;’ (without Single Quotes)

In a similar way create two more case expressions for the fields “Using Reports Module” and “Using JO Module” in the same way.

 

Step 3: In the next transformation, Concat the fields created in step2 to load the target field.

 

Finally, create the Action and select the object and map the Concated field with MultiPicklist filed.

 

Thanks!!!

hardik_mota
Helper ⭐️
August 20, 2020

Hi Team, 

Can we please confirm if this is in roadmap and share an ETA? This seems to be big ask from multiple customers. 

 

Best,

Hardik

Hardik
cmultanen
Helper ⭐️
October 27, 2020

+1, we recently came across this issue. We were able to hack a solution together using a mix of case expressions and concats but this isn’t ideal or very scalable. 

dale_parent
Helper ⭐️
December 16, 2020

+1, I just added two multiselect fields to our company object for capturing product subscription categories and subcategories.  One field has 7 options, the other has 23.  I have a rule that merges data from 3 SFDC objects and 1 MDA object to populate those multiselect fields and would love a relatively simple solve to push it over the finish line.

Before discovering that only the last value updated would be reflected on the multiselect I wondered how we would go about deselecting values.  Perhaps sending a null or a “deselect all” in a separate action just before the field updating action I think would work for my case and I look forward to an even better solution I didn’t think of :)

The end goal for me is to create reporting that correlates rNPS scores and feedback comment themes with product categories.

Be well friends

spencer_engel
Expert ⭐️
January 13, 2021

This still is an issue. I have a rule where we are trying to have parity between SFDC and MDA contact/person information. One action is designed to load an updated multi-select “role” field to the MDA’s person object if the contact record was most recently modified in the MDA. If it was most recently modified in SFDC, then we want to load that “role” value to SFDC’s contact record instead. 

 

Loading to MDA works just fine because SFDC’s multiselect picklist is stored as a “multipicklist” field, as one would expect. And when you map to the MDA’s multiselect, that field as available to map to. See below. 

Loading picklists from SFDC to MDA works fine

However, when I try to do the opposite - load from MDA to SFDC, I run into the issue of the MDA picklists being stored as GSIDs and therefore am not allowed to map it to SFDC’s multi-select picklist. Can we please fix this issue somehow?