Have you ever needed to add a new value to a multi-picklist field in Salesforce using Flow? If you’ve scratched your head trying to figure it out, you’re not alone. It’s a little tricky at first, but once you get the idea—it’s fun and easy!
TL;DR
To add a value to a multi-picklist in Salesforce Flow, you can’t just “Add” like you do with numbers. Instead, you concatenate the new value to the existing ones using a semicolon (;). Always check if your value is already there to avoid duplicates. Use formulas and assignment elements wisely to control the update.
Why Multi-Picklists Are Tricky
Multi-picklist fields allow users to select more than one value at a time. Sounds cool, right? But on the backend, they’re stored as a single string with semicolon-separated values. That means if you want to add a value, you need to update this string.
Think of it like this: the multi-picklist looks like a list, but Salesforce treats it like a text blob. That’s why you can’t just use Flow’s “Add” or “Append” actions directly. You have to be a bit more creative. 🎨
The Plan: What We’ll Build
We’re going to build a Flow that:
- Checks the current values in the multi-picklist
- Checks if our new value already exists
- If not, adds it using a semicolon separator
- Updates the record
Step-by-Step Guide
Step 1: Identify Your Multi-Picklist
First, figure out the exact API name of the multi-picklist field on your object. For example: Favorite_Fruits__c. You’ll need this for your Flow.
Step 2: Create a New Flow
Go to Setup → Flows and click New Flow. Choose Autolaunched Flow unless users will be manually running it.
Add a Get Records element to pull the record that has your multi-picklist field.
Step 3: Create Your New Value as a Text Variable
Let’s say you want to add “Mango”. Create a Text Variable called varNewPickValue and give it a default value of Mango.
Step 4: Check If the Value Already Exists
Now we want to make sure we’re not adding a duplicate. This is super important because Salesforce multi-picklists don’t filter that out for you.
- Create a Formula resource.
- Name: formIsValueAlreadySelected
- Data Type: Boolean
- Formula:
CONTAINS(';'+{!Get_Record.Favorite_Fruits__c}+';', ';'+{!varNewPickValue}+';')
This clever formula wraps all values with semicolons to improve matching accuracy. Perfect for avoiding partial matches, like “Apple” vs “Pineapple.” 🍍
Step 5: Use a Decision Element
Add a Decision element and connect it after the formula. It should have two outcomes:
- AlreadyExists – If formula is TRUE
- AddNewValue – If formula is FALSE
Only proceed to add the value if it doesn’t already exist.
Step 6: Build the New Multi-Picklist Value
Create a new Text variable called varUpdatedMultiPicklist.
Add an Assignment element under the AddNewValue path and use this logic:
- If the original field is blank:
varUpdatedMultiPicklist = varNewPickValue - Else:
varUpdatedMultiPicklist = Get_Record.Favorite_Fruits__c + ";" + varNewPickValue
This keeps existing values while adding the new one safely at the end.
Step 7: Update the Record
Add an Update Records element and choose the record you retrieved earlier.
Set the multi-picklist field Favorite_Fruits__c to be equal to varUpdatedMultiPicklist.
Step 8: Test It Out!
Always test your Flow with different existing values:
- Add a new unique value like “Papaya”
- Try adding a value that already exists
- Try with an empty picklist and a partially filled one
Tips and Tricks
- Trim your values! Sometimes extra spaces mess things up. Use the
TRIM()function just in case. - No duplicates! Always use a formula like the one we made to check before adding.
- Use Variables Wisely: Keeping your flows clean with purpose-built variables makes debugging easier.
- Use Labels: Always label your elements clearly. Future-you will thank you!
Pitfalls to Avoid
- Don’t use comma instead of semicolon. Salesforce uses semicolons to separate multi-picklist values.
- Don’t forget to check for existing values. Duplicates make reports messy.
- Don’t hardcode record IDs. Use variables and dynamic Inputs instead.
Use Case Bonus Ideas
This Flow method can be used in a ton of ways!
- Auto-tagging leads based on web activity
- Assigning event participation types
- Managing product selections dynamically
It’s like LEGO for your data – you can keep stacking new values safely. 🧱
Final Thoughts
Working with multi-picklists in Salesforce Flow can be surprising at first. But once you learn the pattern—check, build, assign—it starts to make sense.
Just remember: treat it like a text list with semicolons, build your final value step-by-step, and always test!
Now go automate like a Flow wizard 🧙♂️!
