# Integration Procedure actions and sub-procedures

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

How to configure the common action properties (Send JSON Path and Node, Additional Input, Send Only Additional Input), Set Values, the Data Mapper actions, Remote Actions (reserialize, invocable actions, System.Callable), HTTP Actions, Integration Procedure Actions for sub-procedures and List Actions.

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

**Official exam objective:**

> Configure Groups, Data Mapper Actions (Extract, Load, Transform), Standard Actions (Remote Actions, HTTP Actions, Response Actions, Sub-Integration Procedures), etc.

## What the exam expects

- Shape an action's input and output with Send JSON Path, Send JSON Node, Additional Input, Send Only Additional Input and their response counterparts, and predict the JSON they produce.
- Configure Set Values for literals, merge fields, formulas and arrays (Edit as JSON).
- Call Data Mapper Extract, Turbo Extract, Load (Post) and Transform actions from a procedure.
- Configure a Remote Action for an Apex class or an invocable action, and fix output that needs reserializing.
- Configure HTTP Actions, Integration Procedure Actions for sub-procedures, and List Actions that merge lists.

Key terms: **Send JSON Path** (trims the incoming JSON to one node before the action runs), **Send JSON Node** (reparents that input under a new name), **Additional Input** (key-value pairs added to the action's input), **Remote Action** (calls an Apex class and method or an invocable action), **sub-procedure** (a child Integration Procedure run by an Integration Procedure Action), **Primary List Key** (the list whose entries survive a List Action merge).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Send JSON Path + Node | `{path:{a:b}}` becomes `{node:{a:b}}` | [Send/Response](https://help.salesforce.com/s/articleView?id=xcloud.os_manipulate_json_with_the_send_response_transformations_properties_22367.htm&language=en_US&type=5) |
| VlocityNoRootNode | Not supported in Integration Procedures | [Send/Response](https://help.salesforce.com/s/articleView?id=xcloud.os_manipulate_json_with_the_send_response_transformations_properties_22367.htm&language=en_US&type=5) |
| Send Only Additional Input | Action accepts only its Additional Input data | [IP Actions](https://help.salesforce.com/s/articleView?language=en_US&id=xcloud.os_integration_procedure_actions_50165.htm&type=5) |
| Set Values array | Edit as JSON, then edit `elementValueMap` | [Set Values](https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_for_integration_procedures_50310.htm&language=en_US&type=5) |
| Standard Runtime Apex interface | System.Callable; VlocityOpenInterface is Managed Package only | [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) |
| Reserialize fixes (Managed Package Runtime page) | Remote Option reserialize = true, or RESERIALIZE in a later Set Values | [Remote Action](https://help.salesforce.com/s/articleView?id=xcloud.os_remote_action_for_integration_procedures.htm&language=en_US&type=5) |
| Invocable action (Managed Package Runtime page) | Remote Class DefaultInvocableAction, Remote Method = action name | [Invocable action](https://help.salesforce.com/s/articleView?id=sf.os_create_a_remote_action_for_an_invocable_action.htm&language=en_US&type=5) |
| HTTP response | Only `getBody()`; binary needs a Remote Action | [HTTP Action](https://help.salesforce.com/s/articleView?id=xcloud.os_http_action_for_integration_procedures_53002.htm&language=en_US&type=5) |
| Sub-procedure name | Type_Subtype in the Integration Procedure property | [IP Action](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_action_for_integration_procedures_53279.htm&language=en_US&type=5) |
| useFuture on a child | Runs as a future method that can return no data | [IP Action](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_action_for_integration_procedures_53279.htm&language=en_US&type=5) |
| Primary List Key | Only that list's entries are retained | [List Action](https://help.salesforce.com/s/articleView?id=xcloud.os_list_action_for_integration_procedures_53568.htm&language=en_US&type=5) |

## Check yourself

- Why must the Apex class behind a Standard Runtime Remote Action use System.Callable rather than VlocityOpenInterface?
- When does a Data Mapper Transform Action skip caching?
- When does a child procedure return no data to its parent?
- What do an HTTP Action's Timeout and Retry Count hold?

## Sources

- [Integration Procedure Actions](https://help.salesforce.com/s/articleView?language=en_US&id=xcloud.os_integration_procedure_actions_50165.htm&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)
- [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)
- [Remote Action for Integration Procedures (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_remote_action_for_integration_procedures.htm&language=en_US&type=5)
- [Create the Integration Procedure with the Remote Action](https://help.salesforce.com/s/articleView?id=sf.os_create_the_integration_procedure_with_the_remote_action_54464.htm&language=en_US&type=5)
- [Create a Remote Action for an Invocable Action (Managed Package)](https://help.salesforce.com/s/articleView?id=sf.os_create_a_remote_action_for_an_invocable_action.htm&language=en_US&type=5)
- [HTTP Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_http_action_for_integration_procedures_53002.htm&language=en_US&type=5)
- [Integration Procedure Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_action_for_integration_procedures_53279.htm&language=en_US&type=5)
- [List Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_list_action_for_integration_procedures_53568.htm&language=en_US&type=5)
- [Omnistudio Data Mapper Transform Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_dataraptor_transform_action_for_integration_procedures_51378.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)
- [Omnistudio Naming Conventions](https://help.salesforce.com/s/articleView?id=sf.os_omnistudio_naming_conventions.htm&language=en_US&type=5)

## About the full unit

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