---
schema_version: "1"
id: b4da97345285dcbb64ac9c31e43850cd40133123fdbbfc144ea625786248954e
title: Create an Integration Procedure (Managed Package)
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_create_an_integration_procedure.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_create_an_integration_procedure.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 7242df190599225c2c257b74c37c799bc95d086257c8f932dd1bd54ea979ef77
description: For the managed package runtime, to create an Integration Procedure, you must name it, configure it, define its logic, and preview how it runs. You can also view debugging information and set options that apply only to previews.
products:
  - Omnistudio
release: "264"
---
# Create an Integration Procedure (Managed Package)

For the managed package runtime, to create an Integration Procedure, you must name it, configure it, define its logic, and preview how it runs. You can also view debugging information and set options that apply only to previews.

![Managed Package app icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/resources-global/_corporate/images/managedpackageicon.png) This information is for Omnistudio for Managed Packages. For Omnistudio on standard runtime, see [Omnistudio Help](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_standard.htm&language=en_US).

For step-by-step details of how to build Integration Procedure examples, see the block and action topics under [Group Integration Procedure Steps Using Blocks (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_group_integration_procedure_steps_using_blocks.htm&release=264.0.0&type=5 "For the managed package runtime, in an Integration Procedure, you can run a group of related steps as a unit inside a block to execute them conditionally, cache them, repeat them for each item in a list, or return an error if they fail.") and [Integration Procedure Actions (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_actions.htm&release=264.0.0&type=5 "For the managed package runtime, to compose an Integration Procedure, you add actions that run sequentially. These actions can set data values, perform functions, call Omnistudio Data Mappers, invoke Apex classes, send emails, invoke REST endpoints, run other Integration Procedures, and more.").

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/images/icon_tip.png)

Tip

You can watch a [video](https://salesforce.vidyard.com/watch/tRakXmYixa53N6euv4Y98q) that shows how to create an Integration Procedure.

1. Go to the Vlocity Integration Procedures tab.
2. Click **New**. The New Integration Procedure screen is displayed.
3. In the Procedure Configuration section, specify the following settings:
    
    - Integration Procedure Name — The name displayed on the Integration Procedures tab when you expand the Type/SubType node. Make the Name unique.
    - Type and SubType — The top-level node on the Integration Procedures tab under which you want the Integration Procedure listed. The Type can be a category. Make the SubType unique.
        
        After providing a Name, Type, and SubType, you must click **Save**. You only have to save this one time.
    - Description — A general description of the Integration Procedure.
    - Tracking Custom Data — Key/value pairs to be recorded when the Integration Procedure is executed, if [tracking](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_event_tracking.htm&release=264.0.0&type=5 "For the managed package runtime, for Integration Procedures, the following events are tracked. When one Integration Procedure calls another, and you enable tracking only in the calling Integration Procedure, events in the called Integration Procedure are also tracked.") is enabled.
    - Include All Actions in Response — Write the results of each action to the root level of the Data JSON. By default, results are written to the Data JSON under a node with the same name as the action.
    - Rollback on Error — If an error occurs, roll back data manipulation language (DML) statements.
    - Required Permission — If specified, this setting limits who can run this Integration Procedure. Specify a comma-separated list of custom permission names.
    - Chainable and Queueable Chainable Limits — These settings control how long-running procedures are executed when there’s a risk of hitting Salesforce governor limits. For details, see [Settings for Long-Running Integration Procedures (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_settings_for_long_running_integration_procedures.htm&release=264.0.0&type=5 "For the managed package runtime, you can use chainable and queueable chainable settings to avoid hitting Salesforce governor limits when invoking long-running Integration Procedures. You can also chain on one or more specific long-running steps.").
    - Cache Configuration — These settings control caching of Integration Procedure metadata and JSON data. See [Cache for Omnistudio Data Mappers (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_cache_for_dataraptors_and_integration_procedures.htm&release=264.0.0&type=5 "For the managed package runtime, Omnistudio offers multiple caching options to improve performance and minimize unnecessary data processing in Data Mappers. The two primary user-configurable caching types are Org Cache and Session Cache, which are available in the Data Mapper designer. These caching mechanisms are part of the Salesforce Platform Cache and are implemented through Vlocity Cache in Omnistudio with managed package runtime. Each serves a distinct purpose and comes with specific configuration considerations.").
4. To define the logic for the Integration Procedure, drag blocks and actions from the palette to the Structure panel in the Properties pane. For details about blocks, see [Group Integration Procedure Steps Using Blocks (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_group_integration_procedure_steps_using_blocks.htm&release=264.0.0&type=5 "For the managed package runtime, in an Integration Procedure, you can run a group of related steps as a unit inside a block to execute them conditionally, cache them, repeat them for each item in a list, or return an error if they fail."). For details about actions, see [Integration Procedure Actions (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_actions.htm&release=264.0.0&type=5 "For the managed package runtime, to compose an Integration Procedure, you add actions that run sequentially. These actions can set data values, perform functions, call Omnistudio Data Mappers, invoke Apex classes, send emails, invoke REST endpoints, run other Integration Procedures, and more.").
    
    When a step executes, its results are written to the Data JSON under a node with the same name as the step. Subsequent steps can access the data that was written to the Data JSON by preceding steps.
5. To test the Integration Procedure, click **Preview**. In the Input Parameter pane, specify any parameters that must be provided by callers, then click **Execute**. Verify that the JSON results are composed correctly according to the requirements of the caller.
6. To correct a component, click it in the Structure panel and edit its properties.
7. To view debugging information in Preview mode, display the Error/Debug Output pane on the right side of the Integration Procedure Designer. This pane contains the following subpanes:
    
    - Debug Log — Output from the execution of each step in the procedure.
    - Errors — Any errors that occurred during execution.
    - Options — JSON containing Boolean flags that you can set to enable or disable run-time options for debugging. These options are for debugging only, and by default aren’t in effect when the Integration Procedure is called from an Omniscript.
        
        - isDebug — Enable or disable display of debugging information.
        - chainable — Enable or disable chaining during execution, to prevent a long-running procedure from exceeding Salesforce governor limits. For details about chaining, see [Settings for Long-Running Integration Procedures (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_settings_for_long_running_integration_procedures.htm&release=264.0.0&type=5 "For the managed package runtime, you can use chainable and queueable chainable settings to avoid hitting Salesforce governor limits when invoking long-running Integration Procedures. You can also chain on one or more specific long-running steps.").
        - resetCache and ignoreCache — Enable or disable caching features. For details about caching, see [Cache for Omnistudio Data Mappers (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_cache_for_dataraptors_and_integration_procedures.htm&release=264.0.0&type=5 "For the managed package runtime, Omnistudio offers multiple caching options to improve performance and minimize unnecessary data processing in Data Mappers. The two primary user-configurable caching types are Org Cache and Session Cache, which are available in the Data Mapper designer. These caching mechanisms are part of the Salesforce Platform Cache and are implemented through Vlocity Cache in Omnistudio with managed package runtime. Each serves a distinct purpose and comes with specific configuration considerations.").
8. To create a new version of an Integration Procedure, click **Create Version**.
    
    To clone an Integration Procedure instead, change the Integration Procedure Name and SubType, then click **Save**. Changing the Type is optional.
9. To activate an Integration Procedure so other Omnistudio components can call it, click **Activate Version**.
    
    Only one version can be active at a time. You can't edit the active version.