If you want to mute email alerts for a specific pipeline without disabling health tracking, use the Disable alert emails setting under the pipeline’s Advanced settings. See Disable alert emails for details. Webhooks and dashboard health cards are unaffected.
Configure a webhook
Create and manage webhooks from Settings > Webhooks in the Artie dashboard. When configuring a webhook, note the following:- Webhook URL — Must be HTTPS. If the URL is a Slack incoming webhook (
hooks.slack.com), Format defaults to Slack. - Authorization (Bearer token) — Optional. If set, Artie sends
Authorization: Bearer <token>on each delivery. This is a shared secret in the header, not an HMAC signature over the body. - Format — Event Payload sends the raw JSON event (see payload structure below). Slack sends a Block Kit-style payload for Slack incoming webhooks.
Verify your endpoint
After saving your webhook, click on it to open its delivery logs, and click Send test in the top right. You can also select one or more webhooks in the table and use Test selected.Delivery behavior
- Method and content type:
POSTwithContent-Type: application/json. - Authentication: If you configured a bearer token, validate the
Authorizationheader on your server. - Retries: Your endpoint should return an HTTP 2xx status. Non-2xx responses are retried; after repeated failures the webhook will show a Failing status and you will receive email alerts.
Payload structure
Every delivery shares a common envelope. Theevent, message, severity, timestamp, delivery_metadata, and properties fields are always present. The context fields — source_reader_uuid, pipelines, source, destination, environment_uuid, and environment_name — are present on events that have an environment (most pipeline events). environment_uuid and environment_name are omitted on dashboard-origin events with no environment (e.g. dek.generated).
properties field varies by event type — see the individual event pages in the sidebar for field-level details rendered from the OpenAPI spec.
Event Payload deliveries use JSON that is compatible with the Events API, so you can forward webhook events directly to an Events API pipeline for storage and replication.
Event types
| Event | Severity | Description |
|---|---|---|
replication.started | info | The replication process has started. |
replication.error | error | An error occurred during replication. |
row.skipped | warning | A row was not written due to size limits. |
ddl.seen | info | A DDL statement was detected in the CDC stream (MySQL only). |
ddl.applied | info | Artie has applied a schema change to the destination. |
backfill.started | info | A backfill has started for a table. |
backfill.completed | info | A backfill has finished successfully. |
backfill.failed | error | A backfill failed before completing. |
dedupe.started | info | A deduplication job has started for a table. |
dedupe.completed | info | A deduplication job has finished successfully. |
dedupe.failed | error | A deduplication job failed. |
dek.generated | info | A new Data Encryption Key (DEK) was generated. |
Deprecated events
These events are still delivered for backward compatibility but will be removed in a future release.| Event | Use instead |
|---|---|
replication.failed | replication.error |
connection.failed | replication.error |
Troubleshooting
- 2XX required: Return a successful status from your handler; otherwise Artie will retry and may mark the webhook Failing.
- Bearer mismatch: If you set a secret in Artie, your server must accept the same value in the
Authorization: Bearer <token>header. - Slack vs Event Payload: Slack URLs expect Block Kit payloads; use Event Payload for generic JSON consumers.