---
schema_version: "1"
id: 23f1286a63fb168d890031f581d2cd4b3dd20f1b5ca433a257c32dbe557ddae5
title: Access Integration Procedure Data JSON with Merge Fields (Managed Package)
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_access_integration_procedure_data_json_with_merge_fields.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_access_integration_procedure_data_json_with_merge_fields.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 3327bd35a4ee75d050202f2fab90b12ba50e0802bdb25b1db22e329597a6612e
description: '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.'
products:
  - Omnistudio
release: "264"
---
# Access Integration Procedure Data JSON with Merge Fields (Managed Package)

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`.

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

Merge fields access data JSON using syntax to indicate to an Integration Procedure element that a merge field is present. The syntax requires you to wrap a full JSON path with a percent sign on both ends.

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

Only certain element properties support merge fields.

Text between two percent (%) signs in a Set Values formula or text field is treated as a merge field. 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.").

## Common Use Cases

- Setting values to rename elements, access JSON nodes, run formulas, and populate elements. See [Set Values for Integration Procedures (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_set_values_for_integration_procedures.htm&release=264.0.0&type=5 "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.").
- Access data stored in Integration Procedure elements in a formula or in a future step.
- Access data returned from an action. For example, an Omnistudio **Data Mapper Action** or an **HTTP Action** returns data from Salesforce or an external source. 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.").

## Access the Data JSON

Use existing data JSON in an element property by indicating the use of a merge field.

1. Locate the name of the JSON node in the Integration Procedure's data JSON.
2. Enter the name of the JSON node and wrap the name in percentage signs to indicate it's a merge field. For example, a merge field accessing a JSON node named firstName must use the syntax `%firstName%`.
3. Preview the Integration Procedure to ensure the merge field works correctly.

## Additional Syntax

This table provides additional syntax examples for nested JSON.

<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="d121640e170">
              <p style="margin-bottom:0;">JSON Node</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d121640e176">
              <p style="margin-bottom:0;">Merge Field Syntax Example</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="JSON Node" class="slds-cell-wrap" style="vertical-align:top;" headers="d121640e170 ">
              <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>"ContactInfo": {
    "FirstName": "John"
  }</code></pre>
            </td>

            <td data-label="Merge Field Syntax Example" class="slds-cell-wrap" style="vertical-align:top;" headers="d121640e176 ">
              <p>Use a colon symbol <code>:</code> to access a
                nested JSON node.</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>%ContactInfo:FirstName%</code></pre>
            </td>

          </tr>
          <tr class="">
            <td data-label="JSON Node" class="slds-cell-wrap" style="vertical-align:top;" headers="d121640e170 ">
              <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> "ContactInfo": {
    "ContactInfoList": [
      {
        "FirstName": "John"
      },
      {
        "FirstName": "Adam"
      },
      {
        "FirstName": "Steve"
      }
    ]
  }</code></pre>
            </td>

            <td data-label="Merge Field Syntax Example" class="slds-cell-wrap" style="vertical-align:top;" headers="d121640e176 ">
              <p>Use <code>|n</code> to access a specific node in
                a list. This merge field returns <code>Steve</code>:</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>%ContactInfo:ContactInfoList|3:FirstName%</code></pre>
            </td>

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