Automation FAQs
What is an Automation?
Automations provides a toolset to design and implement complex notification workflows with one Automation API.
An Automation is a schema definition that enables the power to easily express complex use cases such as digests, delayed messages, scheduled messages, sending messages to an ad hoc list, and escalation messages.
At a high level, an Automation schema is composed of two parts, Context Properties and Steps.
Learn more: How to Automate Message Sequences
What steps can I use to build an automation?
Steps are the fundamental building blocks of an Automation schema. Automation steps are a set of discrete actions, which are used together to implement complex messaging workflows.
There are seven Automation steps that you can use to build your workflow:
Cancel - Stop and automation using the provided cancellation token
Delay - Delay for a specific time period or until a specific time and date
Invoke - trigger another automation template
Send - send a template to a user
Send List - send a template to list of users (read more about Lists)
Fetch Data-
Update Profile
Learn more: Structuring an automation
How do I build an automation?
Courier automation schema can be defined in two ways:
Ad Hoc Automations via the Automation API.
Ad hoc automations are one-off automations that you define and build with the API call.
An automation template built in the Automation Visual Designer
Templates are defined once in the Courier UI and can be invoked as needed.
How do I trigger an Automation?
There are three ways to trigger or "invoke" an automation run.
automations/invoke
automations/{templateId}/invoke
via a Segment event using Courier's Segment integration
Invoke an ad hoc automation via API
POST - /automations/invoke
Use this endpoint to invoke an ad hoc automation run, by providing a valid automation definition in the request body.
POST - /automations/{templateId}/invoke
Use this endpoint to invoke an automation template by
templateID
Invoke an automation using a Segment event
You can trigger an automation template via Segment event in the Automations Visual Designer once you have fished setting up Courier's Segment Integration
Can I use conditionals in an automation?
Yes, for each type of step, you can define conditions that will determine if a step is executed or not by adding an
if
property.Learn more about Step Conditionals
Can I reference other steps or message status in an automation?
Yes! You can reference metadata in an automation step that set in a step above it. You can also reference the message status of send steps.
Learn more about Step References
What is Automation Run Context?
Run Context refers to a set of special properties, that are used to invoke an automation. Context properties are available to all steps at Step Execution Time (aka runtime).
Run Context can be defined as part of an Ad Hoc Automation or passed as a first class object to an Automation Template.
Run Context is composed of the following properties:
brand
type: string
description: A unique identifier that represents the brand that should be used for rendering the notification.
data
type: object
description: An object that includes any data you want to pass to a message template or accessor type. The data will populate the corresponding template variables.
profile
type: object
description: an object that includes any key-value pairs required by your chosen Integrations (see our Provider Documentation for the requirements for each Integration.) If profile information is included in the request and that information already exists in the profile for the recipientId, that information will be merged.
template
type: string
description: A unique identifier that can be mapped to an individual Notification. This could be the "Notification ID” on Notification detail pages (see the Notifications page in the Courier app) or a custom string mapped to the event in settings.
recipient
type: string
description: A unique identifier associated with the recipient of the delivered message, which can optionally map to a Courier managed profile.