Event Streams Data

Details on all properties available for Event Streams and Webhooks.

Event Kind

Type: String

The type of message and event (e.g. message.push.received, message.push.sent).

Usage:
{{ event.kind }}


Message Event Kind (OneSignal)Event name (in data set)Event Description
Push Sentmessage.push.sentPush notification successfully sent.
Push Receivedmessage.push receivedPush notification successfully received. See Confirmed Delivery .
Push Clickedmessage.push.clickedPush notification touched on device
Push Failedmessage.push.failedPush failed to be sent. Check the failed message report in OneSignal.
Push Unsubscribedmessage.push.unsubscribedThe Subscription unsubscribed from push.
In-App Impressionmessage.iam.displayedIn-App Message successfully displayed on device
In-App Clickedmessage.iam.clickedIn-App Message clicked on device
In-App Page Displayedmessage.iam.pagedisplayedIn-App Message page is displayed
Email Sentmessage.email.sentEmail successfully sent
Email Receivedmessage.email.receivedEmail received by recipient
Email Openedmessage.email.openedEmail opened by recipient. See Email Message Reports for details.
Email Link Clickedmessage.email.clickedEmail link clicked on
Email Unsubscribedmessage.email.unsubscribedEmail unsubscribed by recipient
Email Reported As Spammessage.email.resporedasspamEmail reported as spam by recipient. See Email deliverability for details.
Email Bouncedmessage.email.hardbouncedEmail returned to sender due to permanent error. See Email Message Reports for details.
Email Failedmessage.email.failedCould not deliver the email to the recipient’s inbox
Email Suppressedmessage.email.supressedThe email was not sent because the email address is on the Suppression list .
SMS Sentmessage.sms.sentSMS sent to recipient
SMS Failedmessage.sms.failedSMS failed to send
SMS Deliveredmessage.sms.deliveredSMS successfully delivered
SMS Undeliveredmessage.sms.undeliveredThe SMS could not be sent


Event properties

The event object includes the following properties:

Event ID

Type: UUID

The event ID generated by OneSignal. Each event.kind will have a unique ID. For the message ID, use message.id.

Usage:
{{ event.id }}


Timestamp

Type: Integer

The UNIX timestamp of the event.

Usage:
{{ event.timestamp }}


UTC datetime

Type: String

A human-readable time of the event in UTC (specifically an ISO string like "2024-02-21T23:45:15.228Z").

Usage:
{{ event.datetime }}


App ID

Type: UUID

The OneSignal App ID.

Usage:
{{ event.app_id }}


Subscription type

Type: String

The subscription type (e.g. iOS, Android, Chrome, Email, SMS, etc).

Usage:
{{ event.subscription_device_type }}


Subscription ID

Type: UUID

The OneSignal Subscription ID.

Usage:
{{ event.subscription_id }}


OneSignal User ID

Type: UUID

The OneSignal created User ID.

Usage:
{{ event.onesignal_id }}


External User ID

Type: String

Your User ID set as the OneSignal External ID alias. Can be empty if not set in OneSignal.

Usage:
{{ event.external_id }}


In-app message page name

Type: String

The name of the page or card that is displayed for certain in-app message events. See In-app message Event Streams for details.

Usage:
{{ event.data.page_name }}


In-app message page ID

Type: String

A unique identifier for the page or card that is displayed for certain in-app message events. See In-app message Event Streams for details.

Usage:
{{ event.data.page_id }}


In-app message target name

Type: String

The name of the button or image block element clicked. Must contain a In-app click action. See In-app message Event Streams for details.

Usage:
{{ event.data.target_name }}


In-app message target ID

Type: String

A unique identifier for the button or image block element clicked. Must contain a In-app click action. See In-app message Event Streams for details.

Usage:
{{ event.data.target_id }}


Example Input

{
  "event.kind": "{{ event.kind }}",
  "event.id": "{{ event.id }}",
  "event.timestamp": "{{ event.timestamp }}",
  "event.datetime": "{{ event.datetime }}",
  "event.app_id": "{{ event.app_id }}",
  "event.subscription_device_type": "{{ event.subscription_device_type }}",
  "event.subscription_id": "{{ event.subscription_id }}",
  "event.onesignal_id": "{{ event.onesignal_id }}",
  "event.external_id": "{{ event.external_id }}",
  "event.data.page_name": "{{ event.data.page_name}}",
  "event.data.page_id": "{{ event.data.page_id}}",
  "event.data.target_name": "{{ event.data.target_name}}",
  "event.data.target_id": "{{ event.data.target_id}}"
}

Message properties

The message object is designed to keep you informed of the messages sent to the end-user. It includes properties like id, template_id, and content, which contains the actual text of the message.

Message ID

Type: UUID
The message ID generated by OneSignal.

Usage:
{{ message.id }}

Message Name

Type: String
The name of the message as set in the dashboard or using the API name property.

Usage:
{{ message.name }}

Message Title

Type: Object
The title of the push message or email subject as set in the dashboard or using the API headings or email_subject properties.

Usage:
{{ message.title }}

Message Contents

Type: Object
The contents of the push or SMS message as set in the dashboard or using the API contents property (clipped at 50 characters). Email contents (email_body) are not provided.

Usage:
{{ message.contents }}

Template ID

Type: UUID
The template ID for a message sent via Journeys or the API template_id property.

Usage:
{{ message.template_id }}

Launch URL

Type: String
The message's launch URL (when using only one URL that is web and app agnostic). See URLs, Links and Deep Links for details.

Usage:
{{ message.url }}

App-Specific URL

Type: String
The message's launch URL when using both a web and app-specific URL. See URLs, Links and Deep Links for details.

Usage:
{{ message.app_url }}

Web-Specific URL

Type: String
The message's launch URL when using both a web and app-specific URL. See URLs, Links and Deep Links for details.

Usage:
{{ message.web_url }}

Example Message Object

{
  "message.id": "f3c9cd09-10d7-4f59-b9bc-66e16607f1d5",
  "message.name": "the-name-you-set",
  "message.title": "Claim 50% Off Today", // email subject example
  "message.title": "{'en':'the message title/headings'}", // push title example
  "message.contents": "{'en':'the message content'}",
  "message.template_id": "the-template-uuid-if-set",
  "message.url": "the-message-url",
  "message.app_url": "the-message-app-url",
  "message.web_url": "the-message-web-url"
}

User properties

OneSignal ID

Type: String

The user’s OneSignal ID.

Usage
{{ user.onesignal_id }}

External ID

Type: String

The user’s External ID.

Usage:
{{ user.external_id }}

Tags

Type: Object

The user’s tags.

Usage:

  • Tags object: {{ user.tags }}
  • Specific tags: {{ user.tags.your_tag }}

Language

Type: String

The user’s language.

Usage:
{{ user.language }}


Subscription properties

Subscription ID

Type: String

The ID of the subscription the message was sent to.

Usage:
{{ user.subscription.id }}

App ID

Type: String

The ID of the app.

Usage:
{{ user.subscription.app_id }}

Subscription Token

Type: String

The token for the subscription the message was sent to.

  • If the type is Email, the token will be an email address.
  • If the type is SMS, the token will be a phone number in E.164 format.
  • If the type is one of the Push options, the token will be a push token.

Usage:
{{ user.subscription.subscription_token }}

Session Count

Type: Number

The session count for the subscription the message was sent to.

Usage:
{{ user.subscription.session_count }}

Language

Type: String

The language set on the subscription the message was sent to.

Usage:
{{ user.subscription.language }}

Game Version

Type: String

The game version set on the subscription the message was sent to.

Usage:
{{ user.subscription.game_version }}

Last Active

Type: Number

The last active time set on the subscription the message was sent to.

Usage:
{{ user.subscription.last_active }}

Play Time

Type: Number

The play time set on the subscription the message was sent to.

Usage:
{{ user.subscription.play_time }}

Amount Spent

Type: Number

The amount spent on the subscription the message was sent to.

Usage:
{{ user.subscription.amount_spent }}

Created At

Type: Number

The creation time of the subscription the message was sent to.

Usage:
{{ user.subscription.created_at }}

Subscribed

Type: Boolean

Indicates whether the subscription the message was sent to is currently subscribed.

Usage:
{{ user.subscription.subscribed }}

SDK

Type: String

The SDK version set on the subscription the message was sent to.

Usage:
{{ user.subscription.sdk }}

Device Model

Type: String

The device model set on the subscription the message was sent to.

Usage:
{{ user.subscription.device_model }}

Device OS

Type: String

The device operating system set on the subscription the message was sent to.

Usage:
{{ user.subscription.device_os }}

Tags

Type: Object

The user’s tags. You can access the entire object or specific tags.

Usage:

  • All Tags: {{ user.tags }}
  • Specific Tag: {{ user.tags.your_tag }}