In today’s telecom and digital service environments, offering the right plan to the right customer at the right time is crucial. Whether it's Data, Unlimited, Combo packs or Data/Calling customers expect easy-to-navigate interfaces and relevant choices.
In this blog, we'll walk through building a Service Plan Selector using Salesforce Omniscript, powered by dependent picklists. This no-code/low-code solution helps streamline customer onboarding by guiding users through relevant options based on their selections, ensuring an intuitive and accurate experience without writing any Apex code.
Scenario
You're designing an onboarding flow in Salesforce OmniStudio where:
- The user fills in customer details (Name, Email, Phone) in OmniScript.
- Selects preferred communication method (Email, SMS, Call), saved in Preference__c and linked to Contact.
- Chooses a Plan Type (Data, Unlimited, Combo, Data/Calling).
- Based on selection, relevant Plan Details are shown using a dependent picklist.
- The selected plan is saved in Service_Plan__c and linked to the Contact.
- The flow improves data accuracy and user experience.
This solution minimizes manual errors, improves user experience, and keeps your UI dynamic and context-aware.
Objective
Use OmniScript to collect user input step-by-step and save it into Contact, Preference__c, and Service_Plan__c objects using Load DataRaptors, ensuring accurate data capture and seamless record association.
Step 1: Data Model Setup in Salesforce
1.1. Use Existing Object: Contact
Fields used:
- FirstName
- LastName
- Phone
- MailingAddress
1.2. Create Custom Object: Preference__c
1.3. Create Custom Object: Service_Plan__c
Step 2: Setup Dependent Picklists
- Go to Object Manager > Service_Plan__c
- Open Plan_Details__c field.
- Click Field Dependencies.
- Set Plan_Type__c as the controlling field.
- Define the values for each Plan Type.
This ensures that when a Plan Type is selected, only its related Plan Details are available.
Step 3: Create an OmniScript
- Navigate to OmniStudio > OmniScripts
-
Click New OmniScript
Type: Service_Plan__c Personal
- Subtype: Flow
- Language: English
- Template: Default
3.1. Use OmniScript to display the Details of a Contact.
- Name: PersonalDetails
- Field Label: Personal Details
Step 3.2. Use a DataRaptor Load in OmniScript to save Contact Details.
Load DataRaptor 1: Create Customer_Onboarding_Save_DR
- Go to OmniStudio → DataRaptors
- Click New
-
Fill in:
- Name: Customer_Onboarding_Save_DR
- Type: Load
- Target Object: Contact
- Click Save
Field Mapping:

3.3. Use the Set Values Action to retrieve the newly created Contact ID.
- Name: Retrieve ContactId
- Field Label: Retrieve Contact Id
Step 3.4. Use OmniScript to display the Details of a Preferences.
- Name: Preferences
- Field Label: Preferences Details
Step 3.5. Use a DataRaptor Load in OmniScript to save Preference__c Details.
Load DataRaptor 1: Create Preference_DRP
- Go to OmniStudio → DataRaptors
- Click New
-
Fill in:
- Name: Preference_DRP
- Type: Load
- Target Object: Preference__c
- Click Save
Field Mapping:
Step 3.6. Use OmniScript to display the Details of a ServicePlan.
- Name: ServicePlan
- Field Label: Service Plan
Step 3.7. Use a DataRaptor Load in OmniScript to save Service_Plan__c Details.
Load DataRaptor 1: Create Service_Plan_DRP
- Go to OmniStudio → DataRaptors
- Click New
-
Fill in:
- Name: Service_Plan_DRP
- Type: Load
- Target Object: Service_Plan__c
- Click Save
Field Mapping:
Step 3.8. Use OmniScript to display the Details of a Confirmation plan.
- Name: ConfirmationStep
- Field Label: Confirmation Step
Step 4: Test & Preview
- Activate OmniScript & DataRaptors.
-
Preview the flow:
- Submit PersonalDetails → verify Contact in Salesforce.
- Submit Preferences → verify Preference__c record.
- Select Plan Type & Details → verify only dependent values appear; submit → verify Service_Plan__c.
Step 5: Deploy the OmniScript
Once your omniscript card is ready and tested:
- Activate the OmniScript FlexCard
- Go to Lightning App Builder
- drag the OmniScript component onto the page, select your script, and map recordId if needed. (from Contact page context)
- Save and activate the Lightning page
All the required functionalities for this scenario, are working as expected.
Related Records:
After deployment, when the OmniScript is used from a Lightning page (like the Contact record page), all related records are automatically created and linked. The Contact record is saved first, followed by a Preference__c record linked via the Contact__c field, and a Service_Plan__c record capturing the selected Plan Type and Plan Details. These related records appear directly under the Contact, ensuring a connected and easily accessible onboarding history.
Conclusion:
OmniScript paired with dependent picklists offers a powerful, no‑code way to build dynamic, guided onboarding flows directly within Salesforce. The Service Plan Selector is a perfect example of how you can streamline customer journeys—automatically filtering plan details, reducing manual entry errors, and delivering a seamless user experience.
By breaking the process into clear steps (Contact → Preferences → Service Plan) and leveraging Load DataRaptors for data persistence, you not only empower admins to configure business logic declaratively but also ensure customers see exactly the options that matter to them—no extra clicks, no confusion.
Got questions? Feel free to drop an email to support@astreait.com or visit astreait.com for a free consultation.