Notifications
WasteNot keeps you informed about important events in your account: sync completions, audience updates, errors, and more. This page covers the available notification channels and how to configure them.
Notification channels
WasteNot supports three notification channels. You can enable or disable each channel independently, and configure which event types trigger notifications on each one.
- Name
In-app- Type
- channel
- Description
Notifications appear in the bell icon in the top-right corner of the WasteNot dashboard. These are always enabled and cannot be turned off.
- Name
Email- Type
- channel
- Description
Notifications are sent to the email address associated with your WasteNot account. You can configure which events trigger emails in Settings > Notifications.
- Name
Webhook- Type
- channel
- Description
Notifications are sent as HTTP POST requests to a URL you configure. Useful for integrating WasteNot events with your own systems, Slack, or other tools.
Configuring notifications
Navigate to Settings > Notifications in the WasteNot dashboard to manage your notification preferences. You can enable or disable notifications per event type and per channel.
Each member of your organization manages their own notification preferences independently.
Event types
- Name
sync.completed- Description
A data source sync completed successfully. Includes the data source name and number of records synced.
- Name
sync.failed- Description
A data source sync failed. Includes the error type and suggested next steps. See Troubleshooting for common fixes.
- Name
audience.built- Description
An audience was successfully built or refreshed. Includes the audience size and destination platforms.
- Name
audience.build_failed- Description
An audience build failed. Includes error details and the affected audience.
- Name
audience.synced- Description
An audience was successfully synced to an advertising platform (Facebook Ads, Google Ads, etc.).
- Name
connector.disconnected- Description
A data source lost its authentication. Reconnect it from the data source settings. See Authentication.
- Name
connector.added- Description
A new data source was added to your organization.
- Name
member.invited- Description
A new team member was invited to your organization.
- Name
member.joined- Description
A team member accepted their invitation and joined the organization.
- Name
report.ready- Description
A scheduled or on-demand report is ready to view. See Reports.
Example notification payload
{
"id": "ntf_a056V7R7NmNRjl70",
"type": "sync.completed",
"organization_id": "org_l7cGNIBKZiNJ6wqF",
"payload": {
"connector_id": "conn_a1b2c3d4e5f6",
"connector_type": "shopify",
"connector_name": "My Shopify Store",
"records_synced": 1247,
"duration_seconds": 34,
"completed_at": "2026-03-31T09:00:34Z"
},
"created_at": "2026-03-31T09:00:34Z"
}
Webhook configuration
To receive notifications via webhook, add a webhook endpoint in Settings > Notifications > Webhooks. Up to 5 webhook endpoints are supported per organization.
When configuring a webhook, select which event types it should receive. Each delivery includes a JSON payload with event details.
Webhook properties
- Name
url- Type
- string
- Description
The HTTPS URL where WasteNot will send POST requests. Must be publicly accessible.
- Name
events- Type
- array
- Description
An array of event types this webhook should receive. Use
*to receive all events.
- Name
secret- Type
- string
- Description
A signing secret used to verify webhook deliveries. Generated automatically when you create the webhook.
- Name
is_active- Type
- boolean
- Description
Whether the webhook is currently active. Disabled webhooks will not receive deliveries.
Webhook configuration
{
"id": "whk_xgQQXg3hrtjh7AvZ",
"url": "https://example.com/wastenot/webhooks",
"events": [
"sync.completed",
"sync.failed",
"audience.built",
"audience.build_failed"
],
"secret": "whsec_9f8e7d6c5b4a...",
"is_active": true,
"created_at": "2026-03-15T14:30:00Z"
}
Verifying webhook signatures
To confirm that a webhook was sent by WasteNot and not a malicious actor, verify the request signature. Each webhook request includes an x-wastenot-signature header. The signature is an HMAC-SHA256 hash of the request body, signed with your webhook secret.
Verifying a webhook signature
const signature = req.headers['x-wastenot-signature']
const hash = crypto.createHmac('sha256', secret).update(body).digest('hex')
if (hash === signature) {
// Request is verified
} else {
// Request could not be verified
}
Keep your webhook signing secret safe. If you suspect it has been compromised, rotate it from Settings > Notifications > Webhooks. The old secret will be invalidated immediately.