Customer Onboarding Flow with Dynamic Service Plan Selector in Salesforce Using OmniScript

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
  • Email
  • Phone
  • MailingAddress

1.2. Create Custom Object: Preference__c

Preference__c

1.3. Create Custom Object: Service_Plan__c

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.

Dependent

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

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:

Customer Onboarding Save DR

3.3. Use the Set Values Action to retrieve the newly created Contact ID.

  • Name: Retrieve ContactId
  • Field Label: Retrieve Contact Id

Retrieve ContactId

Step 3.4. Use OmniScript to display the Details of a Preferences.

  • Name: Preferences
  • Field Label: Preferences Details

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:

Preference_DRP

Step 3.6. Use OmniScript to display the Details of a ServicePlan.

  • Name: ServicePlan
  • Field Label: Service Plan

ServicePlan

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:

Service_Plan_DRP

Step 3.8. Use OmniScript to display the Details of a Confirmation plan.

  • Name: ConfirmationStep
  • Field Label: Confirmation Step

ConfirmationStep

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.

Service_Plan__c Preview

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

Deploy the OmniScript

All the required functionalities for this scenario, are working as expected.

OmniScript Deployed

Related Records:

 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.