How to configure Channel and Integration priority, send rules and preferences in Courier.
Setting Channel and Integration Send Priority
The priority of the Channels and Integrations you select for your Notification are arranged in a top-to-bottom hierarchy. To change priority, simply drag and drop Channels and Integrations up or down.
Read more: What are Channels and Integrations?
Understanding Channel and Integration Send Priority
Notifications can be designed to send through multiple prioritized channels or integrations. Integrations within a channel can also be prioritized.
Why Send Priority Matters
Your Notification will send via the highest-ranked Integration for which you have provided user contact information. You must provide Courier your user's contact information within their Courier recipient Profile or via the Send API call itself.
Take, for example, a notification that is designed to send via Twilio, Slack or email - in that order of priority:
Courier will first attempt to send the notification via Twillio. If the recipient has a phone number in their profile, the Notification will send via Twilio only. If they don't have a phone number, Courier will look for a Slack account. Finally, if they don't have a phone number or slack account, Courier will look for an email address.
In the same example, there are two integrations in the email channel settings, SendGrid and Mailgun:
Because SendGrid is at the top in priority order, Courier will attempt to send this notification to users with an email in their profile via SendGrid first. If that is unsuccessful, it will try again using Mailgun.
Just like channels, Integrations are prioritized in a top-to-bottom hierarchy which can be changed using drag and drop.
Always Send Rule
There is also the option to “Always send to” a certain Integration. For example, a Notification might be configured for Twilio, Slack and email, in that order. The sender can choose to “Always send to” email, overriding the hierarchy so that every recipient receives an email (provided their profile contains an email address).
Then, in addition to email, recipients with a Slack configuration in their profile will receive a Slack message as well. Recipients who do not have a Slack configuration in their profile, but do have a phone number, will receive the message via Twilio, as well as email.
Always send to can be done for any channel, and is managed in the Channel Settings:
User-Specific Sending Preferences
A sender can also assign a preferred Integration to a specific recipient, using the Preferences API. This will override the hierarchy of the Channel Rules and send the message only via the Integration specified in the recipient's Profile.