Today we're introducing a new preference primitive: channel-level preferences.
While we've always had channel type preferences that let you control preferences for all messages sent for that channel type (like email), there were situations where you might have needed to be more granular with exactly what a user is opting out of.
As an example, if you're using our webhook channel to send messages in your workflow to both "PagerDuty" and "Incident.io", you would have no way in our existing preference model to set a preference for each of these channels, as both would be represented under the http channel type.
Now, using per-channel preferences, you can control exactly which channel a user should or should not receive messages from.
{
"channels": {
// The PagerDuty channel
"145a7412-2e9a-4ae4-ae2d-cbca4f5308fe": true,
// The Incident.io channel
"8b3c9f21-7d4a-4e1b-9c8e-f2a1b5d6c3e9": false
}
}Channel-level preferences work just like channel type preferences in that you can nest them under workflows or categories. They can even be mixed with channel_types.
{
"workflows": {
"new-incident": {
"channels": {
// PagerDuty channel is OFF
"145a7412-2e9a-4ae4-ae2d-cbca4f5308fe": false
},
"channel_types": {
// All emails
"email": true
}
}
}
}Channel-level preferences are available today for all customers. You can read more in our documentation.
Fixes and improvements
- 👀 [CLI] All resources pulled by the CLI now have
$schemafields attached, making it possible to get an editing assist when working with your schemas locally. - 👀 [mAPI] We've introduced new per-channel step level schemas in our OpenAPI spec to aid with editing. Instead of
WorkflowChannelStepthere's nowWorkflowEmailStep,WorkflowInAppFeedStepetc. - 👀 [Dashboard] We've made some large performance improvements to the template editor within the dashboard. Previously, large documents with frequent saves were causing the performance of the editor to regress. Now things should be silky smooth!
- 🐛 [Dashboard] We fixed an issue with the toolbar commands in our template editor.
- 🐛 [Dashboard] We fixed an issue where autocompleting objects in liquid would show an empty value.
- 🐛 [Notification engine] We fixed an issue where using a null actor on the workflow trigger step could cause it to fail.
