Skip to main content

Webhook Target

The webhook target posts to any HTTP webhook endpoint whenever an automation fires. Any external system that accepts incoming webhooks can be connected to OpenDataDSL automations this way.

IdNameTemplateIcon
odsl.webhookSend a webhook messagesend a message to a webhook at [url] using [template]wifi text-orange

The target works with any service and any action. It supports property-change filtering but not @transformer.

Inputs​

InputDescription
urlThe webhook URL to post to
templateA mustache template for the message
Message formatting

In the current automation handlers, the triggering data is posted to url as JSON and the template input is not applied. The receiving system gets the raw JSON data, not a formatted message. This target also does not support @transformer. Set template because the target asks for it, but do not rely on it to format the payload.


Example: notify an external system when a dataset is complete​

a = AutomationBuilder("dataset", "private", "MY.PROVIDER.FEED").build()

c = SimpleObject()
c.source = "private"
c.service = "dataset"
c.id = "MY.PROVIDER.FEED"
c.action = "complete"
conds = []
conds.add(c)
a.conditions = conds

a.target = "odsl.webhook"
a.template = "When 'MY.PROVIDER.FEED' is complete, send a message to a webhook at [url] using [template]"
a.icon = "wifi text-orange"
a.properties.url = "https://integration.mycompany.com/hooks/odsl"
a.properties.template = "dataset-complete-message"
a.enabled = true
save ${automation:a}

Choosing between webhook and other targets​

TargetBest for
odsl.webhookAny external system with an incoming webhook
odsl.teamsMicrosoft Teams channels
odsl.jiraCreating JIRA tasks
odsl.emailEmail notifications
odsl.queueYour tenant's message queues