A journey is a series of messages that are initiated by a single automation trigger.

Airship sends messages in the series based on your timing settings, and you can also set Conditions Tags that must or must not be present on a device (or channel_id) for members of your audience to receive a message from an automation or journey. The message is not sent if your conditions are not met. that determine the continuation of the series.

Journeys are goal-based. The goal determines how a user exits the journey:

  • Completion: Airship delivers all messages in the journey as long as conditions for delivery are met. Use this ending type for onboarding.

  • Event: Airship stops sending the remaining messages in the journey when the user achieves a desired result — select the custom event that will cause the user to exit the journey. Examples:

    • Abandoned cart: Create a series of reminder messages, and cancel the journey if the user completes a purchase.

    • Introduce new feature: Create a series educating users about a new feature, and cancel the journey if the user engages with the feature.

You can create journeys in the dashboard. Journeys support all channels and message types.

See also: Configure Triggers.

Message Frequency Limiting

Automation limits cap the number of automated messages a device can receive within a time interval, helping prevent you from over-notifying your audience, e.g., a maximum of 4 messages every 10 hours. Each automation and each message in a journey counts toward your automation limit. Automation limits are set at the project level.

Rule limits cap the number of times any member of your audience can trigger a journey, helping prevent you from over-notifying your audience, e.g., a maximum of 1 per day. Rule limits are set per journey.

Your automation limits and counts are displayed below the list of views in Messages » Messages Overview » Ongoing. See also: Manage Automation Limits.

Personalizing the First Message in a Journey

You can trigger journeys based on custom events. When you set up a journey using the Custom Event trigger, you can reference event properties using Handlebars Airship's message personalization syntax using double curly braces ({{handlebars}}). You can use handlebars to insert variables and conditional logic in messages and templates. to personalize the message for each member of your audience. If you have a template set up using event properties, you can reference a template in the first message directly.

You will reference custom event properties in the $[0].properties namespace. If your events have a property called name, you would add it to your message or template using {{$[0]}}.

For example, if you have a custom event representing a purchase, you can send an automated message confirming the purchase and providing information about what the user bought.

Custom Event

   "occurred": "{{event_time}}",
   "user": {
      "named_user_id": "user"
   "body": {
        "name": "purchase",
        "subscribe": true,
        "properties": {
            "customer_name": "user",
            "total": "$48",
            "units": "USD",
            "items": [
                "MLB regulation baseball", "Louisville Slugger"

Message Content

Hi {{$def $[0].properties.customer_name "valued customer"}}!

Thanks for ordering:
{{#each $[0].properties.items}} 1x {{.}}\n{{/each}}
total: {{$[0]}}{{$[0].properties.units}}

We'll message you again when it ships!