# Omniscript data flow: action placement and round trips

*Omnistudio Consultant Study Guide · Best Fit Solutions · Last updated October 27, 2026 · https://www.certifyforce.com/study-guide/omnistudio-consultant/best-fit-solutions/omniscript-data-flow-action-placement-and-round-trips*

How data moves through an Omniscript journey: where read, transform and save actions sit, when an action runs as a button or between Steps, why Pre- and Post-Transforms cost a trip, how responses reach elements, how parent and child Omniscripts share action values, and when an Omniscript call belongs in a reusable, cacheable Integration Procedure.

- Certification: Salesforce Omnistudio Consultant
- Exam section: Best Fit Solutions
- Study guide: https://www.certifyforce.com/study-guide/omnistudio-consultant

**Official exam objective:**

> Provide guidance on the appropriate Data Mappers and Integration Procedures to use within an Omniscript to efficiently fetch, transform, and save data to meet specific business outcomes.

## What the exam expects

- Place each data action where the journey needs it: reads at the start of a Step, saves at the end or in the last Step, on-demand checks as a button inside a Step.
- Cut server round trips by bundling the actions between two Steps into one Integration Procedure.
- Explain why a Pre- or Post-Transform Data Mapper on an action costs an extra trip, and when to move the reshaping into the procedure.
- Route responses into the right elements (Response JSON Path and Node, Turbo Extract arrays, asynchronous responses) and trim what is sent.
- Decide where action values go when a parent and a child Omniscript share an Integration Procedure action.
- Justify moving an Omniscript's own HTTP call into an Integration Procedure that can be cached and reused.

Key terms: **round trip** (one client-to-server call); **Pre-/Post-Transform Data Mapper** (server-side reshaping of an action's request or response); **Send/Response Transformations** (trim and reparent JSON); **Extra Payload** (extra key-value pairs an action sends).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Action placement | Button inside a Step or Block; remote call between Steps | [Omniscript Action Elements](https://help.salesforce.com/s/articleView?id=sf.os_omniscript_action_elements_10951.htm&language=en_US&type=5) |
| Several actions between Steps | Use an Integration Procedure to reduce round trips | [Omniscript Best Practices](https://help.salesforce.com/s/articleView?id=sf.os_omniscript_best_practices_8368.htm&language=en_US&type=5) |
| Pre-Transform Data Mapper | Runs on the server, returns the request body to the client | [Common Action Element Properties](https://help.salesforce.com/s/articleView?id=xcloud.os_common_action_element_properties_11090.htm&language=en_US&type=5) |
| Non-Blocking and Fire and Forget | No Pre/Post Data Mapper transforms, no large attachments | [Common Action Element Properties](https://help.salesforce.com/s/articleView?id=xcloud.os_common_action_element_properties_11090.htm&language=en_US&type=5) |
| Turbo Extract response | Nested array; Response JSON Path such as Account\|1 | [Omniscript Data Mapper Action Elements](https://help.salesforce.com/s/articleView?id=xcloud.os_omniscript_data_mapper_action_elements.htm&language=en_US&type=5) |
| Shared action in parent and child | Set values in the parent Omniscript | [Retrieve Data with an Integration Procedure](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_action_12506.htm&language=en_US&type=5) |
| Integration Procedure only | Caching, chaining, list merging, invocation from Apex, REST, Flow | [Integration Procedure Features Not in Omniscripts](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_features_not_in_omniscripts_8210.htm&language=en_US&type=5) |

## Check yourself

- Why trim the request with Send JSON Path and the response with Response JSON Path on an Integration Procedure action?
- When should a Data Mapper Post action be hosted in an Integration Procedure rather than placed directly in the Omniscript?
- Why do elements with default values miss a Non-Blocking procedure's response?
- What happens to an asynchronous Integration Procedure call if the user navigates away from the Omniscript?

## Sources

- [Omniscript Data Mapper Action Elements](https://help.salesforce.com/s/articleView?id=xcloud.os_omniscript_data_mapper_action_elements.htm&language=en_US&type=5)
- [Common Action Element Properties](https://help.salesforce.com/s/articleView?id=xcloud.os_common_action_element_properties_11090.htm&language=en_US&type=5)
- [Omniscript Action Elements](https://help.salesforce.com/s/articleView?id=sf.os_omniscript_action_elements_10951.htm&language=en_US&type=5)
- [Retrieve Data with an Integration Procedure in an Omniscript](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_action_12506.htm&language=en_US&type=5)
- [Integration Procedure Features Not in Omniscripts](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_features_not_in_omniscripts_8210.htm&language=en_US&type=5)
- [Integration Procedure Actions](https://help.salesforce.com/s/articleView?language=en_US&id=xcloud.os_integration_procedure_actions_50165.htm&type=5)
- [Omniscript Best Practices](https://help.salesforce.com/s/articleView?id=sf.os_omniscript_best_practices_8368.htm&language=en_US&type=5)
- [Omnistudio Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_integration_procedures_48334.htm&language=en_US&type=5)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 9 linked practice questions, and unlimited timed mock exams are included with the Omnistudio Consultant pack (USD $19): https://www.certifyforce.com/practice-exams
