---
schema_version: "1"
id: 2f22756a23f8ee62402d73dcba80f7736f31cf1ba8e822e2ee7260b504e0d440
title: Integration Procedure Actions
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_integration_procedure_actions_50165.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_actions_50165.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 3d04d1ed35148593de530d28d3758770b5855d5d7c153bac8924708630a5525d
description: 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.
products:
  - Omnistudio
release: "264"
---
# Integration Procedure Actions

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.

To add actions, drag elements from the Action elements panel to the canvas or use the connectors (**+**) directly on the canvas. You can easily add, edit, rename, move, or delete actions, and rearrange elements between blocks using **+**. You can also use blocks to group actions for conditional execution, caching, list processing, and error handling.

This table describes the properties common to all Integration Procedure Actions.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
      <colgroup>
        <col>
        <col>
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d30690e46">
            <p style="margin-bottom:0;">Property</p>
          </th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d30690e52">
            <p style="margin-bottom:0;">Description</p>
          </th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Element Name</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Name of the element or node.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Send JSON Path</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Trims the incoming JSON to the specified path before the action is executed. See
              <a href="https://help.salesforce.com/s/articleView?id=xcloud.os_manipulate_json_with_the_send_response_transformations_properties_22367.htm&amp;release=264.0.0&amp;type=5" title="Specify and transform the input and output JSON of Omniscripts or Integration Procedures with the Send and Response Transformation properties. The Send properties transform the input; the Response properties transform the output.">Manipulate JSON with the Send/Response Transformations Properties</a>.
            </p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Send JSON Node</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Reparents the incoming JSON under the specified node. See <a href="https://help.salesforce.com/s/articleView?id=xcloud.os_manipulate_json_with_the_send_response_transformations_properties_22367.htm&amp;release=264.0.0&amp;type=5" title="Specify and transform the input and output JSON of Omniscripts or Integration Procedures with the Send and Response Transformation properties. The Send properties transform the input; the Response properties transform the output.">Manipulate JSON with the Send/Response Transformations Properties</a>.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Response JSON Path</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">After the action is executed, trims the output JSON to the specified path. See
              <a href="https://help.salesforce.com/s/articleView?id=xcloud.os_manipulate_json_with_the_send_response_transformations_properties_22367.htm&amp;release=264.0.0&amp;type=5" title="Specify and transform the input and output JSON of Omniscripts or Integration Procedures with the Send and Response Transformation properties. The Send properties transform the input; the Response properties transform the output.">Manipulate JSON with the Send/Response Transformations Properties</a>.
            </p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Response JSON Node</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Reparents the output JSON under the specified node. To delimit the path, use colons;
              for example, <code>level1:level2:level3</code>. See <a href="https://help.salesforce.com/s/articleView?id=xcloud.os_manipulate_json_with_the_send_response_transformations_properties_22367.htm&amp;release=264.0.0&amp;type=5" title="Specify and transform the input and output JSON of Omniscripts or Integration Procedures with the Send and Response Transformation properties. The Send properties transform the input; the Response properties transform the output.">Manipulate JSON with the Send/Response Transformations Properties</a>.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Send Only Additional Input</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">If checked, accepts only the data in the Additional Input property.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Additional Input</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Additional key-value pairs to be included in the input JSON data. Values can
              include formulas and merge fields.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Return only additional output</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Returns only the data in the Additional Output property.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Additional Output</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Additional key-value pairs to be returned in the output JSON data. Values
              can include formulas and merge fields.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Send Only Failure Response</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Returns only the failure response if the action fails.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Failure Response</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Key-value pairs to be returned in the output JSON data if the action fails.
              Values can include formulas and merge fields.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Execution Conditional Formula</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Specifies a formula that runs before the step is executed. If the formula returns TRUE, the step is executed. If the formula returns FALSE, the step isn't executed. If no formula is specified, the step is executed.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Failure Conditional Formula</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p>Specifies a custom failure condition that runs after the step is executed.</p>
            <p>For example, the Omnistudio Data Mapper Extract Action failing to find any records
              isn't normally considered an error. But you can use a Failure Conditional Formula
              to specify this condition. See the second example under
              <a href="https://help.salesforce.com/s/articleView?id=xcloud.os_handle_errors_using_try_catch_blocks_49845.htm&amp;release=264.0.0&amp;type=5" title="Handle errors in Integration Procedures by using Try-Catch Blocks. A Try-Catch Block lets you &quot;try&quot; running the steps inside it and then &quot;catch&quot; the error if a step fails.">Handle Errors by Using a Try-Catch Block</a>.
            </p>
            <p>If the formula returns TRUE, execution of the step has failed and any key-value
              pairs configured in the Failure Response list are added to the JSON data.
              For example, if this JSON is returned:</p>
            <pre class="line-numbers slds-box slds-box_x-small slds-theme_shade slds-m-top_medium slds-m-bottom_medium slds-scrollable_x"><code>{
                  "Result": {
                  "ErrorCode": "ERR-123",
                  "Success": "FALSE"
                  }
                  }</code></pre>
            <p>These settings identify the error and add the error code to the JSON data:</p>
            <ul>
              <li>
                <p>Failure Conditional Formula: Result:Success == 'FALSE'</p>
              </li>

              <li>
                <p>Failure Response:</p>
                <ul>
                  <li>
                    <p>Key: ErrorCode</p>
                  </li>

                  <li>
                    <p>Value: %StepName:Result:ErrorCode%</p>
                  </li>

                </ul>

              </li>

            </ul>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 "><a name="os_integration_procedure_actions_50165__ul_ohj_34t_hcc"><!-- --></a>
            <ul id="os_integration_procedure_actions_50165__ul_ohj_34t_hcc">
              <li>Terminate when step fails</li>

              <li>Fail on Step Error (If you’re using the designer on a managed package)</li>

            </ul>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">The Integration Procedure ends if this step fails.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Chain On Step</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Allows the action to run in its own Salesforce transaction. This property can
              slow performance but decreases the likelihood of exceeding the Salesforce
              governor limits. For more information, see <a href="https://help.salesforce.com/s/articleView?id=xcloud.os_settings_for_long_running_integration_procedures_56206.htm&amp;release=264.0.0&amp;type=5" title="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.">Settings for Long-Running Integration Procedures</a>.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Property" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e46 ">
            <p style="margin-bottom:0;">Additional Chainable Response</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d30690e52 ">
            <p style="margin-bottom:0;">Specifies a key-value pair that is sent in the response. The value field accepts merge
              field syntax.</p>
          </td>

        </tr>
      </tbody>
    </table>

- **[Assert Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_assert_action_for_integration_procedures_50585.htm&release=264.0.0&type=5)**  
    The Assert Action compares the expected and actual results of a Test Procedure using an expression that evaluates to true or false. You can use environment variables in the Assert Conditional Formula to test performance.
- **[Chatter Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_chatter_action_for_integration_procedures_51040.htm&release=264.0.0&type=5)**  
    The Chatter Action creates a Chatter post and sends it to a Chatter feed.
- **[Decision Matrix Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_decision_matrix_action_for_integration_procedures_51584.htm&release=264.0.0&type=5)**  
    The Decision Matrix Action calls a Decision Matrix with specified inputs and returns the result to the Integration Procedure.
- **[Delete Action](https://help.salesforce.com/s/articleView?id=xcloud.os_delete_action_51927.htm&release=264.0.0&type=5)**  
    Enable users to delete one or more sObject records by using the Delete Action. Use an Object's Record Id to determine which record to delete. Vlocity recommends using a merge field in the Path to Id field that refers to an Id or a list of Ids in the data JSON.
- **[Docusign Envelope Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_docusign_envelope_action_for_integration_procedures_52043.htm&release=264.0.0&type=5)**  
    The Docusign Envelope Action emails a set of documents for signing.
- **[Email Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_email_action_for_integration_procedures_52105.htm&release=264.0.0&type=5)**  
    An Email Action sends the specified email. You can either specify all the email field values or use a Salesforce email template.
- **[Expression Set Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_expression_set_action_for_integration_procedures_52544.htm&release=264.0.0&type=5)**  
    An Expression Set Action invokes the specified Expression Set and returns the results to the Integration Procedure.
- **[HTTP Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_http_action_for_integration_procedures_53002.htm&release=264.0.0&type=5)**  
    The HTTP Action executes a REST call and returns its results to the Integration Procedure. The HTTP Action in Integration Procedures supports only getBody() for returning the response. Use Apex directly via a Remote Action to handle binary responses.
- **[Integration Procedure Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_action_for_integration_procedures_53279.htm&release=264.0.0&type=5)**  
    The Integration Procedure Action runs a subordinate Integration Procedure.
- **[Intelligence Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_standard_intelligence_action_for_integration_procedures.htm&release=264.0.0&type=5)**  
    The Intelligence Action provides input to and runs an Intelligence Machine on Omnistudio.
- **[List Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_list_action_for_integration_procedures_53568.htm&release=264.0.0&type=5)**  
    The List Action merges multiple lists by matching values of specified list item JSON nodes. A basic merge matches node names exactly. An advanced merge matches nodes that have different names or reside at different levels in the incoming lists.
- **[Omnistudio Data Mapper Extract Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_dataraptor_extract_action_for_integration_procedures_51278.htm&release=264.0.0&type=5)**  
    The Data Mapper Extract Action calls the specified Data Mapper Extract to read data from Salesforce and returns it to the Integration Procedure.
- **[Omnistudio Data Mapper Post Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_dataraptor_post_action_for_integration_procedures_51333.htm&release=264.0.0&type=5)**  
    The Data Mapper Post Action calls a Data Mapper Load (post) to write data to Salesforce.
- **[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&release=264.0.0&type=5)**  
    A Data Mapper Transform Action calls the specified Data Mapper Transform to execute transformations on the Data JSON and returns the transformed data.
- **[Omnistudio Data Mapper Turbo Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_dataraptor_turbo_action_for_integration_procedures_51528.htm&release=264.0.0&type=5)**  
    A Data Mapper Turbo Action calls the specified Data Mapper Turbo Extract to read data from Salesforce and returns it to the Integration Procedure.
- **[Remote Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_remote_action_for_integration_procedures_54037.htm&release=264.0.0&type=5)**  
    The Remote Action element calls the specified Apex class and method or the specified invocable action.
- **[Response Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_response_action_for_integration_procedures_54655.htm&release=264.0.0&type=5)**  
    The Response Action ends an Integration Procedure and returns data to the entity that called it. It can also add data to the data JSON or end conditionally. Response Actions are useful for debugging Integration Procedures.
- **[Set Values Action for Integration Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_for_integration_procedures_50310.htm&release=264.0.0&type=5)**  
    The Set Values action sets values in the data JSON of an Integration Procedure using literal values, merge fields, or formulas.