# Integration Procedure data flow and invocation

*Omnistudio Developer Study Guide · Integration Procedures · Last updated October 27, 2026 · https://www.certifyforce.com/study-guide/omnistudio-developer/integration-procedures/integration-procedure-data-flow-and-invocation*

How an Integration Procedure builds its data JSON step by step, how later steps read earlier output with %ElementName:node% merge fields, and how Omniscripts, Flexcards, Flows, REST calls (GET or POST) and Apex (Type_SubType through the Connect API) invoke it.

- Certification: Salesforce Omnistudio Developer
- Exam section: Integration Procedures
- Study guide: https://www.certifyforce.com/study-guide/omnistudio-developer

**Official exam objective:**

> Design and configure server side processes to integrate and orchestrate data between systems.

## What the exam expects

- Trace how an Integration Procedure orchestrates Salesforce and external data in one server call, and predict the data JSON after each step.
- Reference an earlier step's output in a later step with an `%ElementName:node%` merge field, inside literal text or a formula.
- Invoke an Integration Procedure from an Omniscript, a Flexcard, a Flow, a REST call and Apex, and pick the right HTTP method for a request body.
- Call it from Apex with the Connect API using the Type_SubType identifier, and know the Enhanced Runtime Performance prerequisite.

**Exam scope:** the exam guide says a Developer candidate is not expected to have LWC, Apex or Angular development experience. Know that Flows call a procedure through an Apex class with an @InvocableMethod method, that Apex uses the Connect API with Type_SubType, and what the call returns (`response` as a `List<String>`, a job Id under `IPResult` with `useQueueable`); writing the Apex class itself is code-level detail you can skip.

Key terms: **data JSON** (the shared JSON every step reads from and writes to), **element name** (the node a step's output is stored under), **merge field** (`%Step:node%` reference to a data JSON value), **Type_SubType** (the unique identifier used to call the procedure), **Connect API** (`ConnectAPI.OmniDesignerConnect.integrationProcedureExecute`, the Apex entry point).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Where step output goes | Under a node named after the step's element name | [Set Values](https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_for_integration_procedures_50310.htm&language=en_US&type=5) |
| Merge field syntax | `%Element:node%`, colons between levels | [Set Values](https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_for_integration_procedures_50310.htm&language=en_US&type=5) |
| Calculations | Start with `=`, as in `=%Inputs:GrossIncome% * 0.7` | [Set Values](https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_for_integration_procedures_50310.htm&language=en_US&type=5) |
| REST GET vs POST | GET can't pass data with a JSON request body | [Invoke an IP](https://help.salesforce.com/s/articleView?id=sf.os_integration_procedure_invocation_55721.htm&type=5&language=en_US) |
| Flow caller | Apex class with @InvocableMethod | [Invoke an IP](https://help.salesforce.com/s/articleView?id=sf.os_integration_procedure_invocation_55721.htm&type=5&language=en_US) |
| Apex identifier | Type_SubType, such as Auto_CreateUpdateQuote | [Naming](https://help.salesforce.com/s/articleView?id=sf.os_omnistudio_naming_conventions.htm&language=en_US&type=5) |
| Connect API prerequisite | Enhanced Runtime Performance enabled on Omnistudio Settings | [Apex invocation](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_invocation_from_apex_55724.htm&language=en_US&type=5) |
| Connect API output | `response` is a `List<String>`; deserialize entry 0, then read `result` | [Apex invocation](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_invocation_from_apex_55724.htm&language=en_US&type=5) |
| Batch Actions | Not supported on Standard Runtime | [Supported Features](https://help.salesforce.com/s/articleView?id=sf.os_omnistudio_and_omnistudio_for_vlocity_products_and_features_support.htm&language=en_US&type=5) |

## Check yourself

- Why does `%status:code%` return nothing when an HTTP Action named PingCarrier produced the status?
- When must a REST caller use POST rather than GET?
- When does an Apex call to integrationProcedureExecute not route through the Connect API?
- What identifier does Apex pass for Type orders and SubType syncStatus?

## Sources

- [Omnistudio Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_integration_procedures_48334.htm&language=en_US&type=5)
- [Invoke an Integration Procedure](https://help.salesforce.com/s/articleView?id=sf.os_integration_procedure_invocation_55721.htm&type=5&language=en_US)
- [Integration Procedure Invocation from Apex](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_invocation_from_apex_55724.htm&language=en_US&type=5)
- [Set Values Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_for_integration_procedures_50310.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)
- [Work with Data and Lists](https://help.salesforce.com/s/articleView?id=xcloud.os_ips_work_with_data_and_lists.htm&language=en_US&type=5)
- [Manipulate JSON with the Send/Response Transformations Properties](https://help.salesforce.com/s/articleView?id=xcloud.os_manipulate_json_with_the_send_response_transformations_properties_22367.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)
- [Omnistudio Naming Conventions](https://help.salesforce.com/s/articleView?id=sf.os_omnistudio_naming_conventions.htm&language=en_US&type=5)
- [Omnistudio Supported Features](https://help.salesforce.com/s/articleView?id=sf.os_omnistudio_and_omnistudio_for_vlocity_products_and_features_support.htm&language=en_US&type=5)
- [Work with Other Omnistudio Components and Agentforce](https://trailhead.salesforce.com/content/learn/modules/omnistudio-integration-procedure-fundamentals/work-with-other-omnistudio-components-and-agentforce)
- [Configure Your Integration Procedure](https://trailhead.salesforce.com/content/learn/modules/omnistudio-integration-procedure-fundamentals/configure-your-integration-procedure)

## About the full unit

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