Message scheduling within individual steps is not currently supported. Push, email, and SMS messages send immediately when the user reaches the step. Use a Wait step before the message step if you need a delay.
Push notification
- Click (+) and select Push Notification.
- In the side panel, select an existing message template or create a new one.
- Save the step.
- Click (+) and select Email.
- In the side panel, select an existing email template or create a new one.
- Save the step.
SMS
Before adding an SMS step, confirm you have SMS messaging set up in your OneSignal app.- Click (+) and select SMS.
- In the side panel, select an existing SMS template. If you haven’t created one yet, go to Messages > Templates > + New Template > New SMS Template.
- Save the step.
In-app message
Before adding an in-app message step, confirm you have in-app messaging set up in your app.- Click (+) and select In-App Message.
- In the side panel, design your message using the drag-and-drop editor or HTML editor.
- Optionally configure trigger conditions and a delivery schedule (the window of time the user has to open the app and see the message).
- Save the step.
Session timing
In-app messages require a new session to display. A new session begins when the app has been out of focus for 30+ seconds and is brought back into focus. This means:- The user reaches the in-app message step in the Journey.
- The message does not display during the current session.
- The next time the user opens the app (starting a new session), the message displays if the trigger conditions are met and the delivery schedule has not expired.
In-app messages in a Journey display only once per user. Even if the user re-enters the Journey, the same in-app message will not display again.
Webhooks
In addition to message steps, you can add webhook steps to send real-time data to external systems (CRMs, analytics platforms, custom backends) at any point in the Journey. Webhooks are useful for syncing user state, triggering external workflows, or logging Journey progress outside of OneSignal.Journey webhooks
Configure webhook steps to send data to external tools during a Journey.
FAQ
Can I schedule a message to send at a specific time?
Not within the message step itself. To delay delivery, add a Wait step before the message step. You can also use the Journey’s schedule settings to control when the entire Journey is active.Why didn’t my in-app message display?
In-app messages require a new session to display. If the user was already in the app when they reached the step, the message queues until the next session (app out of focus for 30+ seconds, then reopened). Also check that trigger conditions are met and the delivery schedule has not expired.Will a user see the same in-app message if they re-enter the Journey?
No. In-app messages in a Journey display only once per user, regardless of re-entry. To show a message again, create a new in-app message step with different content.What happens if a user doesn’t have a subscription for the message channel?
The message step is skipped for that user. For example, if an email step is reached but the user has no subscribed email address, the email is not sent and the user continues to the next step in the Journey.Can I personalize Journey messages?
Yes. Push, email, and SMS templates support Liquid syntax for inserting user attributes, Data Tags, and Custom Event properties. Email templates also support Data Feeds for real-time API data at send time.Related pages
Journey webhooks
Send real-time data to external systems at any point in a Journey.
Journey actions
Add wait steps, branching logic, and split paths between message steps.
Journey settings
Configure entry rules, exit rules, re-entry, and scheduling.
Message personalization
Personalize messages with tags, Liquid syntax, and custom event properties.
Templates
Create and manage reusable message templates across channels.
Data Feeds
Pull real-time API data into email messages at send time.