Webhooks
Webhooks deliver real-time notifications when data changes in your Journeybee workspace. Use them to sync leads into your CRM, trigger a Zap, notify an ops channel, or drive any downstream workflow.Webhooks today run through the connector subscription API (below). A more
developer-oriented flow — including raw-signature HMAC, retries, and a UI for
managing endpoints — is planned for a later release.
Quick start
Subscribe your endpoint to an event:POST for every matching event.
Supported events
Subscription API
Create a subscription
The
integration_id identifies which integration row the subscription
hangs off. For Zapier-style self-serve subscriptions, use the public
Journeybee connector integration ID. Ask
support if you’re unsure which
integration to use.
Delete a subscription
DELETE with the hookUrl body field set to the subscription
id returned at create time:
Event delivery
Every subscribed event generates a singlePOST to your URL with:
Content-Type: application/json— the request body is a JSON payload described below.Authorization: Bearer <token>— a JWT signed with your integration’s UUID as the secret. Verify this before processing the payload.
Example payload — leads.create
deal, partner, contact, etc.).
Verifying requests
TheAuthorization header contains a JWT signed with HS256 using your
integration UUID as the shared secret. Decode and verify it to
confirm the request is genuine.
Node.js (jsonwebtoken)
Token claims
Delivery semantics
- At-most-once: the worker sends one POST per event. There are no automatic retries on 5xx responses today, so your endpoint must return 2xx quickly and queue work asynchronously.
- Timeouts: slow endpoints (>5s) may be dropped. Return a 2xx as soon as you’ve persisted the event, then process it out of band.
- Ordering: events are not guaranteed to arrive in order. Use the
updated_atfield on the payload to reconcile. - Duplicates: duplicates are rare but possible. Key your idempotency
off the entity
uuidplusevent_id.
Retries, signed timestamps, and a delivery log are on the roadmap (Platform
phase 15). If you need guaranteed delivery today, poll the relevant list
endpoints on an interval and reconcile against your local state.
Troubleshooting
- Receiving 401s? Double-check that you’re verifying with the integration UUID (not your API key) and using HS256.
-
Not receiving events? Confirm the subscription exists by listing
your current subscriptions:
-
Want to test delivery? Use a tool like
webhook.site as the
urland trigger an event (create a test lead, update a partner) from the app.
Related
- Authentication — API key setup
- Errors — error response shapes and codes