Recurring Scheduled Messages

Use Airship’s recurring scheduled messages to send periodically at specified intervals.

Recurring scheduled messages have both dashboard and API support, and they also support localization.

Set up recurring delivery in the dashboard

In the Delivery step in the Message composer:

  1. Select Recurring.
  2. Specify the delivery interval by number of hours/days/weeks/months/years. If you selected weeks, also specify which days of the week to send the messsage.
  3. Specify the day and time to send the initial message. You can choose a specific time and time zone, send at a specific time in each user’s time zone, or use Optimal Send TimeAn algorithm that determines the best hour for optimal engagement activity — when each individual member of your audience is most likely to receive and act on your message. iOS, Android, and Fire OS platforms only.. Optimal Send Time is one of our predictive features. Please contact Airship Sales to purchase.
  4. (Optional) Specify when to stop sending the message.
  5. (Optional) Specify dates or days of the week when the message should not be sent. If you selected the hours interval for delivery, you can also specify which hours of the day should be excluded.

Your recurring messages appear in the Ongoing view in Messages Overview, where you can edit, pause, resume, and cancel.

Set up recurring delivery using the API

In the API, using the schedule object, use the recurring object to set cadence and end_time for your recurring scheduled message, including optional exclusions.

Example recurring scheduled message
POST /api/schedules HTTP/1.1
Authorization: Basic <master authorization string>
Accept: application/vnd.urbanairship+json; version=3
Content-Type: application/json

{
   "name": "Recurring Schedule 1",
   "push": {
      "audience": {
         "tag": "earlybirds"
      },
      "device_types": [
         "ios",
         "android"
      ],
      "notification": {
         "alert": "Good Morning!"
      }
   },
   "schedule": {
      "local_scheduled_time": "2020-06-01T14:30:00",
      "recurring": {
         "cadence": {
            "type": "day",
            "value": "1"
         },
         "end_time": "2021-06-01T14:30:00",
         "exclusions": [
            {
               "date_range": "2021-03-01T00:00:00/2021-03-02T00:00:00"
            },
            {
               "hour_range": "12-14"
            },
            {
               "days_of_week": [
                  "saturday",
                  "sunday"
               ]
            }
         ]
      }
   }
}