Webhooks
Overview
Sifflet webhook integration allows you to receive notifications on your endpoints in case of data quality issues on your datasets. This virtually allows you to integrate Sifflet with any notification and ticketing tool your team might use. Webhooks also enable you to trigger custom remediation workflows upon data quality issues detection.
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 Notification on Monitor Failure
Follow the below steps to configure a monitor to send webhook notification on failure:
- 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 containing details about your monitor failure (and about your incident if the
Create incident when monitor fails
button is toggled) is pushed to your endpoint at each monitor failure.
Payload Examples
There can be three different types of 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"
}
]
}
}
Updated 10 days ago