---
schema_version: "1"
id: 1c7c61a249e8c211f140ab1d2c8b643eb6109874287a6889a4a160cb8bc9f279
title: Set Values for Integration Procedures (Managed Package)
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_set_values_for_integration_procedures.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_for_integration_procedures.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 315555933a2b38bc0da34a1ec58c5e0154b94a12037a4cce3dad3b95e67e4b18
description: For the managed package runtime, the Set Values action sets values in the data JSON of an Integration Procedure literally, using merge fields, or using formulas. This action has many uses. The example includes the most common uses.
products:
  - Omnistudio
release: "264"
---
# Set Values for Integration Procedures (Managed Package)

For the managed package runtime, the Set Values action sets values in the data JSON of an Integration Procedure literally, using merge fields, or using formulas. This action has many uses. The example includes the most common uses.

![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).

![Note](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_note.png)

Note

Any text between two percent (%) signs in a Set Values formula is treated as a [merge field](https://help.salesforce.com/s/articleView?id=xcloud.os_access_integration_procedure_data_json_with_merge_fields.htm&release=264.0.0&type=5 "For the managed package runtime, 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% returns John."). To represent literal percent (%) signs, use the `$Vlocity.Percent` [environment variable](https://help.salesforce.com/s/articleView?id=xcloud.os_environment_variables_in_dataraptors_and_integration_procedures_1.htm&release=264.0.0&type=5 "For the managed package runtime, you can use environment variables to define Default Values and Filter Values, and in Formulas.").

The Set Values action doesn’t support custom labels.

## Uses of Set Values Actions Example

The Integration Procedure that demonstrates Set Values uses restructures, concatenates, and performs simple calculations on input data. All of its components are Set Values actions except the last, which is a Response Action.

To download a data pack of this example for Omnistudio for Managed Packages, click [here](https://volt.my.salesforce.com/sfc/p/o0000000IKm8/a/3m0000005uJO/jiOdsXxhX4DK8YUk6E9ipVqNEGEAj5v.x85U4oUfvgo).

Importing Omnistudio for Managed Packages data packs into Omnistudio orgs is supported, and conversion is automatic. However, importing Omnistudio data packs into Omnistudio for Managed Packages orgs isn't supported.

This example Integration Procedure has the following structure:

![The contents of the Structure panel are listed in the preceding text.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/omnistudio_for_managed_packages/images/setvaluesipstructure.png)

To create the Integration Procedure, go to the Vlocity Integration Procedures tab and click **New**. Provide an **Integration Procedure Name**, a **Type**, and a **SubType**, and click **Save**.

To create each component, drag a Set Values instance into the Structure panel and edit its first **Element Name** property. For the last component, drag in a Response Action instead.

The input data has the following structure:

```
{
    "Name": {
        "FirstName": "John",
        "LastName": "Smith"
    },
    "Finances": {
        "GrossIncome": "100000",
        "Expenses": "60000"
    }
}
```

**Inputs: Rename Nodes in the Input Data**

This component shortens and simplifies the input JSON nodes. Set its Element Value Map as follows:

<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="d59753e158">
              <p style="margin-bottom:0;">Element Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e164">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e158 ">
              <p style="margin-bottom:0;">FirstName</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e164 ">
              <p style="margin-bottom:0;">%Name:FirstName%</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e158 ">
              <p style="margin-bottom:0;">LastName</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e164 ">
              <p style="margin-bottom:0;">%Name:LastName%</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e158 ">
              <p style="margin-bottom:0;">GrossIncome</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e164 ">
              <p style="margin-bottom:0;">%Finances:GrossIncome%</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e158 ">
              <p style="margin-bottom:0;">Expenses</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e164 ">
              <p style="margin-bottom:0;">%Finances:Expenses%</p>
            </td>

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

**LocationData: Add Literal Values**

This component adds literal values, which are useful for testing or for specifying data that doesn't change.Set its Element Value Map as follows:

<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="d59753e256">
              <p style="margin-bottom:0;">Element Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e262">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e256 ">
              <p style="margin-bottom:0;">Location</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e262 ">
              <p style="margin-bottom:0;">San Francisco</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e256 ">
              <p style="margin-bottom:0;">Code</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e262 ">
              <p style="margin-bottom:0;">2345</p>
            </td>

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

**TextWithCode: Concatenate Literal Values and Merge Fields**

This component shows how to concatenate a literal string with a merge field. Set its Element Value Map as follows:

<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="d59753e325">
              <p style="margin-bottom:0;">Element Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e331">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e325 ">
              <p style="margin-bottom:0;">LocationCode</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e331 ">
              <p style="margin-bottom:0;">Code is %LocationData:Code%</p>
            </td>

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

Note that the `%LocationData:Code%` merge field retrieves data from the previous component, LocationData.

**DeptArray: Define an Array**

This component defines an array, or list of values. A later component will retrieve a value from the array. To set up an array, click **Edit as JSON** and edit the `ElementValueMap` node as follows:

```
"elementValueMap": {
   "Departments": [
      "Sales",
      "Development",
      "Support",
      "Training"
   ]
},
```

**AfterTax and CalculateNet: Perform Simple Calculations Using Formulas**

These components calculate after-tax income using multiplication and net income using subtraction. Note that each operator has spaces before and after it. Set the Element Value Map of AfterTax as follows:

<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="d59753e403">
              <p style="margin-bottom:0;">Element Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e409">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e403 ">
              <p style="margin-bottom:0;">AfterTaxIncome</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e409 ">
              <p style="margin-bottom:0;">=%Inputs:GrossIncome% * 0.7</p>
            </td>

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

Set the Element Value Map of CalculateNet as follows:

<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="d59753e450">
              <p style="margin-bottom:0;">Element Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e456">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e450 ">
              <p style="margin-bottom:0;">NetIncome</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e456 ">
              <p style="margin-bottom:0;">=%AfterTax:AfterTaxIncome% - %Inputs:Expenses%</p>
            </td>

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

**ConcatName: Concatenate Two Merge Fields**

This component combines first and last names to form full names. Set its Element Value Map as follows:

<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="d59753e504">
              <p style="margin-bottom:0;">Element Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e510">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e504 ">
              <p style="margin-bottom:0;">FullName</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e510 ">
              <p style="margin-bottom:0;">=%Inputs:FirstName% + " " + %Inputs:LastName%</p>
            </td>

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

Note how a literal space is included.

**RetrieveDept: Use a Function and Retrieving an Array Value**

This component uses the IF function. It also uses listnode`|`listnumber notation to retrieve array values. Set its Element Value Map as follows:

<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="d59753e563">
              <p style="margin-bottom:0;">Element Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e569">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e563 ">
              <p style="margin-bottom:0;">Department</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e569 ">
              <p style="margin-bottom:0;">=IF(%Inputs:FirstName% =
                "John",%DeptArray:Departments|2%,%DeptArray:Departments|3%)</p>
            </td>

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

This component assigns a Department value of Development to anyone named John and a Department value of Support to anyone not named John. Note that the second equal sign has spaces before and after it.

**CalcFirstOfThisMonth: Perform a Complex Date Calculation**

This component uses four nested date functions to return the first day of the current month. Set its Element Value Map as follows:

<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="d59753e620">
              <p style="margin-bottom:0;">Element Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e626">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Element Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e620 ">
              <p style="margin-bottom:0;">FirstOfThisMonth</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e626 ">
              <p style="margin-bottom:0;">=ADDDAY(EOM(ADDMONTH(TODAY(),-1)),1)</p>
            </td>

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

**AssembleOutput: Create the Structure of the Output Data**

This component creates a JSON structure for the transformed data. To set up the structure, click **Edit as JSON** and edit the `ElementValueMap` node as follows:

```
"elementValueMap": {
    "Output": {
        "FullName": "%ConcatName:FullName%",
        "Department": "%RetrieveDept:Department%",
        "AfterTaxIncome": "%AfterTax:AfterTaxIncome%",
        "NetIncome": "%CalculateNet:NetIncome%",
        "Location": "%LocationData:Location%",
        "LocationCode": "%TextWithCode:LocationCode%",
        "FirstOfThisMonth": "%CalcFirstOfThisMonth:FirstOfThisMonth%"
    }
},
```

**Response: Return the Output Data**

This component returns the output data to the entity that called the Integration Procedure. Set one property as follows:

<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="d59753e692">
              <p style="margin-bottom:0;">Send JSON Path</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d59753e698">
              <p style="margin-bottom:0;">Response JSON Node</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Send JSON Path" class="slds-cell-wrap" style="vertical-align:top;" headers="d59753e692 ">
              <p style="margin-bottom:0;">AssembleOutput</p>
            </td>

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

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

## What's Next

- **[Set Values Properties for Integration Procedures (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_properties_for_integration_procedures.htm&release=264.0.0&type=5)**  
    For the managed package runtime, these properties are unique to or function in a unique manner in Set Values actions. The Set Values action sets values in the data JSON of an Integration Procedure literally, using merge fields, or using formulas.
- **[Test the Integration Procedure that Sets Values (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_test_the_integration_procedure_that_sets_values.htm&release=264.0.0&type=5)**  
    For the managed package runtime, after you have created the Integration Procedure that demonstrates Set Values action uses, the final step is to test it.