Introduction to OmniScripts

In this session, we will discuss the basics of OmniScripts. OmniScripts are a way for an application builder to design a business process by configuring interactions using declarative tools that are easy to use. They implement complex functionality behind the scenes. They enable you to craft dynamic customer interactions without code.

OmniScripts allows you to configure interactive, easy-to-use business processes with branching. This means different pages and groups of fields can be shown based on the user’s choices. If you are new to OmniScript, check out our FREE Salesforce OmniScript Training.

What is an OmniScript?

An OmniScript allow you to build a guided path for completing a business process and serves as a configurable way of creating a seamless customer experience. You can create OmniScripts using an intuitive drag-and-drop editor that enables you to group various elements such as actions (extract data, send email), functions (formulas), input fields, and branching logic.


You can enable the LWC on OmniScript to get an LWC component that you can deploy and launch from Communities, Object detail pages, and FlexCards.

Advantages of OmniScript

  1. Drag and drop with no or low code
  2. Rapid prototyping, with built-in troubleshooting tools
  3. Ease of maintenance
  4. Branching capability built-in
  5. Integrating data from almost any source
  6. The look and feel (front end) separated from functionality (back end)

When to use OmniScripts?

Here are some examples of when you can use OmniScripts.

  1. Provide a guided path to complete a business process.
  2. Step users through complex tasks
  3. Captures details for a service implementation.
  4. A customer steps through a selling process, such as choosing a new insurance plan.
  5. For self-service interaction such as troubleshooting.

OmniScripts Designer

In OmniScript, there are different types of elements and how they can be used.

Element TypeUse
ActionsFor calling on other tools to perform various actions: getting or saving data, calculating, sending an email, and so on
DisplayFor displaying text and images on the screen to enhance the usability of the UI
FunctionsFor performing calculations within the OmniScript, showing conditional messages, and providing geolocation
GroupFor grouping elements together on the UI
InputsFor system or user input or selection
OmniScriptsReusable OmniScripts to insert and use
OmniScript Designer
Image is ApexHours session

Reusable OmniScript

Reusable OmniScripts are intended to be embedded into another OmniScript so they have no Done Action.

OmniScript Naming Conventions.

An OmniScript’s Type, Subtype, and Language give it its unique identity. Only one active OmniScript may have the same Type, SubType, and Language at any time. An OmniScript’s Type must start with a lowercase letter.

Only one version of OmniScript may be active at a time. If you need to make a change to an active OmniScript, create a new version. The version of the OmniScript already active and in production remains in place while you work on the new version.

OmniScript Naming Conventions Best Practices

  1. Use camelCase – prefix, Verb, Object and Detail
  2. Use an action verb and descriptive nouns
  3. Use abbreviations
  4. Example acctMgmt/verifyCallerteam

When to use OmniScript and Screen Flows

What is the difference between OmniScript and Salesforce Screen flows? When to use OmniScript and Screen Flows?

  1. OmniScript should be the default option for external personas for industry use cases.
  2. Screen Flows should be the default option for employee-facing use cases
  3. If you can reuse Screen Flows or OmniStudio for both Employees & Customers, you should.

Introduction to OmniScripts Video

Check the video below to learn about the step-by-step process to create OmniScript.

YouTube video

OmniScripts Performance Factors and Best Practices

Let’s talk about OmniScript’s best practices in OmniStudio. A set of best practices exists for both Client-side performance and Server-side performance.

Client-side best practices include

  1. Reduce Conditional Views, Merge Fields, Formulas where possible.
  2. Speed up the application of responses by trimming the Response JSON.
  3. Remove spaces from element names to improve the OmniScript’s load time.
  4. Reduce the number of elements in the script. A single OmniScript should not exceed 200 elements.
  5. Run logic on the server where possible, including conditional logic in Integration Procedures and formulas in DataRaptors.
  6. Test performance by enabling time tracking. If time tracking is not used in production, disable the feature before deploying to production, for more information.

Server-side best practices include:

  1. Cut down the payload size of a request by trimming the JSON request.
  2. Reduce server roundtrips by using Integration Procedures whenever multiple actions run between steps.
  3. Run Integration Procedures asynchronously by enabling the fire-and-forget property.
  4. Remove unnecessary data by trimming the DataRaptor extract output.


OmniStudio is a tool for building guided interactions. If you are new to OmniStudio, please check out our complete Free Training on OmniStudio.

Amit Chaudhary
Amit Chaudhary

Amit Chaudhary is Salesforce Application & System Architect and working on Salesforce Platform since 2010. He is Salesforce MVP since 2017 and have 17 Salesforce Certificates.

He is a active blogger and founder of Apex Hours.

Articles: 460

Leave a Reply

Your email address will not be published. Required fields are marked *