> ## Documentation Index
> Fetch the complete documentation index at: https://help.lobyco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Push notifications

> Write a push notification inside a campaign, choose who gets it and when, then publish it.

This page helps you create a push notification. It's a short message from your app that shows on the customer's phone. You build it inside a campaign, and it goes out once you publish it.

> [!NOTE]
>
> A push always belongs to a campaign. Open the campaign first, or [create one](/business-documentation/campaigns/create-a-campaign).

## Add a push to your campaign

In Lobyco Nexus, you can add a push in the campaign's **List** view or on its [orchestration canvas](/business-documentation/campaigns/orchestration-canvas). Either way, the **Create Push** form opens.

Add it on the canvas when a flow decides who gets the push, for example a customer event or a segment. Add it in the list when you pick the customers on the push itself. [Recipients](/business-documentation/communication/triggering) explains the difference.

**In the list**

1. Go to **Campaigns** and open the campaign the push belongs to, or [create a new one](/business-documentation/campaigns/create-a-campaign).
2. Select **Add activities**, or **Add activity** if the campaign already has some.
3. On the **Select an activity** page, point at the **Push** tile and select **From scratch**. To start from a saved push instead, select **From template**. [Reuse with templates](/business-documentation/campaigns/reuse-with-templates) explains how.

**On the canvas**

1. Go to **Campaigns** and open the campaign the push belongs to, or [create a new one](/business-documentation/campaigns/create-a-campaign).
2. Select **Orchestration** at the top.
3. In the **Block library**, drag a **Push** block from the **Activity** group onto the canvas.
4. Double-click the block. **Create Activity** opens.
5. Select **From Scratch**. To start from a saved push instead, select **From Template**. [Reuse with templates](/business-documentation/campaigns/reuse-with-templates) explains how.

Once you've saved the form, connect the block to its flow and select **Save** at the top right of the canvas. Connect it before you publish the push, because you can't connect or disconnect it after that. When another block connects into the push, the flow decides who gets it, and its **Segmentation** changes. [What changes in the form](/business-documentation/communication/triggering#what-changes-in-the-form) explains how.

![The Create Push form as it opens from a campaign. The Details panel holds Name, Title and Message, all empty, each with its character limit under it, and In app action with a Choose from list field. Preview sits to the right of Details and is empty. Below them, Segmentation has All customers selected, with Audience under it and a note that messages only go to the customer's subscribed devices. Schedule shows Delivery date 2026/11/02 00:00 and Expiration date 2026/11/29 23:00, filled in from the campaign's dates. Cancel is at the bottom left, and Save and Publish are greyed out at the bottom right.](https://mintcdn.com/lobyco-4c9fb3ad/WYxSmfbwe1zr5xYw/images/push-01-create-push-form-as-it-opens.png?fit=max\&auto=format\&n=WYxSmfbwe1zr5xYw\&q=85\&s=b4696904b7498948d33e9b5727622a0a)

*The Create Push form as it opens*

## Write the message

Fill in the **Details** panel. **Preview** shows the title and message as you type.

| Field | What it does |
| - | - |
| **Name** | Names the push in the portal. Customers don't see it. Up to 255 characters. |
| **Title** | The heading of the notification, shown above the message. Up to 255 characters. |
| **Message** | The text of the notification. Plain text, up to 256 characters. |
| **In app action** | Optional. Sets where the app opens when the customer taps the notification. See [Deeplinks](/business-documentation/communication/deeplinks). |

You can personalise **Title** and **Message** with tags. A tag goes in curly brackets, and each customer gets their own value in its place. The values come from the block before the push in a flow on the canvas. A **Customer event** passes on IDs and the time of the event, and an **Enrich** block adds customer attributes. Type `{` in either field to pick from the tags that block passes on. If you use a tag it doesn't pass on, the field shows an error. **Preview** shows the tag as you typed it, not a customer's value.

A push you add from the **List** view goes out exactly as you typed it, curly brackets and all, so don't use tags there. See [What can connect to what](/business-documentation/campaigns/orchestration-canvas/block-reference#what-can-connect-to-what).

## Choose who gets it

In **Segmentation**, choose who the push goes to.

| Option | Who gets the push |
| - | - |
| **All customers** | Every customer. |
| **Audience** | Customers in the audiences you pick. Under **Select Audience**, select **Select from list** to choose one or more, or **Create new audience** to make one. **Select Snapshots** picks a snapshot of an audience instead. The list shows audiences that are set up for push. |
| **Custom** | The customers the flow sends on. It's set for you once the push is connected to a block before it on the canvas. You can't change it, even if you disconnect the block later. |

Whichever you choose, customers only get the push on devices that are signed up for notifications from your app.

To send a **Custom** push to a group instead, copy it with **Duplicate as draft**, or add a new push from the campaign's **List** view. The copy starts on **All customers**, so check **Segmentation** before you publish it.

![The lower half of the Create Push form, with Audience selected under Segmentation. Under Audience, Select Audience is selected, with a Select from list button and a Create new audience button, and Select Snapshots sits below them. All customers is no longer selected. Above Segmentation is the In app action field, and below it Schedule shows the delivery and expiration dates.](https://mintcdn.com/lobyco-4c9fb3ad/WYxSmfbwe1zr5xYw/images/push-02-segmentation-with-audience-selected.png?fit=max\&auto=format\&n=WYxSmfbwe1zr5xYw\&q=85\&s=065ae61fa1aace219e5bc481d9a76bf6)

*Segmentation with Audience selected*

## Set when it's sent

In **Schedule**, set when the push goes out. If the campaign has dates, both start with them.

| Field | What it does |
| - | - |
| **Delivery date** | When the push starts going out. It can't be earlier than now, or earlier than the campaign's start date. |
| **Expiration date** | When Lobyco stops sending the push. It has to be after the delivery date, and no later than the campaign's end date. |

If the campaign has already started, **Delivery date** starts in the past. Pick a new date before you publish. Until you do, the field shows an error and you can't publish.

To send the push as soon as you publish it, set **Delivery date** to now.

## Save or publish

* **Save** keeps the push as a draft, and nothing is sent. You need a **Name** and a **Title** to save, and an audience if you chose **Audience**.
* **Publish** needs every field marked with a star, and dates that are allowed. See [Set when it's sent](#set-when-it’s-sent). The portal asks you to confirm, and says whether the push becomes active now or on its delivery date. Select **Publish** to confirm.

If the push is on the canvas, publishing the flow doesn't publish the push. Publish the push from its own form too. See [Publish and run it](/business-documentation/campaigns/orchestration-canvas#publish-and-run-it).

Once it's published, the push shows as **Scheduled** or **Active** in the campaign's **List** view. While it's **Scheduled**, you can still change it, or select **Unpublish** to take it back to a draft. To send a scheduled push straight away, open the **⋯** menu on its row and select **Send now**.

Once a push is **Active**, you can't unpublish it. If it goes to **All customers** or an **Audience**, you can't change it either. So check an **All customers** or **Audience** push carefully before you publish it to go out now. An active push in a flow can still be changed, apart from its **Delivery date**. Saving asks you to confirm, because your changes reach customers straight away. An expired push can't be changed at all. [Lifecycle](/business-documentation/communication/lifecycle) covers what you can change at each status.

## Troubleshooting

> **Why can't I change my push?**
>
> It's **Active** and goes to **All customers** or an **Audience**, or it's **Expired**. An active push in a flow can still be changed, apart from its **Delivery date**. See [Save or publish](#save-or-publish) for what you can still change. If something is wrong with an active push, contact Lobyco support.

> **Why can't I pick Push?**
>
> Your user roles decide which activity types you can add. If **Push** is under *These activities are not available*, contact Lobyco support to get access.

If none of these answers your question, contact Lobyco support. Send them the campaign's name and the push's ID, from the top of **Details**.

## Related

* [Recipients](/business-documentation/communication/triggering) — what decides who gets a push, and when, in a flow
* [Lifecycle](/business-documentation/communication/lifecycle) — what each status means, and what you can change at each one
* [Deeplinks](/business-documentation/communication/deeplinks) — what to choose under **In app action**
* [Create a campaign](/business-documentation/campaigns/create-a-campaign) — creating the campaign and adding an activity to it
* [Orchestration canvas](/business-documentation/campaigns/orchestration-canvas) — building the flow a push can sit in
* [Block reference](/business-documentation/campaigns/orchestration-canvas/block-reference) — which blocks can connect to a push


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.