You are here:
Build an Integration Procedure
To build an Integration Procedure, define its steps and logic by using a combination of Blocks and Actions.
Actions perform specific tasks such as sending email, reading and writing Salesforce data, and running batch jobs.
Blocks allow you to group and control multiple Actions. For example, use Blocks to cache the output, or provide error handling, for the Actions in the Block. You can nest blocks within other blocks. For example, you can nest a Loop Block within a Try-Catch Block or a Cache Block.
You can control a lot about the Integration Procedure as a whole in the Procedure Configuration under the Properties tab. For example:
- Define which data is returned in the response JSON.
- Set the required permissions to run the procedure.
- Track custom data about the performance of the procedure.
- Split the Integration Procedure across multiple transactions to avoid hitting Salesforce governor limits.
- Improve performance by caching data.
- Configure the procedure as a Test Procedure to validate components such as OmniStudio Data Mappers, Apex classes, and other Integration Procedures.
Like the Integration Procedure itself, Actions and Blocks can be configured by using fields under the Properties tab. Actions and Blocks access objects, lists, and other data by name. For example, to use a Loop Block to process items in a list, you enter the name of the list in the Loop List parameter. All Actions and Blocks include a field called Execution Conditional Formula, which you can use to execute the Action or Block only in specific circumstances. One type of Block, the Conditional Block, provides more sophisticated conditional control over a group of Actions.
In the Required Permission field, define roles, profiles, permission sets, or custom permissions.
To write the results of each action to the root level of the Data JSON, you can select Include All Actions in Response.
stepResultFinal array exceeds a size of 1 and results in an error: Cannot Write Array to Root.At the end of an Integration Procedure, you can use a Response Action for Integration Procedures to trim the data and only return what is needed. For specific trimming strategies, see Manipulate JSON with the Send/Response Transformations Properties. To allow an Integration Procedure to exit early under appropriate conditions, use multiple Response Actions with different Execution Conditional Formulas.
By default, all the actions in an Integration Procedure run in a single transaction. If the transaction exceeds a Salesforce governor limit, Salesforce ends the transaction and the Integration Procedure fails. You can’t set a limit that exceeds the maximum imposed by Salesforce. For details about governor limits, see the relevant Salesforce topic.
- Access Integration Procedure Data JSON with Merge Fields
Enable Integration Procedure elements and element properties to access data JSON using merge fields. A merge field is a variable that references the value of a JSON node. For example, if a JSON node is"FirstName": "John", then the merge field%FirstName%returnsJohn. - Environment Variables in Omnistudio Data Mappers and Integration Procedures
You can use environment variables to define Default Values and Filter Values, and in Formulas. - External Objects in Integration Procedures
Integration Procedures support Salesforce External Objects. The external data can come from any source that can be accessed using a REST endpoint. The returned data can be rendered as JSON or XML. - Work with Data and Lists
Use Integration Procedures to read, write, and transform complex, hierarchical data from Salesforce objects and other sources. Use actions to work with data, and blocks to process it. - Define Execution Logic
Define conditional flow in Integration Procedures by using the Execution Conditional Formula field on an action or block, or by using a Conditional Block to compose a series of mutually exclusive conditions. - Send Email from an Integration Procedure
To send email from an Integration Procedure, use an Email Action. You can either specify all the email field values or use a Salesforce email template. - Make an HTTP Call from an Integration Procedure
This Integration Procedure example retrieves the astronomy picture of the day from NASA using NASA's publicly available REST API. - Call an Apex Class or an Invocable Action from an Integration Procedure
To call an Apex class and method, or an invocable action, use a Remote Action and pass in invocation options and data. - Improve Performance by Using Caching
Omnistudio offers multiple caching options to improve performance and minimize unnecessary data processing in Integration Procedures. The two primary user-configurable caching types are Org Cache and Session Cache, which are available in Integration Procedure designer. These caching mechanisms are part of the Salesforce Platform Cache and are implemented through Scale Cache in Omnistudio with standard runtime. Each serves a distinct purpose and comes with specific configuration considerations. - Handle Errors in Integration Procedures
You can configure the conditions for success or failure of an Integration Procedure action or group of actions. - Integration Procedure Best Practices
To maximize the benefits of Integration Procedures, follow the best practices whenever possible.

