Event Streams Data

Details on all properties available for Event Streams and Webhooks.

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 }}

Type

Type: String

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

Usage:
{{ event.kind }}

The message can be: iam, push, email, sms.

The event can be:

  • sent - The push, email, or sms was sent to the Subscription
  • received - The push or email was received by the Subscription. See Confirmed Delivery.
  • clicked - The in-app, push, or email link was clicked by the user.
  • failed - The push, email, or sms failed to send. See message results for details.
  • unsubscribed - The push, email, or sms Subscription became unsubscribed.
  • opened - The email was opened. See Email Message Reports for details.
  • spam - The user reported email as spam. See Email deliverability for details.
  • bounce - The email address bounced. See Email Message Reports for details.
  • suppressed - The email was not sent because the email address is on the Suppression list.
  • page_displayed - A card on the in-app carousel displayed to the user.
  • impression - The in-app displayed to the user.

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 }}

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 }}"
}

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 }}