# Push Notification Task

The **Push Notification Task** is used to send notifications to **mobile applications** as part of a business process.\
It supports both **Android** and **iOS** platforms and integrates with a push‑notification hub to deliver messages to end users.

The Push Notification Task is represented by a **rectangular BPMN activity node**, as shown below.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FaVFLrEtqoeBj1GHrqOiI%2F0?alt=media" alt=""><figcaption></figcaption></figure>

***

### Purpose

The **Push Notification Task** enables a process to:

* Notify mobile users about task assignments
* Send alerts, reminders, or status updates
* Trigger mobile engagement during or after process execution

It communicates with a **push‑notification hub** and delivers messages to:

* Android applications
* iOS applications\
  (or both from a single task configuration)

***

### Push Notification Task Configuration Overview

The Push Notification Task configuration panel consists of **three main tabs**:

1. **General**
2. **Business Object**
3. **Push Notification**

Each tab defines a specific area of configuration.

***

### General Tab

The **General** tab contains basic metadata for the Push Notification Task, including:

* Task name
* Task ID
* Description

These properties help document and identify the notification step within the process flow.

> **Important**\
> Always click **Save Panel** to persist configuration changes.

***

### Business Object Tab

The **Business Object** tab is used to configure and map:

* Input parameters (such as message content, user identifiers)
* Output parameters (if required)

This mapping allows dynamic message content to be generated based on process data and sent to the mobile application.

***

### Push Notification Tab

The **Push Notification** tab defines **platform‑level and connection settings**.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FtrrjW8twMpju6ctLDMrn%2F1?alt=media" alt=""><figcaption></figcaption></figure>

#### Core Properties

| Property         | Mandatory   | Description                             |
| ---------------- | ----------- | --------------------------------------- |
| Application Name | Yes         | Target mobile application name          |
| Use Environment  | No          | Load Node URL from environment variable |
| Node URL         | Yes         | URL of the push‑notification hub        |
| Android Platform | Conditional | Enable Android notifications            |
| iOS Platform     | Conditional | Enable iOS notifications                |

> Both **Android** and **iOS** platforms can be enabled within a single Push Notification Task.

***

### Android Platform Configuration

When **Android Platform** is enabled, the following settings must be configured.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FiZK67zo1nE7T5z3tgEb9%2F2?alt=media" alt=""><figcaption></figcaption></figure>

#### Android Properties

| Property     | Mandatory | Description                                             |
| ------------ | --------- | ------------------------------------------------------- |
| Collapse Key | No        | Allows newer messages to replace older undelivered ones |
| Package Name | Yes       | Android application package name                        |
| Priority     | Yes       | Message priority: **High** or **Normal**                |
| Server Key   | Yes       | Firebase server key for Google services                 |

**Priority behavior**

* **High**: Wakes device and delivers immediately
* **Normal**: Delivery may be delayed when device is in Doze mode

***

### iOS Platform Configuration

When **iOS Platform** is enabled, users must provide certificate and key details.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2F2K9ZHIyZuJGfDm9Ow12d%2F3?alt=media" alt=""><figcaption></figcaption></figure>

#### iOS Properties

| Property                | Mandatory | Description                               |
| ----------------------- | --------- | ----------------------------------------- |
| Package Name            | Yes       | iOS application bundle identifier         |
| Production Cert File    | Yes       | Production certificate file               |
| Production Key File     | Yes       | Production private key file               |
| Password for Production | Yes       | Password for production certificates      |
| Dev Cert File           | Yes       | Development certificate file              |
| Dev Key File            | Yes       | Development private key file              |
| Password for Dev        | Yes       | Password for development certificates     |
| Is Production?          | Yes       | Use production or development environment |

The **Upload** button is used to upload certificate and key files for both environments.

***

### Mapping Parameters

Both **Android** and **iOS** configuration panels include an **Open Mapping Parameter** button.

Clicking this button opens the **Mapping Parameter** screen, allowing users to:

* Map process data to notification payload
* Define dynamic message content
* Map identifiers such as user ID, device token, or message text

Mappings can be configured for:

* **Input parameters**
* **Output parameters** (if applicable)

***

### Best Practices

* Use environment variables for Node URL and sensitive values
* Keep notification payloads concise
* Enable only required platforms per task
* Test push notifications in both dev and production environments
* Ensure certificates and server keys are kept secure

***

### Summary

The **Push Notification Task** enables real‑time communication with mobile users during process execution.

Key capabilities:

* Supports Android and iOS platforms
* Integrates with push‑notification hubs
* Allows dynamic message generation via Business Objects
* Supports both development and production configurations
* Enhances user engagement and responsiveness

The Push Notification Task is essential for **mobile‑integrated workflows** that require timely user awareness and action within ONEWEB processes.


---

# Agent Instructions: 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:

```
GET https://docs.onewebstack.com/oneweb-platform-th/designer-reference/process-designer/process-designer-component/activity-nodes/push-notification-task.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
