Data entry is something we’re all familiar with - it’s time consuming, and requires a lot of effort to maintain. By automating data entry businesses can ensure they have accurate and relevant data to base decisions on, and save time for their employees. In this article we will describe the benefits of automating data entry in Salesforce on one Object (Contacts), using values from another related Object (Opportunities); more specifically for multi-select picklist fields storing information about service interests.
With this solution, instead of having salespeople manually enter the services their Contacts are interested in, their Contact’s service interests will be automatically fetched from Opportunities related to the Contacts. The Opportunities store information about services (= Opportunity Line Items) that the Contacts will/might purchase and/or have purchased in the past. This information is automatically passed to a field called “Service Interests” on related Contacts.
Not only does this solution eliminate the manual data entry step- but also salespeople no longer have to go elsewhere in Salesforce (i.e. report, list view, opportunity related list) to find what services their Contacts are interested in. In addition, this is a great benefit for marketeers that can use this information to segment in their marketing efforts to market the right services to the right customers.
Part 1: Business use case for automatically passing multi-select field values to Contacts from related Opportunities
Part 2: Build a solution step-by-step using Salesforce Flow Builder
Part 1: Automatically pass multi-select field values to Contacts from related Opportunities
Business Use Case
In this scenario, there is a business need to automatically pass the values from a field containing information about services on Opportunities to their related Contacts. The data type of this field is “Picklist (Multi-Select)”.
The User Stories* formulated for this scenario were:
User Story 1: “As a Sales User, I want services that my Contacts have shown interest in via Opportunities to be displayed on the Contact Page Layout as a field called ‘Service Interests’ and I also want to be able to edit this field to manually add/remove services if needed, so that that I do not have to go elsewhere (report, list view, opportunity related lists etc.) to find this information about my Contacts.”
User Story 2: “As a Marketing User, I want to see what services Contacts have shown interest in, so that I can easily segment in my marketing efforts to market the right services to the right customers.”
*A user story is an informal, general explanation of a software feature written from the perspective of the end user or customer. They typically follow this simple structure: As a < type of user >, I want < some goal > so that < some reason >
Business value of the automated solution
Data accuracy and relevance: Instead of relying on manually entered data, the data will be populated from a reliable source
Timesaving: Reduced amount of manual work spent on data entry and finding the correct data across multiple records
Business scenario: What the process looks like before automation is implemented:
Emma Smith is a salesperson and the owner of the contact Jack Rogers in Salesforce, who works at Burlington Textiles Corp of America. Emma is preparing for a sales meeting with Mr. Rogers and needs to know what services he has previously shown interest in so that she can prepare accordingly.
The field “Service Interests” on Mr. Rogers’ contact record is empty, so Emma has to manually look around for this information in Salesforce. The services that Mr. Rogers has shown interest in are stored on all Opportunities related to Mr. Rogers’ contact record in Salesforce in a field called “Services”. However, Mr. Rogers’ contact record is associated with 20+ Opportunities, so to find this information Emma has the following options:
Go to the related list and look at each of the 20+ Opportunities associated with Mr. Rogers’ contact record
Create a report for the 20+ Opportunities associated with Mr. Rogers’ contact record
Create a list view for the 20+ Opportunities associated with Mr. Rogers’ contact record
Then she must find what services each Opportunity has related to it, and populate the Service Interest field on Mr. Rogers’ contact record with the same information
Summary: The options described above are time-consuming. A salesperson must manually look around for the right information in Salesforce and then manually enter the data on the Opportunity. This is a time-consuming task and also comes with the risk of wrong data entry or missing data, if the salesperson does not find all the information needed/overlooks some data.
Business scenario: What the process looks like after automation is implemented:
With automation implemented, the Services data from Opportunities related to Mr. Rogers’ contact record will be automatically passed to the Services Interest field on Mr. Rogers’ contact record.
This means Emma can simply open Mr. Rogers’ contact record in Salesforce and see the information she needs directly on the contact record. If needed, she can also add additional Service Interests directly to the Service Interest field on the contact record. The automation ensures data accuracy and saves administrative time for Emma who can now focus on what she prefers: selling.
Part 2: Build a step-by-step solution using Salesforce Flow Builder
Building a solution that passes multi-select values to Contacts from related Opportunities:
The logic behind this solution can be implemented when multi-select values from Opportunities need to be passed to related Contacts. To understand the logic behind the solution, it’s important to understand the relationship between Opportunities and Contacts in Salesforce.
In Salesforce, there is no direct relationship between Contacts and Opportunities. Opportunities have a relationship with Accounts, and Accounts have a relationship with Contacts. The standard Object ‘Opportunity Contact Role’ creates a link between Contacts and Opportunities, which defines the relationship between them.
To learn how to ensure that your sales team adds Contact Roles to their Opportunities, have a look at this article.
Outlined requirements and technical solution overview:
In this specific case, we will describe how to automatically pass values from the multi-select picklist field “Services” on Opportunities to related Contacts using Flow Builder.
Summary of requirements:
The multi-select picklist field “Service Interests” on Contacts automatically inherits the values from the corresponding multi-select picklist field “Services” on related Opportunities
Salesforce Users should be able to add and remove values from the multi-select picklist field “Service Interests” on the Contacts
Summary of technical solution:
Create a multi-select picklist field called “Service Interests” for the Contact Object and add to the Contact Page Layout
Install multi-select picklist parsing app from Salesforce AppExchange
Create a record-triggered flow that populates the multi-select picklist field “Service Interests” on the Contact with values from the field “Services” on Opportunities related to the Contact, when new values are added to an Opportunity’s “Services” field
The corresponding multi-select picklist field (“Services”) on Opportunity exists
The global picklist value set (“Services”) for the multi-select picklist field exists
There is an automation in place where the field “Services” on Opportunity is automatically populated with the Services (= Opportunity Line Items) related to the Opportunity
Configuring the technical solution
What the completed flow will look like:
Step 1: Create the multi-select picklist field for the Contact Object
1.1. Create a field with the data type “Picklist (Multi-Select)” for the Contact Object and name it “Service Interests”. Use a global picklist value set containing Service values (see pre-requisites)
1.2. Add the field to the Contact Page Layout
Step 2: Install multi-select picklist parsing app from Salesforce AppExchange