Configure a webhook receiver

Save a public HTTPS destination and deliberately test the saved receiver.

Before you start

  • Use the correct company and an active account with permission for this workflow.

Where to go

Integrations → Webhooks

Audience

Company owners and active company administrators.

Permissions

  • Use your current account role; a Help link does not grant permission.

Workflow

  1. Open Integrations → Webhooks as the company owner or an active company admin. Prepare a publicly routable HTTPS receiver on your server; localhost and private addresses are rejected.
  2. Inspect the destination, then Save. The existing PATCH /v1/vendor/<vendor-id>/callback-url accepts callbackUrl; the saved destination is shown separately from unsaved input.
  3. Preview the test payload: type is test_event, vendorId is the selected company, and sentAt is the event time. Save edits before testing.
  4. Click Send test event deliberately. POST /v1/vendor/<vendor-id>/callback-test has no destination body: the server sends to its saved receiver.
  5. Read the receiver HTTP status and sanitized receiver log. A 2xx response is success; delivered:true with 4xx or 5xx is receiver failure. delivered:false or no numeric status is a network or unconfirmed outcome.
  6. Correct the receiver or save a replacement public HTTPS URL, then explicitly retest. Empty URLs cannot disconnect the callback.
  7. This workflow does not provide signing secrets, custom headers, event subscriptions, automatic retries, replay, persistent delivery logs or multiple destinations. Payment-provider signatures are a separate system.

Expected outcome

Read the current saved state in the workspace after the permitted action; Help does not perform or verify the action.

Troubleshooting

Receiver 404, 401/403, 429, 5xx or network failure
Check the saved path, receiver authorization expectations, rate limits and public connectivity. Never put integration secrets in a callback URL or payload.
Save returns 422
Use a public HTTPS host that passes the server destination validation; private or non-HTTPS URLs are not supported.

Developer examples

Save the receiver destination

curl -X PATCH https://api.crewlogix.app/v1/vendor/<vendor-id>/callback-url \
  -H "Authorization: Bearer <session-token>" \
  -H "Content-Type: application/json" \
  --data '{"callbackUrl":"https://receiver.example.com/hook"}'

Send a test to the saved receiver

curl -X POST https://api.crewlogix.app/v1/vendor/<vendor-id>/callback-test \
  -H "Authorization: Bearer <session-token>"