Webhooks
Overview
Sifflet webhook integration allows you to send notifications about your monitors on your endpoints. Webhooks make it easy to push Sifflet-originating data observability insights wherever you want:
- To any notification and ticketing tool your team is using to keep track of data quality issues over there
- To custom scripts to trigger remediation workflows
- To data catalogs to ensure de-risked data self-service
- And more!
Manage the Integration
Set up the Integration
- Go to your Sifflet application
- Hover the
Settings
entry of the navigation bar and click theCollaboration tools
entry - Look for the
Webhooks
section - Give your webhook a name
- Enter your webhook URL
- Optionally, add a custom header to attach to the payload (for authentication or any other purposes)
- Click the
Send test notification
button. A payload such as the below one gets sent to your endpoint. A success toast notification shows up in Sifflet if a2xx
status code is returned by your endpoint.
{
"eventType": "MONITOR_FAILURE",
"eventDate": "2024-11-13 16:45 UTC",
"monitor": {
"id": "7c8ed50d-f887-40d7-b3e6-d4707d3e549b",
"name": "Test Notification Sifflet Monitor 1",
"link": "https://demo.siffletdata.com/monitors/rule/7c8ed50d-f887-40d7-b3e6-d4707d3e549b/overview",
"description": "Monitor with impacted dashboards",
"displayType": "Is an Email",
"assets": [
{
"name": "Test Notification Dataset 1",
"uri": "bigquery:project-id.dataset-id.Test Notification Dataset 1",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:fb8a475d-5ce5-4925-84e0-fd1faf3442f7/overview"
},
{
"name": "Test Notification Dataset 2",
"uri": "bigquery:project-id.dataset-id.Test Notification Dataset 2",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:41d96fba-28e5-4044-bf05-0a62f6f139be/overview"
}
],
"tags": [
{
"id": "8688f902-f5a5-441e-92d0-38b6f35736b8",
"name": "Test Notification Classification 1",
"description": "Classification 1 description",
"kind": "CLASSIFICATION"
},
{
"id": "9152ba0c-1038-4915-924c-401bc948b3ae",
"name": "Test Notification Tag 1",
"description": "Tag 1 description",
"kind": "GENERIC"
}
],
"terms": [
{
"id": "a361bff5-43cd-4bfd-aef3-2128f497156f",
"name": "Test Notification Term 1",
"description": "Term 1 description"
}
]
},
"monitorRun": {
"id": "bd8c47f0-3500-4933-a4d8-15af938a6597",
"runType": "MANUAL",
"result": "This monitor run failed",
"status": "FAILED",
"date": "2024-11-13 16:45 UTC",
"message": "Monitor message"
},
"isNewIncident": true,
"incident": {
"id": "0921f0d7-13ac-4ac3-bea6-db9cf9673c42",
"link": "https://demo.siffletdata.com/incidents/issue/12345/overview",
"name": "Test Notification Incident with Dashboards",
"compromisedAssets": [
{
"name": "Test Notification Dashboard 1",
"uri": "tableau://example.online.tableau.com/example/2a33ec68-d199-4121-923f-f80ea0f77c30",
"link": "https://demo.siffletdata.com/data-catalog/asset/dashboard:2a33ec68-d199-4121-923f-f80ea0f77c30/overview"
},
{
"name": "Test Notification Dashboard 2",
"uri": "tableau://example.online.tableau.com/example/2bedca4f-80f0-4e61-abd8-1b2ac6cf6d46",
"link": "https://demo.siffletdata.com/data-catalog/asset/dashboard:2bedca4f-80f0-4e61-abd8-1b2ac6cf6d46/overview"
}
]
}
}
- Click the
Add webhook
button.
Send a Webhook Test Notification
Follow the below steps to send a test notification for a configured webhook:
- Go to your Sifflet application
- Hover the
Settings
entry of the navigation bar and click theCollaboration tools
entry - Look for the
Webhooks
section - Find the webhook you want to delete in the list of
Configured webhooks
- Hover over the configured webhook of interest and click the paper plane icon located at the far right end of the row. A payload such as the below one gets sent to your endpoint.
{
"eventType": "MONITOR_FAILURE",
"eventDate": "2024-11-13 16:45 UTC",
"monitor": {
"id": "7c8ed50d-f887-40d7-b3e6-d4707d3e549b",
"name": "Test Notification Sifflet Monitor 1",
"link": "https://demo.siffletdata.com/monitors/rule/7c8ed50d-f887-40d7-b3e6-d4707d3e549b/overview",
"description": "Monitor with impacted dashboards",
"displayType": "Is an Email",
"assets": [
{
"name": "Test Notification Dataset 1",
"uri": "bigquery:project-id.dataset-id.Test Notification Dataset 1",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:fb8a475d-5ce5-4925-84e0-fd1faf3442f7/overview"
},
{
"name": "Test Notification Dataset 2",
"uri": "bigquery:project-id.dataset-id.Test Notification Dataset 2",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:41d96fba-28e5-4044-bf05-0a62f6f139be/overview"
}
],
"tags": [
{
"id": "8688f902-f5a5-441e-92d0-38b6f35736b8",
"name": "Test Notification Classification 1",
"description": "Classification 1 description",
"kind": "CLASSIFICATION"
},
{
"id": "9152ba0c-1038-4915-924c-401bc948b3ae",
"name": "Test Notification Tag 1",
"description": "Tag 1 description",
"kind": "GENERIC"
}
],
"terms": [
{
"id": "a361bff5-43cd-4bfd-aef3-2128f497156f",
"name": "Test Notification Term 1",
"description": "Term 1 description"
}
]
},
"monitorRun": {
"id": "bd8c47f0-3500-4933-a4d8-15af938a6597",
"runType": "MANUAL",
"result": "This monitor run failed",
"status": "FAILED",
"date": "2024-11-13 16:45 UTC",
"message": "Monitor message"
},
"isNewIncident": true,
"incident": {
"id": "0921f0d7-13ac-4ac3-bea6-db9cf9673c42",
"link": "https://demo.siffletdata.com/incidents/issue/12345/overview",
"name": "Test Notification Incident with Dashboards",
"compromisedAssets": [
{
"name": "Test Notification Dashboard 1",
"uri": "tableau://example.online.tableau.com/example/2a33ec68-d199-4121-923f-f80ea0f77c30",
"link": "https://demo.siffletdata.com/data-catalog/asset/dashboard:2a33ec68-d199-4121-923f-f80ea0f77c30/overview"
},
{
"name": "Test Notification Dashboard 2",
"uri": "tableau://example.online.tableau.com/example/2bedca4f-80f0-4e61-abd8-1b2ac6cf6d46",
"link": "https://demo.siffletdata.com/data-catalog/asset/dashboard:2bedca4f-80f0-4e61-abd8-1b2ac6cf6d46/overview"
}
]
}
}
Delete a Webhook
Follow the below steps to delete a webhook:
- Go to your Sifflet application
- Hover the
Settings
entry of the navigation bar and click theCollaboration tools
entry - Look for the
Webhooks
section - Find the webhook you want to delete in the list of
Configured webhooks
- Hover over the configured webhook of interest and click the trash can icon located at the far right end of the row.
Send Webhook Notifications on Monitor Events
Configure a Monitor
Follow the below steps to configure a monitor to send webhook events:
- Go to your Sifflet application
- Create a new monitor or edit an existing monitor
- Go to the
Notification method
section of your monitor wizard - Toggle the
Notify by Webhook
button - Click the
Save
button - A payload is sent on the following events:
- Monitor failure
- Monitor success
- Status change: only status change from failure to success is currently supported
Payload Examples
Monitor Failure
There can be three different types of monitor failure payload formats.
Monitor Failure, No Incident
{
"eventType": "MONITOR_FAILURE",
"eventDate": "2024-11-08 15:48 UTC",
"monitor": {
"id": "7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1",
"name": "SQL Monitor",
"link": "https://demo.siffletdata.com/monitors/rule/7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1/overview",
"description": "Example SQL Monitor",
"displayType": "SQL",
"assets": [
{
"name": "Example Dataset",
"uri": "bigquery:project-id.dataset-id.Example Dataset",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:8a4f0e29-3d32-4b4d-835b-c1d1bdf06f72/overview"
}
],
"tags": [
{
"id": "eb9e1c6a-57b7-4b68-9d4f-7dcbf5434bc2",
"name": "Production",
"description": "Example Tag",
"kind": "GENERIC"
}
],
"terms": [
{
"id": "5d60a51e-e33a-4df7-944e-2b832e1b0c34",
"name": "Revenue",
"description": "Example Business Term"
}
]
},
"monitorRun": {
"id": "3d7e2c1e-2e46-48ea-8b6b-6a3a3e847a34",
"runType": "MANUAL",
"result": "Anomaly detected in 1 timeslot: [2024-11-08] Value = 1 Expected = [value < 0.0].",
"status": "FAILED",
"date": "2024-11-08 15:48 UTC",
"message": "Example Message"
},
"isNewIncident": null,
"incident": null
}
Monitor Failure, New Incident
{
"eventType": "MONITOR_FAILURE",
"eventDate": "2024-11-08 13:01 UTC",
"monitor": {
"id": "7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1",
"name": "SQL Monitor",
"link": "https://demo.siffletdata.com/monitors/rule/7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1/overview",
"description": "Example SQL Monitor",
"displayType": "SQL",
"assets": [
{
"name": "Example Dataset",
"uri": "bigquery:project-id.dataset-id.Example Dataset",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:8a4f0e29-3d32-4b4d-835b-c1d1bdf06f72/overview"
}
],
"tags": [
{
"id": "eb9e1c6a-57b7-4b68-9d4f-7dcbf5434bc2",
"name": "Production",
"description": "Example Tag",
"kind": "GENERIC"
}
],
"terms": [
{
"id": "5d60a51e-e33a-4df7-944e-2b832e1b0c34",
"name": "Revenue",
"description": "Example Business Term"
}
]
},
"monitorRun": {
"id": "3d7e2c1e-2e46-48ea-8b6b-6a3a3e847a34",
"runType": "MANUAL",
"result": "Anomaly detected in 1 timeslot: [2024-11-08] Value = 1 Expected = [value < 0.0].",
"status": "FAILED",
"date": "2024-11-08 13:01 UTC",
"message": "Example Message"
},
"isNewIncident": true,
"incident": {
"id": "c4be7e8a-9f2c-4411-bd8e-091d7b3e1295",
"link": "https://demo.siffletdata.com/incidents/issue/123/overview",
"name": "SQL Monitor",
"compromisedAssets": [
{
"name": "Dashboard Drink Orders Analysis:My New Workbook:default",
"uri": "tableau://dub01.online.tableau.com/demo/4f73d901-8b3d-4dd9-8392-c246715d2b93",
"link": "https://demo.siffletdata.com/data-catalog/asset/dashboard:9e8a0c34-f25a-48d7-9dbe-3c1c745dfb72/overview"
},
{
"name": "Dashboard Food orders Analysis:My New Workbook:default",
"uri": "tableau://dub01.online.tableau.com/demo/ae56b3c2-174f-4a4e-9361-4f7a1e6e8b9d",
"link": "https://demo.siffletdata.com/data-catalog/asset/dashboard:1f87e9c3-6d3b-4a6e-b582-13b7f9a2c7e5/overview"
}
]
}
}
Monitor Failure, Existing Incident
{
"eventType": "MONITOR_FAILURE",
"eventDate": "2024-11-08 13:01 UTC",
"monitor": {
"id": "7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1",
"name": "SQL Monitor",
"link": "https://demo.siffletdata.com/monitors/rule/7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1/overview",
"description": "Example SQL Monitor",
"displayType": "SQL",
"assets": [
{
"name": "Example Dataset",
"uri": "bigquery:project-id.dataset-id.Example Dataset",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:8a4f0e29-3d32-4b4d-835b-c1d1bdf06f72/overview"
}
],
"tags": [
{
"id": "eb9e1c6a-57b7-4b68-9d4f-7dcbf5434bc2",
"name": "Production",
"description": "Example Tag",
"kind": "GENERIC"
}
],
"terms": [
{
"id": "5d60a51e-e33a-4df7-944e-2b832e1b0c34",
"name": "Revenue",
"description": "Example Business Term"
}
]
},
"monitorRun": {
"id": "3d7e2c1e-2e46-48ea-8b6b-6a3a3e847a34",
"runType": "MANUAL",
"result": "Anomaly detected in 1 timeslot: [2024-11-08] Value = 1 Expected = [value < 0.0].",
"status": "FAILED",
"date": "2024-11-08 13:01 UTC",
"message": "Example Message"
},
"isNewIncident": false,
"incident": {
"id": "c4be7e8a-9f2c-4411-bd8e-091d7b3e1295",
"link": "https://demo.siffletdata.com/incidents/issue/123/overview",
"name": "SQL Monitor",
"compromisedAssets": [
{
"name": "Dashboard Drink Orders Analysis:My New Workbook:default",
"uri": "tableau://dub01.online.tableau.com/demo/4f73d901-8b3d-4dd9-8392-c246715d2b93",
"link": "https://demo.siffletdata.com/data-catalog/asset/dashboard:9e8a0c34-f25a-48d7-9dbe-3c1c745dfb72/overview"
},
{
"name": "Dashboard Food orders Analysis:My New Workbook:default",
"uri": "tableau://dub01.online.tableau.com/demo/ae56b3c2-174f-4a4e-9361-4f7a1e6e8b9d",
"link": "https://demo.siffletdata.com/data-catalog/asset/dashboard:1f87e9c3-6d3b-4a6e-b582-13b7f9a2c7e5/overview"
}
]
}
}
Monitor Success
{
"eventType": "MONITOR_SUCCESS",
"eventDate": "2025-02-19 14:20 UTC",
"monitor": {
"id": "7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1",
"name": "SQL Monitor",
"link": "https://demo.siffletdata.com/monitors/rule/7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1/overview",
"description": "Example SQL Monitor",
"displayType": "SQL",
"assets": [
{
"name": "Example Dataset",
"uri": "bigquery:project-id.dataset-id.Example Dataset",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:8a4f0e29-3d32-4b4d-835b-c1d1bdf06f72/overview"
}
],
"tags": [
{
"id": "eb9e1c6a-57b7-4b68-9d4f-7dcbf5434bc2",
"name": "Production",
"description": "Example Tag",
"kind": "GENERIC"
}
],
"terms": [
{
"id": "5d60a51e-e33a-4df7-944e-2b832e1b0c34",
"name": "Revenue",
"description": "Example Business Term"
}
]
},
"monitorRun": {
"id": "0e27324c-a96d-4826-9713-8c1c28690f99",
"runType": "MANUAL",
"result": "No anomaly was detected.",
"status": "SUCCESS",
"date": "2025-02-19 14:20 UTC",
"message": "Example Message"
},
"incident": null
}
Monitor Status Change
{
"eventType": "MONITOR_STATUS_CHANGE",
"eventDate": "2025-02-19 14:20 UTC",
"monitor": {
"id": "1f1901e6-5ae5-466f-9820-9cfeeec3e891",
"name": "SQL Monitor",
"link": "https://demo.siffletdata.com/monitors/rule/7cd1a2b4-d1f5-4b9e-87c3-36e7d2a9b5d1/overview",
"description": "Example SQL Monitor",
"displayType": "SQL",
"assets": [
{
"name": "Example Dataset",
"uri": "bigquery:project-id.dataset-id.Example Dataset",
"link": "https://demo.siffletdata.com/data-catalog/asset/dataset:8a4f0e29-3d32-4b4d-835b-c1d1bdf06f72/overview"
}
],
"tags": [
{
"id": "eb9e1c6a-57b7-4b68-9d4f-7dcbf5434bc2",
"name": "Production",
"description": "Example Tag",
"kind": "GENERIC"
}
],
"terms": [
{
"id": "5d60a51e-e33a-4df7-944e-2b832e1b0c34",
"name": "Revenue",
"description": "Example Business Term"
}
]
},
"monitorRun": {
"id": "0e27324c-a96d-4826-9713-8c1c28690f99",
"runType": "MANUAL",
"result": "No anomaly was detected.",
"status": "SUCCESS",
"date": "2025-02-19 14:20 UTC",
"message": "Example Message"
},
"incident": null,
"fromStatus": "FAILING",
"toStatus": "PASSING"
}
Updated 8 days ago