Intro to Automation

Automation is a set of conditions that your audience must meet before they receive a message. This page explains the basics of automation.

There are many ways to automate a message using Airship, including:

  • Scheduling a specific message to be sent to users who are predicted to delete your app, and a different message to your most loyal users.
  • Sending a message after a mobile device enters a defined location but delaying the message by 24 hours, asking "How was your visit?"
  • Configuring a message to display in your app when a particular screen is viewed for the third time.
  • Asking a user to rate your app after they have opened the app for the 6th time.
  • Sending a Thank You message after a user opts in to web notifications in their browser.
  • Sending a web push notification to a user who hasn't visited your website for five days.

It may be helpful to think of an automated message not as a single message, but rather as an order form for messages, or even a fulfillment of messages. Once the conditions are set, Airship will look for the triggers that you define and deliver or display the messages according to the rules you put in place.

Automation Methods

There are two types of automation: Automation and In-App Automation. The features have similar names but distinct capabilities.

Use Automation to send messages to your audience based on trigger conditions. You can automate messages for any channel, though supported event triggers vary per channel. The API endpoint for automation is /pipelines.

Use In-App Automation to create messages that are cached on your audience's devices and displayed when display triggers and conditions occur. You cannot create in-app automation messages using the Airship API.


While standard in-app messages appear as banners, automated in-app messages have various style and layout options.

Custom Event Automation and Templates

You can trigger automation based on custom events. When you set up an automation using an Event trigger, you can reference event properties in your message using Airship's Dynamic Content Variable message content using handlebar syntax that you populate at send time. Use dynamic content to personalize messages for each member of your audience. syntax.

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!

Location Triggers

You can trigger automation based on location events, e.g., a user's movement in and/or out of a geofence or proximity to a beacon signal.


In addition to real-time automation triggers, Airship's location service records location events and stores them for later use when constructing Segments for audience targeting.

Our location triggers require integration with one of our location data partners, Gimbal or Radar.

Gimbal sends their location data to Airship via our Gimbal Adapters. An Airship Gimbal Adapter is a drop-in class for iOS, Android, and Amazon that integrates Gimbal Places events with Airship. The Gimbal data can then be used with the Location and Location Attributes triggers:

Location trigger: The message is sent when a device enters or exits a specific geographical location.

Location Attributes trigger: The message is sent when a device enters or exits a geographical location associated with predefined attributes.

Radar sends location data to Airship using our server-side Custom Events API. Whenever location events are generated, Radar will send custom events and properties to Airship. This data can then be used with the Event trigger:

Event trigger: The message is sent when a specified Radar-based custom event occurs.

See the full list of Radar Events.

Using Location Triggers

Detailed usage steps are in the Location Triggers Tutorial. See the partner documentation to configure the integrations:

Gimbal Key Terms

A location is a logical place defined by a set of beacons and/or geofences. Locations are the logical entities that are signalled by devices and may be used to trigger Automated messages.
Attributes are key/value pair metadata associated with a particular location, e.g., chain:BobsBurgers, has_blender:yes. Attributes must be defined and assigned to a particular location in the Gimbal system and synced with an Airship account.
A beacon represents a physical device used for proximity detection. Beacons may represent hardware implementing the iBeacon standard for use with iOS, or proprietary beacons (such as Gimbal beacons) for use with Android. Beacons may or may not have geolocation data associated with them.

A geofence represents a fixed location representable by one or more points in the WGS coordinate system. Geofences can consist of a single point and a radius expressed in meters, defining a circular region, or a series of points defining a polygon.

The Gimbal system refers to your app's locations as Places. A Place is either a single geofence, one or more beacons, or one or more beacons and a geofence.