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

Related products: CS Rules & Permissions

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.

Hey Steven,





Thanks for binging this up, we are working on supporting the Multi-select picklists. Expect this enhancement to be in January release.
Hi Sundar, Did support for multi-select picklists make it into the January release?  I could have easily missed it.  If not, do we have a new target?  Thank you!!
We fixed the read part and the filtering issues especially in action criteria in January release. We still overwrite the entire value with the new option, so essentially this is still open. It is part of the roadmap for Q2 2016 as of now.
Sundar, I'd like to expand on this idea for the roadmap:





Most ETL connectors allow String type fields to be written to a Picklist field in SFDC.  We do not currently support this.  We only allow writing a picklist directly to a picklist.





Use cases would include having MDA data in a string field that we can then push to a Picklist in a SFDC/Gainsight object.  Current workaround requires one action per picklist value, which is doable but time consuming and often resulting in duplicate work.





Thoughts?
Ah, roadmaps. Gotta have 'em. Gotta change 'em. And then some client finds an old thread and says "Q2 2016? But it's almost Q4!" :-)





Tags are becoming more and more valuable to us as a mechanism to group clients. Having rules-engine access to them will significantly amplify their value!
Hi! We have a rule that Upserts to Contacts in SFDC. We have a multi select picklist for roles as contacts can have multiple roles (sponsor, technical, billing, etc.)





Since Tags work as a multi select picklist, we can't remove tags with rules so I thought we would be able to add a role to a Contact. However, when I run my rule it removes all of the Contacts other roles and writes it as Technical.





Is it possible to add a new role in a multi select picklist?
This is a must have for us as well! As the new release will allow for custom C360 views, we need to pivot off of current products (which could be multiple) in order to set the view for the C360 to only show the sections that are applicable to that customers product suite. We have no way to update this currently with the limitation of multi-picklists. 
Hi Samantha,





Curious to understand your use case for custom C360 views based on multi select picklist? Can you elaborate regarding how you plan to use that for. Based on your comment , my understanding is - 





If you are selling Product A, Product B and Product C. A customer can buy one or more of the products.





Do you plan to create multi C360 views based on various combinations of A,B and C? Theoretically,You would have to create 7 layouts (Customers who have purchased only A, only B, only C, Both A and B,Both A and C,Both B and C and All of A,B and C) each as a layout for your accounts.





Is my understanding right?





Thanks


Abhishek S
Our customers have some trends that would allow us to simplify the groupings to only around 10 or so across 3 products. For example, our customer can have only A but would never have product B without product A. 





But yes, we plan to use the product to set the C360 in the next release. 
Is there a timeframe for when this will be corrected / implemented?  I keep coming across this problem where I want to set a multi-select picklist (via Rules) in say the CustomerInfo object so can be displayed on the C360 but can't fully do it.  It allows me to write multiple rules (+Field Mapping) to populate each instance of the multi-select but every subsequent rule overwrites the value written by the previous rule.  Honestly I'd view this more as a bug than an enhancement.  If the system allows a multi-select to be chosen as the destinatiion field for rules then it should allow multiple settings to be selected, not just one.  See below as an example of how I'm trying to set this ...



Any update on this issue?
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.




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.


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.


@phani_kumar 

 


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!!!


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


+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. 


+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


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?

 


+1 this is an issue we have recently faced as well. We wanted to use this in Journey Orchestrator to set a conditional wait based on a multi-select picklist of Contact Role but we can’t do that since it is multi-select. Please implement a fix so this can be usable!


+1. It’s a must for us to have. Can we have an update on where it sits on the roadmap please?


@Cornelia Not sure when this was marked as ‘planned’ but it’s been up for 5 years...


Hey @bradley, thank you bumping this up. Will loop in the Product Manager who will get back to you. 


This appears related as well: