Configuration Levels¶
Flexible Configuration¶
Delivery configuration can be done in lots of different ways to suit different configurations and to keep those configuration as minimal as possible.
Each delivery can be individually configured, or have defaults provided by a transport configuration. A limited set of overrides - target,data,enabled - can then be applied by scenarios, people definitions in recipients or in the notification call. (The limited set is to keep both the code and configuration from being so flexible its too complicated to work with.)
| Where | Where | Schema | Notes |
|---|---|---|---|
| Action Data | Runtime call | Delivery Customization | Only target,enabled and data can be overridden |
| Recipient delivery override | Runtime call | Delivery Customization | Only target,enabled and data can be overridden |
| Scenario delivery override | Runtime call | Delivery Customization | Multiple scenarios applied in no special order. Only target,enabled and data can be overridden. |
| Delivery definition | Configuration | Delivery | message and title are the exceptions which override Action Data |
| Transport Delivery Defaults | Configuration | Transport Delivery Defaults | |
| Transport Adaptor Defaults | Code | - | |
| Underlying action defaults | Other Integrations | - | These are configured outside Supernotify |
For example, if there's one specific automation you didn't want to have your alexa_announce delivery applied, you could disable it like this rather than adding more rules to the supernotify config for just one case:
- action: notify.supernotify
data:
title: For Your Eyes Only
message: There might be someone in the house!!!
delivery:
alexa_announce:
enabled: false
Priority order of configuration application¶
- Action Data passed at runtime call
- Recipient delivery override
- Scenario delivery override
- Delivery definition
- Transport defaults
- Target notification action defaults, e.g. mail recipients ( this isn't applied inside Supernotify )