WebHooks & Events - DailyBot Developers
Receive real-time event notifications from DailyBot via webhooks. Subscribe to check-in, form, kudos, and organization events.
WebHooks & Events
DailyBot webhooks let your application receive real-time HTTP notifications when events occur in your organization. Instead of polling the API, you register a URL that DailyBot calls whenever subscribed events happen.
Subscribing to Events
To set up an outgoing webhook, you need to configure three things:
- URL — The endpoint that will receive event payloads
- Event subscriptions — Which event types to listen for
- Object subscriptions — Specific check-ins or forms to filter (optional, not required for all events)
Configure webhooks via the web interface, the Webhooks API, or through Zapier.
Supported Events
Check-in Events
| Event | Description |
|---|---|
| followups.response.completed | Triggered when a member completes a check-in response |
| followups.response.updated | Triggered when a check-in response is modified |
| followups.response.deleted | Triggered when a check-in response is deleted |
Form Events
| Event | Description |
|---|---|
| forms.response.created | Triggered when a form response is submitted |
| forms.response.updated | Triggered when a form response is edited |
| forms.response.deleted | Triggered when a form response is removed |
Kudos Events
| Event | Description |
|---|---|
| kudos.posted | Triggered when kudos are given to an organization member |
Organization Events
| Event | Description |
|---|---|
| organization.user_activated | Triggered when an admin activates a user |
| organization.user_deactivated | Triggered when a user is deactivated |
| organization.team_user_added | Triggered when a user is added to a team |
| organization.team_user_removed | Triggered when a user is removed from a team |
Privacy
Event Payload Structure
All webhook events follow this standard structure:
{
"event": "followups.response.completed",
"event_timestamp": "2026-02-14T09:15:00Z",
"hook": {
"id": "wh-1234-abcd",
"name": "Check-in Responses"
},
"body": {
// Event-specific payload data
}
} Authentication
DailyBot supports three methods to secure your webhook endpoint:
Secret Signature
DailyBot sends an X-BEARER header with a configurable
bearer token. Set this when creating the webhook subscription and validate
it in your endpoint.
// Verify the webhook signature
const signature = req.headers['x-bearer'];
if (signature !== process.env.DAILYBOT_WEBHOOK_SECRET) {
return res.status(401).json({ error: 'Invalid signature' });
} HTTPS Basic Authentication
Embed credentials directly in the webhook URL:
https://username:password@your-app.com/webhooks/dailybot OAuth 2.0 Authentication
Provide an authorization access URL and optional private auth key. DailyBot will obtain tokens from your OAuth provider and include them in webhook requests.
Managing Webhooks
Create and manage webhooks through:
- Web Interface — Navigate to Organization Settings → Integrations
- API — Use the Webhooks API endpoints for programmatic management
- Zapier — Connect DailyBot events to 5,000+ apps via Zapier integration
Testing Webhooks
- Use the
immediate_sample_eventparameter when creating a webhook to receive a test event immediately - Use tools like webhook.site or ngrok for local development
- Log all incoming payloads during development for debugging
- Return a
200 OKresponse quickly — process events asynchronously