How overrides work
An override changes part of a message at send time, without editing the template. Courier applies it just before handing the message to the provider, so it works with template-based sends and with any content the template renders. There are two levels:
Use both on the same send if you need to. When the two set the same field, the provider override wins.
Courier applies overrides after the render step. The Rendered tab in the logs won’t show them, only the pre-override output. To see the final payload, look at the provider request in the Raw tab.
Prerequisites
- A template with more than one channel
- A connected provider for each of those channels
Configure channels
1
Set email address fields
Email channels carry sender and recipient fields you set in the channel settings, with variables allowed for dynamic values:
- From:
"Sarah Bennett <notify@acme-corp.com>". TheName <email>form carries the display name, and it is the only way to set one when a provider’s integration has no From Name field. - Reply-To: where replies go.
- CC / BCC: additional recipients, often driven by a variable.
message.channels.email.override.fromon the send, for one message.- The From field here, for every send of this template.
- From Address on the provider integration, for every email through that provider.
Gmail is the exception. It always sends as the authorized inbox, so a From value here has no effect on it. Set the display name with the integration’s From Name instead.
2
Add per-channel conditions
A channel condition skips only that channel, while the rest of the notification still delivers (a template condition, by contrast, stops the whole send). Set them in the channel’s Conditions tab, or over the API with User preferences take precedence over channel conditions. When a user sets custom channel routing, conditions run only within their selected channels.
message.channels.<channel>.if, where each value is an expression evaluated against data and profile:Setting
routing on a send drops the template’s default routing conditions, so include any channel conditions you want in message.channels.3
Override a provider at send time
Adjust how a specific provider sends this one message with See for the push override fields, and each for its override options.
providers.<provider>.override, without changing the template. For example, filter push tokens or set a provider-specific field:4
Check the logs
Send with your settings and open the message in . Confirm the channels that sent, and that each channel condition behaved as expected.