> For the complete documentation index, see [llms.txt](https://user.netmera.com/netmera-user-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://user.netmera.com/netmera-user-guide/omnichannel-engagement/journey-orchestration/journey-components/action/send-data-push.md).

# Send data push

Use **Send Data Push** to send a custom JSON payload to the mobile SDK through a silent push. The payload does not display a notification on the user's device. The mobile application receives the data and determines how to use it.

For example, an application can use a received content ID to update a recommendation module.

A JSON payload consists of **keys** and **values**. The key identifies the information being sent, while the value contains the data.

```
{
  "contentId": "podcast-123",
  "contentType": "podcast"
}
```

In this example, `contentId` and `contentType` are keys, while `podcast-123` and `podcast` are their corresponding values.

> **Note:** The mobile application must be configured to handle the keys and values included in the payload. Netmera sends the payload, while the application determines how to process the received data.

{% hint style="info" %}
Use this action for immediate-action scenarios. Precise delivery timing is not guaranteed after a time-delayed **Wait** step.
{% endhint %}

### Step 1: Add the action

1. In **Journey Builder**, select **Add Step**.

   1. Under **Action**, select **Send Data Push**.
   2. Enter a **Step Name**.

   Use a name that describes the purpose of the payload, such as **Send podcast recommendation**. The step name is visible only in the journey flow.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2Frp1LD90Xb5s7uN025rm1%2Fimage.png?alt=media&amp;token=4d98f85f-bef5-458c-9528-13103fe3e5b1" alt="Send Data Push action in the journey builder"><figcaption><p>Select <strong>Send Data Push</strong> from the Action section.</p></figcaption></figure>

### Step 2: Choose a payload method

Choose one payload configuration method.

Both methods create the same payload. Choose **Visual Builder** when you want to add fields through the interface. Choose **Edit JSON** when you already have the JSON structure to enter or modify.

Use **Visual Builder** when you need to select profile attributes or journey variables field by field. Use **Edit JSON** when your application team provides the payload structure.

<table><thead><tr><th width="179.7265625">Method</th><th>Use it to</th></tr></thead><tbody><tr><td><strong>Visual Builder</strong></td><td>Build the payload field by field.</td></tr><tr><td><strong>Edit JSON</strong></td><td>Enter or update the JSON payload directly.</td></tr></tbody></table>

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FS0YkuewtUFP6vVqTOMno%2Fimage.png?alt=media&amp;token=2778138e-c3c1-497a-8f4b-dda2350f22ae" alt="Send Data Push value type selection"><figcaption><p>Select a value source for each payload field.</p></figcaption></figure>

### Step 3: Configure payload values

#### Visual builder

Build the payload field by field. Each field consists of a **key** and a **value source**.

The key identifies the data that the mobile application receives. The value source determines where Netmera retrieves the value.

The following value sources are available:

<table data-header-hidden><thead><tr><th width="201.01171875"></th><th></th></tr></thead><tbody><tr><td><strong>Value Source</strong></td><td><strong>Description</strong></td></tr><tr><td><strong>Constant</strong></td><td>Uses the same value for every recipient.</td></tr><tr><td><strong>Journey Variable</strong></td><td>Uses a value from the current journey.</td></tr><tr><td><strong>Profile Attribute</strong></td><td>Uses a value from the recipient's profile.</td></tr></tbody></table>

For example, you can configure the following fields:

<table data-header-hidden><thead><tr><th width="201.59765625"></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Key</strong></td><td><strong>Value Source</strong></td><td><strong>Example</strong></td></tr><tr><td><code>contentType</code></td><td>Constant</td><td><code>podcast</code></td></tr><tr><td><code>campaignId</code></td><td>Journey Variable</td><td>Current campaign ID</td></tr><tr><td><code>favoriteCategory</code></td><td>Profile Attribute</td><td>User's favorite category</td></tr></tbody></table>

The resulting payload may look like:

```
{
  "contentType": "podcast",
  "campaignId": "summer-2026",
  "favoriteCategory": "technology"
}
```

For a **Constant** value, enter the value directly.

For a **Journey Variable** or **Profile Attribute**, select the variable or attribute that contains the required value.

> **Important:** Use keys that match the keys expected by the mobile application. For example, if the application expects `contentType`, using `type` will not work unless the application is implemented to handle that key.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FgIINiradWMoWAAbfSzQN%2Fimage.png?alt=media&amp;token=b476aed5-74fa-4979-b699-18b299f1193c" alt="Send Data Push Visual Builder" width="557"><figcaption><p>Build the JSON payload field by field.</p></figcaption></figure>

#### Edit JSON

Enter or modify the complete JSON payload directly in **Edit JSON**.

Make sure that:

* The payload contains valid JSON.
* The keys match the implementation in the mobile application.
* The values use the expected data types and formats.

<figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2Fzvub6tqyC75qYEXJgYcc%2Fimage.png?alt=media&amp;token=a31a4ea3-9410-41d4-b3e1-ecc27f617b17" alt="Send Data Push Edit JSON editor" width="558"><figcaption><p>Enter or update the payload directly in <strong>Edit JSON</strong>.</p></figcaption></figure>

### Step 4: Save the action

Select **Save**.

The **Send Data Push** step appears in the journey flow. When an eligible user reaches this step, Netmera sends the configured payload through a silent push.

The payload is not displayed as a notification on the user's device. The mobile application receives the data and determines how to process it.

> **Note:** Send Data Push is intended for immediate-action scenarios. Precise delivery timing is not guaranteed when the action follows a time-delayed **Wait** step.

<div align="center"><figure><img src="https://1642824329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FvAs3xg3chgjSoUcsIK3F%2Fimage.png?alt=media&amp;token=90e279bf-de12-4aa4-8364-a3364c96d9b5" alt="Saved Send Data Push step in the journey flow" width="235"><figcaption><p>A saved Send Data Push step in the journey flow.</p></figcaption></figure></div>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://user.netmera.com/netmera-user-guide/omnichannel-engagement/journey-orchestration/journey-components/action/send-data-push.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
