An automation target defines what happens when an automation fires. Every automation has exactly one target, which receives the triggered entity and acts on it — sending a notification, running a process, writing to storage, building a curve, and so on.
Targets come in two kinds:
- Built-in targets — provided by OpenDataDSL, available to all tenants, referenced by a short code such as
email or blob
- Custom targets — created by you, either wrapping a built-in target with pre-configured properties, or backed by a custom ODSL script
Built-in targets​
Communication​
| Code | Name | Description | Page |
|---|
email | Send an email | Send a notification email to one or more recipients | Email Target |
email_attachment | Send an email with an attachment | Send the triggered data as a file attached to an email | Email Target |
teams | Send a Teams message | Post a message to a Microsoft Teams channel via webhook | Teams Target |
webhook | Send a webhook message | POST a formatted payload to any external webhook endpoint | Webhook Target |
jira | Create a JIRA task | Create a task in a JIRA project via webhook | JIRA Target |
Storage​
| Code | Name | Description | Page |
|---|
blob | Save to an Azure Blob | Write data to an Azure Blob Storage container | Azure Storage Targets |
adls | Save to an Azure Data Lake | Write data to an Azure Data Lake Storage Gen2 container | Azure Storage Targets |
Queuing​
| Code | Name | Description | Page |
|---|
queue | Send a message to a queue | Publish data to a message queue | Queue Target |
queue_subject | Send a message to a queue with subject | Publish data to a message queue with a configurable subject | Queue Target |
Compute​
| Code | Name | Description | Page |
|---|
process | Run a process | Trigger a named process to run | Process Target |
script | Run a script | Run a named ODSL script | Script Target |
report | Run a report | Run a report using its default configuration | Report Target |
report_range | Run a report with a range | Run a report over a specified date range | Report Target |
Curve and TimeSeries​
| Code | Name | Description | Page |
|---|
curve | Build a Smart Curve | Build and store a Smart Curve | Curve Build Targets |
ecurve | Build an Event Curve | Build an Event Curve and fire downstream automations | Curve Build Targets |
timeseries | Build a Smart TimeSeries | Build a Smart TimeSeries and fire downstream automations | Smart TimeSeries Target |
Dataset​
| Code | Name | Description | Page |
|---|
qualitycheck | Run dataset quality checks | Run the quality checks defined on a dataset | Dataset Check Targets |
criticalcheck | Run dataset critical checks | Run the critical checks defined on a dataset | Dataset Check Targets |
Custom targets​
You can create your own targets to pre-configure built-in targets for your team, or to back a target with a custom ODSL script. See Custom Targets for the full guide.
Common patterns include:
- Pre-filling a Teams or webhook URL so users never handle credentials directly
- Pre-filling a storage account and container so users only need to specify a path
- Backing a target with an ODSL script for logic that no built-in target covers
Advanced target features​
All targets support a set of special @ properties that control when and how the automation fires:
| Property | Applies to | Description |
|---|
@transformer | Any target that supports transformation | ID of a mustache script to reshape the data before delivery |
@propertyName | update action | Only fire when this named property has changed |
@propertyName + @propertyValue | create action | Only fire when the named property equals the given value |
See Advanced automation features for full details and examples.
Related pages​