Setting up a webhook
1
Open the webhook settings
Go to Settings > Integrations > Webhooks. Click Add webhook to create a new webhook subscription.
2
Configure the webhook
Fill in the following fields for your new webhook:
- Name — A label to identify this webhook (for example, “Slack notifications” or “ERP sync”).
- URL — The HTTPS endpoint that will receive POST requests from Beebole.
- Secret — A secret key used to sign the payload. Beebole generates one automatically. You can regenerate it at any time by clicking Regenerate.
- Enabled — Toggle whether this webhook is active.
- Events — Choose All events to receive every event type, or select individual events from the list.
3
Configure the webhook
Fill in the following fields for your new webhook:
- Name — A label to identify this webhook (for example, “Slack notifications” or “ERP sync”).
- URL — The HTTPS endpoint that will receive POST requests from Beebole.
- Secret — A secret key used to sign the payload. Beebole generates one automatically. You can regenerate it at any time by clicking Regenerate.
- Enabled — Toggle whether this webhook is active.
- Events — Choose All events to receive every event type, or select individual events from the list.
4
Save and test
Changes are saved automatically as you edit each field. Once the webhook is enabled and your endpoint is ready, trigger an event in Beebole (for example, update a project) and verify that your endpoint receives the request.
Payload format
Beebole sends a JSON POST request to your endpoint for each matching event. The payload structure is:Available events
The following event names can be subscribed to individually or via All events:Verifying the signature
Every request from Beebole includes anX-Beebole-Signature header containing a hex-encoded HMAC-SHA256 signature of the raw request body, prefixed with sha256=. Use your webhook’s Secret to verify this signature before processing the payload.
Example verification in Node.js:
X-Beebole-Event header containing the event name, which is identical to the event field in the JSON body.
Retry behavior
If your endpoint returns a non-2xx HTTP status code, or if the connection times out (requests time out after 10 seconds), Beebole automatically retries delivery with the following delays:
After 5 failed attempts, Beebole stops retrying and abandons the delivery. There is no user-visible delivery log in Beebole — failures are recorded only in Beebole’s internal server logs. Make sure your endpoint responds within 10 seconds — offload any slow processing to a background queue and return a
200 OK immediately.
Managing webhooks
- To edit a webhook, click to expand its card in the list and update the fields. Changes save automatically.
- To disable a webhook temporarily without deleting it, toggle the Enabled switch off.
- To regenerate the secret (for example, if it has been compromised), click Regenerate in the Secret field. Update your endpoint with the new secret before re-enabling the webhook.
- To delete a webhook, click Remove from the webhook card.
Related content
Custom integrations
Build custom integrations using the Beebole GraphQL API.
API introduction
Explore the full Beebole GraphQL API reference and schema.
All integrations
Explore all available Beebole integrations.
Frequently asked questions
Can I configure multiple webhooks for the same URL?
Can I configure multiple webhooks for the same URL?
Yes. You can create multiple webhook subscriptions pointing to the same URL, for example to separate event subscriptions with different secrets or names. Each webhook is independent.
What HTTP method does Beebole use to deliver webhooks?
What HTTP method does Beebole use to deliver webhooks?
Beebole sends all webhook payloads as HTTP POST requests with a
Content-Type: application/json header.How do I know which entities changed when I receive an event?
How do I know which entities changed when I receive an event?
The
entityIds array in the payload contains the IDs of entities that were created or updated. The deleteIds array contains the IDs of entities that were deleted. Use these IDs to query the Beebole API for the current state of the affected records.What happens if my endpoint is down for an extended period?
What happens if my endpoint is down for an extended period?
Beebole retries failed deliveries up to 5 times over approximately 95 seconds. If all retries fail, the delivery is abandoned. Events are not queued indefinitely. To avoid missing events during downtime, ensure your endpoint is highly available or implement a polling strategy with the Beebole API as a fallback.
Can I use webhooks to react to changes made by integrations like Jira or Monday.com?
Can I use webhooks to react to changes made by integrations like Jira or Monday.com?
Yes. Events triggered by any source — including integrations, the Beebole web app, and the API — will fire webhooks if a matching subscription is active. For example, a
projectUpdate event fires whether a project is renamed directly in Beebole or via a Monday.com sync.