Free OmniStudio-Developer Practice Test Questions 2026

173 Questions


Last Updated On : 17-Jul-2026


A developer creates an OmniScript to update billing information.After analyzing the different types of customer interactions that occur at the company, the developer determines updating billing information should be included in the majority of customer interactions, which are represented by more than 20 different FlexCards.
What is the most efficient way for the developer to configure the action that invokes the OmniScript?


A. As an OS Action


B. As a Custom Action


C. As an OmniStudio Action


D. As a Lightning Action





A.
  As an OS Action

Summary
The requirement is to reuse the same OmniScript across more than 20 different FlexCards. The most efficient configuration avoids recreating the same action in every card. An OS Action is a predefined action type specifically designed for this purpose. It allows a developer to create the action configuration once and then reference it by name in any number of FlexCards, ensuring consistency and simplifying maintenance.

Correct Option

A. As an OS Action
This is the most efficient method. An OS Action is a reusable action definition stored at the application level. The developer creates the OS Action once, configuring it to launch the specific OmniScript. This single OS Action can then be selected and used across all 20+ FlexCards. Any future updates to the action (e.g., changing a parameter) only need to be made in the single OS Action definition, and it will automatically propagate to all FlexCards using it.

Incorrect Option

B. As a Custom Action
A Custom Action is used to invoke an external, non-OmniStudio web service or Apex method. It is not the correct action type for launching another OmniScript. Using it for this purpose would be incorrect and require complex, custom configuration.

C. As an OmniStudio Action
This is the general category or family of actions (which includes OS Action, Data Action, etc.), not a specific, configurable type. When adding an action in a FlexCard, you select a specific type like "OS Action," not the generic "OmniStudio Action." This term is too vague for the specific configuration needed.

D. As a Lightning Action
A Lightning Action refers to a standard or quick action on a Salesforce object record page. It is not a type of action that can be configured within an OmniStudio FlexCard. FlexCards use the OmniStudio-specific action types, such as OS Action, to trigger other OmniStudio components.

Reference
Salesforce OmniStudio Developer Guide: OS Action

Users receive an APEC CPU limit Exceeded error when running an OmniScript in a Salesfoce Community. The OmniScript includes an Integration Procedure that contains two DataRaptors. Which two Location should the developer check to troubleshoot the issue?
(Choose 2 answers)


A. Script configuration


B. Community logs


C. DataRaptor configuration


D. Action Debugger





C.
  DataRaptor configuration

D.
  Action Debugger

Summary
An Apex CPU limit error indicates that the OmniScript's server-side logic is consuming excessive processing time. Since the error is tied to an Integration Procedure containing DataRaptors, the investigation must focus on the components executing server-side Apex code. The configuration of the DataRaptors and the detailed execution logs of the actions are the primary sources to identify inefficient queries or complex transformations causing the performance bottleneck.

Correct Option

C. DataRaptor configuration
The DataRaptor configuration is a primary suspect. Inefficient DataRaptor Extracts, especially those without filters or that query large data sets, can consume significant CPU time. Similarly, complex DataRaptor Transforms with numerous formulas or loops can be computationally expensive. Reviewing the DataRaptor logic for optimizations, such as adding LIMIT clauses or simplifying transformations, is a critical troubleshooting step.

D. Action Debugger
The Action Debugger in the OmniScript and Integration Procedure preview tools provides detailed, step-by-step execution logs. It shows the precise execution time and output for each action, including the two DataRaptors. This allows the developer to pinpoint exactly which action is consuming the most CPU time, confirming whether it is a specific DataRaptor or another element in the sequence.

Incorrect Option

A. Script configuration
While general OmniScript settings exist, there is no specific "Script configuration" that directly controls CPU usage or would reveal the root cause of a CPU limit error. The problem is almost always tied to the logic within the actions (like DataRaptors) called by the script, not the high-level script properties themselves.

B. Community logs
Community logs are general system logs that might show the occurrence of the error but lack the granular, component-level detail needed to diagnose it. They will not show which specific DataRaptor or action within the Integration Procedure is causing the high CPU consumption. The OmniStudio-specific Action Debugger is the correct tool for this level of detail.

Reference
Salesforce OmniStudio Developer Guide: Test an Integration Procedure

Refer to the exhibit.



A developer creates an OmniScript display FirstName, LastName, and BirthDate of a contact using a Type Ahead Block. The DataRaptor used in the Type Ahead has been tested and fetches the correct data.
When previewing Omniscript, the developer enters a name in the Type Ahead and makes a selection of a contact from the list. However, the text fields FirstName. LastName, and BirthDate are notgetting populatedwith the data.
What is the reason that the fields fail to display the fetched data?


A. Lookup Mode is not selected in the properties of the Type A Head Block.


B. Use Data JSON is not selected in the properties of the Type Ahead Block.


C. FirstName, LastName, andBirthdateare not placed inside the Type ahead Block.


D. The Typeghead ley is not in the correct format





C.
  FirstName, LastName, andBirthdateare not placed inside the Type ahead Block.

Summary
A Type Ahead Block is a container element designed to manage a set of related fields for a single record. For child elements like FirstName, LastName, and BirthDate to be automatically populated when a selection is made from the type-ahead dropdown, they must be placed inside the Type Ahead Block in the OmniScript structure. This allows the block to manage the data context and mapping for all its child elements based on the selected record.

Correct Option

C. FirstName, LastName, and Birthdate are not placed inside the Type Ahead Block.
This is the most likely cause. The Type Ahead Block functions as a data context container. When a user selects a record from the dropdown, the block receives the full data object for that record. It then automatically populates the values of all input elements (like Text and Date elements) that are placed inside it, provided their "Data JSON Path" matches a field in the returned data. If these elements are outside the block, they are not part of this automatic data mapping and will remain empty.

Incorrect Option

A. Lookup Mode is not selected in the properties of the Type Ahead Block.
"Lookup Mode" is a property of the standalone Lookup element, not the Type Ahead Block. The Type Ahead Block does not have a "Lookup Mode" property. This option confuses two different OmniScript elements.

B. Use Data JSON is not selected in the properties of the Type Ahead Block.
The "Use Data JSON" property is typically found on elements like the Select element to define a remote data source. The Type Ahead Block's configuration is centered around its "Data Source" (e.g., a DataRaptor) and the placement of child elements, not a "Use Data JSON" checkbox.

D. The Type Ahead key is not in the correct format.
The "Type Ahead Key" property is used to specify which field from the fetched data should be displayed in the main input field and used for filtering. If this were incorrectly formatted, the dropdown list itself would not populate with options correctly. The scenario states that the developer can "make a selection of a contact from the list," indicating the key is working and the list is populating. The issue is with populating other fields after the selection, which is a separate mechanism.

Reference
Salesforce OmniStudio Developer Guide: Type Ahead Block Element

A developer creates a new FlexCardto display customer data and actions, such as updating billing information and changing the contact for the customer account. The FlexCard contains 10 fields and 5 actions.
During testing, several fields display with the correct data, but one of the fieldsshows only the label.
What could cause this?


A. The fields have exceeded the maximum number allowed on the card.


B. The field is null 0 the Salesforce record.


C. {recordld} us misspelled in the Data Source Input Map.


D. There are no test parameters configured.





B.
  The field is null 0 the Salesforce record.

Summary
When a FlexCard field displays its label but no value, it indicates a data mapping issue where the target field exists in the card's layout but the data source is not providing a value for it. The most common cause is that the specific field is empty (null) on the Salesforce record retrieved by the DataRaptor. The FlexCard renders the label as defined in the layout, but has no data to display for the value.

Correct Option

B. The field is null on the Salesforce record.
This is the most direct and likely cause. The FlexCard's DataRaptor successfully retrieved the record, which is why other fields display data. However, for this specific field, the value on the Salesforce record is blank (null). The FlexCard correctly renders the label defined in the designer but has no data to populate the value, resulting in an empty space next to the label.

Incorrect Option

A. The fields have exceeded the maximum number allowed on the card.
There is no strict, low limit (like 15 total elements) on the number of fields and actions a FlexCard can contain. If a maximum were exceeded, it would more likely cause broader rendering issues or errors, not a single field failing to display its data while others work correctly.

C. {recordId} is misspelled in the Data Source Input Map.
A misspelled {recordId} in the Data Source Input Map would prevent the DataRaptor from executing correctly for the specific record context. This would cause a complete data retrieval failure, meaning none of the fields would display data, not just a single field.

D. There are no test parameters configured.
Test parameters are used for previewing the FlexCard in the builder. If test parameters were missing, the card would fail to load data during preview. The scenario implies testing is occurring, and since most fields display correctly, the DataRaptor is successfully running and receiving a valid record ID, ruling this out as the cause.

Reference
Salesforce OmniStudio Developer Guide: Troubleshoot FlexCards

A developer needs to configure a DataRaptor to retrieve data from a single object. The structure of the output data does not need to be changed.
Following best practices, which type of DataRaptor should the developer use?


A. DataRaptor Transform


B. DataRaptor Extract


C. DataRaptor Load


D. DataRaptor Turbo Extract





D.
  DataRaptor Turbo Extract

Summary
The scenario requires retrieving data from a single object without transforming its structure. While a standard DataRaptor Extract can perform this task, the key factor is following best practices for performance. Turbo Extract is a specialized, high-performance version of the Extract type, designed specifically for fast, straightforward data retrieval from a single object, making it the optimal choice when no complex data shaping is required.

Correct Option

D. DataRaptor Turbo Extract
A Turbo Extract is the best practice for this scenario because it is optimized for performance. It directly translates its configuration into a single, efficient SOQL query, minimizing processing overhead. Since the requirement is simple retrieval from one object with no need to change the output structure, Turbo Extract provides the fastest and most efficient method, adhering to the principle of using the least resource-intensive tool for the job.

Incorrect Option

A. DataRaptor Transform
A Transform is used when you need to significantly restructure, combine, or calculate values from the source data. Its primary purpose is to change the format of the JSON output, not just to retrieve data. Using a Transform for simple retrieval is inefficient and goes against best practices, as it introduces unnecessary complexity and processing.

B. DataRaptor Extract
A standard Extract can retrieve data and is more flexible than a Turbo Extract, allowing for multi-object relationships and some data manipulation. However, for the specific case of retrieving data from a single object with no structural changes, a Turbo Extract is the superior best-practice choice due to its performance advantages.

C. DataRaptor Load
A Load DataRaptor is used for a completely different purpose: to create, update, or upsert records in the database. It is not used for retrieving data at all. Using it in this context would be incorrect and would not fulfill the requirement.

Reference
Salesforce OmniStudio Developer Guide: Turbo Extract Overview

A developer needs to configure a calculation procedure to calculate the sum of the entire base price.
What is the most efficient way for the developer to meet this requirement?


A. Create a Post process or apex class to calculate the sum.


B. Add an Aggregation Step as SUM (BasePrice)


C. Add A Calculation Step as SUM (BasePrice).


D. Create a Preprocess or class to calculate the sum





B.
  Add an Aggregation Step as SUM (BasePrice)

Summary
The requirement is to calculate the sum of a specific field (BasePrice) across all records in a dataset. This is a classic aggregation operation. The most efficient method is to perform this calculation at the database level or within the data processing engine, which is designed for such operations, rather than moving the data into a more complex, custom-coded environment like Apex.

Correct Option

B. Add an Aggregation Step as SUM (BasePrice)
This is the most efficient solution. An Aggregation Step within a DataRaptor Transform is specifically designed for this purpose. It performs the SUM operation directly on the dataset as it is being processed by the OmniStudio engine. This is a declarative and optimized approach that avoids the overhead of Apex and efficiently calculates the total without requiring custom code.

Incorrect Option

A. Create a Postprocessor Apex class to calculate the sum.
This is inefficient and against best practices. A Postprocessor Apex class would require the entire dataset to be passed into Apex, where a loop would then be written to calculate the sum. This is a programmatic and resource-intensive approach for a simple aggregation that the platform's declarative tools can handle more efficiently.

C. Add a Calculation Step as SUM (BasePrice).
A Calculation Step in a DataRaptor Transform is used to create a new calculated field for each individual record (e.g., LineTotal = Quantity * UnitPrice). It cannot perform an aggregation (like SUM, COUNT) across all records in the dataset. It operates on a row-by-row basis, not on the entire dataset.

D. Create a Preprocessor class to calculate the sum.
A Preprocessor Apex class runs before the DataRaptor and is typically used to modify input data. It does not have access to the full dataset of records that the DataRaptor will process, so it cannot calculate a sum of a field across all records. This is the wrong tool for the job.

Reference
Salesforce OmniStudio Developer Guide: Aggregation Step in DataRaptor Transform

A developer isbuilding an OmniScript and needs to retrieve data from Salesforce and from an on-premises billing database. Which two OmniScript elements could retrieve this data?
(Choose 2 answers)


A. Navigate Action


B. DataRaptor Extract Action


C. HTTP Action


D. Response Action





B.
  DataRaptor Extract Action

C.
  HTTP Action

Summary
The requirement involves retrieving data from two different sources: Salesforce (internal) and an on-premises database (external). An OmniScript must use different elements to interact with these distinct systems. One element is designed for internal Salesforce data queries, while another is designed for communicating with external systems via web services.

Correct Option

B. DataRaptor Extract Action
This element is specifically designed to retrieve data from Salesforce objects. A DataRaptor Extract can be configured with SOQL queries and relationships to efficiently fetch data from within the Salesforce database, making it the correct tool for the internal data retrieval requirement.

C. HTTP Action
This element is used to call external REST APIs or web services. To access an on-premises billing database, you would typically create a middleware API endpoint that connects to the database. The HTTP Action in the OmniScript would then call this external endpoint to retrieve the required billing data, making it the correct tool for the external data retrieval requirement.

Incorrect Option

A. Navigate Action
The Navigate Action is used to control the user's flow within the OmniScript, such as moving to the next step or a different step set. It does not retrieve data from any source, whether internal or external.

D. Response Action
The Response Action is used at the end of an Integration Procedure to structure and send data back to the calling OmniScript. It is an output element, not a data retrieval element. It does not fetch data from Salesforce or external systems itself.

Reference
Salesforce OmniStudio Developer Guide: DataRaptor Extract

Which two fields in an Integration Procedure can use a function like CONCAT or DATEDIFF?
(Choose 2 answers)


A. In Procedure Configuration, ina TrackingCustom Data value field.


B. In a Remote Action, in a Remote Options value field.


C. In a Remote Action, in an Additional Output value field.


D. In a Response Action, in an Additional input value field.





C.
  In a Remote Action, in an Additional Output value field.

D.
  In a Response Action, in an Additional input value field.

Summary
OmniStudio functions like CONCAT or DATEDIFF are used to dynamically transform or calculate values within the Integration Procedure's data pipeline. They can be applied in fields that map data within the procedure's execution flow. Specifically, they are used to create new, calculated output values or to structure the final response, not for static configuration or external API settings.

Correct Option

C. In a Remote Action, in an Additional Output value field.
The "Additional Output" section of a Remote Action is used to define new fields derived from the action's results. Here, you can use functions like CONCAT to combine values from the remote response or DATEDIFF to calculate time spans, creating new data points in the pipeline for subsequent actions to use.

D. In a Response Action, in an Additional Input value field.
The "Additional Input" section of a Response Action allows you to add new fields to the final JSON response. You can use functions here to perform final transformations on the data from the pipeline before it is sent back. For example, using CONCAT to format a full name or DATEDIFF to calculate an age just before the response is returned.

Incorrect Option

A. In Procedure Configuration, in a Tracking Custom Data value field.
The Tracking Custom Data fields in the Procedure Configuration are for attaching static, high-level metadata to the entire procedure for analytics or logging purposes. They are not part of the dynamic data pipeline and do not support the use of real-time calculation functions like CONCAT or DATEDIFF.

B. In a Remote Action, in a Remote Options value field.
The "Remote Options" section is used to configure the HTTP request to the external system (e.g., headers, endpoint parameters). These values are typically static strings or simple pipeline references ({...}). They do not support the evaluation of OmniStudio formula functions, as these functions are executed by the OmniStudio runtime, not the external service.

Reference
Salesforce OmniStudio Developer Guide: Formula Functions

What two advantages does a DataRaptor Turbo Extract have over a standard DataRaptor Extract?
(Choose 2 answers)


A. It populates data in PDF and DocuSign format


B. It is easier to configure


C. It has better performance at runtime


D. It supports complex field mappings





B.
  It is easier to configure

C.
  It has better performance at runtime

Summary
A DataRaptor Turbo Extract is a specialized, high-performance variant of the standard DataRaptor Extract. It is optimized for specific use cases, primarily speed and simplicity. Its advantages are most apparent in scenarios requiring fast data retrieval from a single Salesforce object without complex data transformations. The key benefits are its streamlined configuration process and superior execution performance.

Correct Option

B. It is easier to configure
Turbo Extract has a simpler, more streamlined user interface compared to a standard Extract. It is designed for straightforward data retrieval from a single object, eliminating many of the complex tabs and options found in a standard Extract (like multiple Extract steps or complex filtering logic). This makes it quicker and easier for developers to set up for basic queries.

C. It has better performance at runtime
This is the primary advantage. A Turbo Extract is translated directly into a single, efficient SOQL query. It has less processing overhead than a standard DataRaptor Extract, which may involve more complex engine processing for multi-object relationships and transformations. This results in faster execution times and reduced consumption of Salesforce governor limits.

Incorrect Option

A. It populates data in PDF and DocuSign format
This is incorrect. The ability to populate PDF or DocuSign templates is a function of the OmniScript and its corresponding PDF Action or DocuSign Action, not the type of DataRaptor used. Both standard and Turbo Extracts can provide data to these features; neither has a specific advantage in this area.

D. It supports complex field mappings
This is actually an advantage of a standard DataRaptor Extract, not a Turbo Extract. Turbo Extracts are designed for simplicity and performance, which means they sacrifice some flexibility. They do not support complex features like multi-object relationships, custom WHERE clauses with formulas, or the same level of complex data shaping that a standard Extract provides.

Reference
Salesforce OmniStudio Developer Guide: Turbo Extract OverviewExplanation:

A DataRaptor Turbo Extract is a simplified version of a DataRaptor Extract that can retrieve data from a single object without changing the structure of the output data. It is easier to configure because it does not require defining extraction steps or JSON paths. It also has better performance at runtime because it uses a native query engine instead of a custom one

Which calculation procedure version in the list would execute on 2/15/2020at 12:00 PM?




A. Version Number 1


B. Version Number 4


C. Version Number 2


D. Version Number 3





C.
  Version Number 2

Summary
Calculation Procedures use a priority-based execution system where multiple versions can be active simultaneously. When a procedure is triggered, all enabled versions whose date ranges encompass the current date/time are executed. The results are then processed based on their assigned Priority number, with the result from the version with the highest priority number (not the lowest) being the one that is ultimately returned.

Correct Option

C. Version Number 2
On 2/15/2020, we must first identify which versions are active. Version 1 (1/1 - 4/1), Version 2 (2/1 - 3/1), and Version 3 (3/1 - 4/1) are all active on this date. Version 4 is not active as its start and end date are the same (3/1). Among the active versions (1, 2, 3), Version 2 has the highest Priority (2), followed by Version 1 (1), and then Version 3 (which is active but has a lower priority of 4 is irrelevant since Version 2 is active and has priority 2). Therefore, the result from Version Number 2 would be returned.

Incorrect Option

A. Version Number 1
While Version 1 is active on 2/15/2020, its Priority (1) is lower than the Priority of Version 2 (2). In Calculation Procedures, the version with the highest priority number wins. Therefore, Version 1 would not be the one whose result is returned.

B. Version Number 4
Version 4 is not active on 2/15/2020. Its start and end date are both 3/1/2020, meaning it is only active for a single day. Since the date in question is 2/15, this version would not execute at all.

D. Version Number 3
Version 3 becomes active on 3/1/2020. The date in question is 2/15/2020, which is before this version's start date. Therefore, it is not active and will not execute.

Reference
Salesforce OmniStudio Developer Guide: Calculation Procedures and Versions

A developer is creating a FlexCard and needs to display additional information using a Flyout. Which two types of components can the developer embed in the flyout?
(Choose 2 answer)


A. An OmniScript


B. An Integration Procedure


C. A DataRaptor


D. A Child FlexCard





A.
  An OmniScript

D.
  A Child FlexCard

Summary
A Flyout is a UI component in OmniStudio that appears dynamically (e.g., on hover or click) to display additional information without navigating away from the main screen. It acts as a container for other interactive components. The elements that can be embedded within a Flyout are those that provide a user interface or visual representation, allowing for a rich and interactive user experience directly from the FlexCard.

Correct Option

A. An OmniScript
An OmniScript can be embedded within a Flyout. This allows the Flyout to present a multi-step, guided form for tasks like updating information or submitting a request without requiring the user to leave the context of the FlexCard. The OmniScript provides a structured user interface and logic flow.

D. A Child FlexCard
A Child FlexCard can be embedded within a Flyout. This is a common pattern for displaying related records or more detailed information in a structured card format. The Child FlexCard can have its own data source and design, providing a modular way to show additional data.

Incorrect Option

B. An Integration Procedure
An Integration Procedure is a headless, server-side component used for data processing and orchestration. It does not have a visual interface and therefore cannot be displayed or embedded directly within a Flyout. An Integration Procedure can be called by an OmniScript or FlexCard within the Flyout, but it is not the embedded component itself.

C. A DataRaptor
A DataRaptor is a data manipulation tool used for extracting, transforming, or loading data. Like an Integration Procedure, it is a headless component with no user interface. It cannot be embedded in a Flyout. A DataRaptor is used as a data source for a FlexCard or OmniScript that is embedded in the Flyout.

Reference
Salesforce OmniStudio Developer Guide: Configure a Flyout

A developer is creating anOmniScript that Provisions trial orgs to their customers. The following text block in the OmniScript uses a merge code to display the ID for the new trial org:
Welcome to Salesforce
Your ID is %Details: Customer10:ID%
During testing, the developer noticesthat the ID does not display. The data JSON is structured as shown below.
How should the developer correct the merge code in order for the ID to display?


A. To %%Details:Customer|0:ID%%


B. To %%Details:Customer|n:ID%


C. To %%Details:Customer|1:ID%


D. To$Details:Customer|0:ID$





A.
  To %%Details:Customer|0:ID%%

Summary
The issue is that the Customer node in the JSON structure is an array (indicated by the square brackets []), not a single object. To access a field from a specific record within an array, you must specify the index of that record using the pipe and index syntax |index. Array indices start at 0, so the first element in the array is at index 0.

Correct Option

A. To %%Details:Customer|0:ID%%
This is the correct merge field syntax. Details:Customer|0:ID breaks down as follows:

Details: The parent node.

Customer: The array node.

|0: The index specifier, targeting the first element in the Customer array.

ID: The target field within that specific array element.

Using %%...%% is the correct syntax for merge fields in an OmniScript Text Block.

Incorrect Option

B. To %%Details:Customer|n:ID%
Using |n is not valid syntax. The index must be a specific numerical value (e.g., 0, 1, 2) to pinpoint a single element within the array. The placeholder n will not resolve and will cause the merge field to fail.

C. To %%Details:Customer|1:ID%
While the syntax |1 is valid for accessing the second element in an array (since indices start at 0), the provided JSON structure shows only one object in the Customer array. Therefore, index 1 is out of bounds, and no data would be found.

D. To$Details:Customer|0:ID$
This uses the wrong delimiters for a merge field in an OmniScript Text Block. The correct delimiters are percent signs %%...%%, not dollar signs $...$. Using incorrect delimiters means the text will be treated as plain text, and the value will not be merged.

Reference
Salesforce OmniStudio Developer Guide: Merge Fields


Page 3 out of 15 Pages
PreviousNext
12345
OmniStudio-Developer Practice Test Home

What Makes Our Salesforce Certified OmniStudio Developer - Plat-Dev-210 Practice Test So Effective?

Real-World Scenario Mastery: Our OmniStudio-Developer practice exam don't just test definitions. They present you with the same complex, scenario-based problems you'll encounter on the actual exam.

Strategic Weakness Identification: Each practice session reveals exactly where you stand. Discover which domains need more attention, before Salesforce Certified OmniStudio Developer - Plat-Dev-210 exam day arrives.

Confidence Through Familiarity: There's no substitute for knowing what to expect. When you've worked through our comprehensive OmniStudio-Developer practice exam questions pool covering all topics, the real exam feels like just another practice session.