A webhook is a notification sent from one application to another using HTTP requests. The can be configured to send webhook notifications to other applications based on the outcome of job executions. For example, you can configure the
to send a text message to a channel in your enterprise's messaging platform when jobs from a flow succeed or fail or both.
For more information, see Create Flow Webhook Task.
Steps:
true
.See Workspace Admin Page.
If necessary, you can restrict the IP address and URLs to which webhook requests can be sent.
NOTE: If you are permitting webhook requests to be submitted back to the |
Steps:
Modify the following settings:
Setting | Description | |
---|---|---|
webapp.webhookSettings.forbiddenIPs | This list contains the set of IP addresses that are not permitted to be sent webhook requests.
Addresses can be submitted in IPv4 or IPv6 format. Values are delimited by semi-colons. | |
webapp.webhookSettings.allowedUrlRegexes | As needed, you can create a regular expression to limit the permitted URLs to which webhooks can be sent. |
Webhooks can be configured to submit requests back to the . For example, you can configure a webhook request to run a job after completion of a job. However, since a webhook request could be any REST API request to a target platform, it is potentially risky to enable webhook requests from the
to itself. To limit security risks:
Where possible, specify URLs instead of IPs, which are more likely to change.
The allowed URL regexes are processed first. For security, you can restrict access to the to only the permitted endpoint version
v4
:
webapp.webhookSettings.allowedUrlRegexes: ['^http:\/\/my\.trifacta-instance\.com\/v4.*$'] |
Accounts used for webhook requests should be limited in scope.
Tip: You can create a |
If a webhook request fails to be received by the target application, the retries sending the request. You can configure the following parameters pertaining to these retries:
Parameter | Description |
---|---|
webapp.webhookQueue.maxRetries | The maximum number of times that a failed webhook request is sent. Default is 1 . |
webapp.webhookQueue.retryDelayMs | The number of milliseconds between a failure and retrying to send the request. Default is 1000 (one second). |
webapp.webhookSettings.timeoutMs | Global timeout setting for webhooks in milliseconds. |
As needed, you can sign the webhook requests that are submitted to a target platform.
NOTE: For each target application that requires a signed request, you must deploy a secret key in the request, and the target application must be defined to expect this key. |
NOTE: Adding signatures may require custom coding or configuration in the target application. |
For more information, see Create Flow Webhook Task.
When you create a new webhook task, you can optionally send a test webhook message to verify that the task is properly configured. As needed, this Test button can be disabled.
Set the following parameter to false
:
"webapp.webhookSettings.testWebhook": false, |
Webhook notifications can be defined to be sent on the success or failure of executed jobs. These notifications are defined on a per-flow basis but can be restricted to individual outputs as needed. For more information, see Create Flow Webhook Task.