Setting up a test endpoint
Go to Webhook.site
Open Webhook.site in your browser. A unique URL is generated automatically β copy this URL.
Add the URL in Hoop
Navigate to Settings > Integrations > Webhooks in the Hoop platform. Create a new webhook or edit an existing one and paste your Webhook.site URL as the endpoint.
Select the events you want to test
Choose the specific events you want to receive β for example,
contact.created, opportunity.status_changed, or appointment.booked. Start with one event type to keep testing focused.Inspecting the payload
Once Hoop sends the webhook, it appears on Webhook.site within seconds. Review the following details:| Field | What to check |
|---|---|
| HTTP method | Should be POST for all Hoop webhooks |
| Content-Type header | Should be application/json |
| Request body | The JSON payload containing event data |
| Query string | Any parameters appended to the URL |
| Timestamp | Confirms the webhook fired when expected |
Verifying headers and authentication
Check for the signature header
Hoop includes a signature header with each webhook delivery. Look for
X-Hook-Signature or a similar header in Webhook.siteβs request details. This allows your production endpoint to verify the request came from Hoop.If you do not see a signature header, confirm that you have set a webhook secret in Settings > Integrations > Webhooks within the Hoop platform.
Troubleshooting delivery failures
Webhook is not arriving at Webhook.site
Webhook is not arriving at Webhook.site
Confirm the URL is pasted correctly with no trailing spaces. Verify the webhook is enabled and that you triggered the correct event type. Check the webhook logs in Settings > Integrations > Webhooks > Logs for delivery status and error codes.
Payload is empty or missing fields
Payload is empty or missing fields
Some events only include a reference ID rather than the full object. You may need to use the Hoop API to fetch the complete record using the ID provided in the payload. Also confirm you selected the correct event type.
Webhook shows a non-200 status code
Webhook shows a non-200 status code
Hoop expects a
200 response from your endpoint. Webhook.site returns 200 by default, but if you customized the response, ensure it returns a success status. Hoop retries failed deliveries up to three times with exponential backoff.Duplicate webhook deliveries
Duplicate webhook deliveries
Retries can cause duplicates if your endpoint was slow to respond. Always use the event ID in the payload to deduplicate on your receiving end. Hoop considers any response that takes longer than 30 seconds as a timeout.
Common webhook payload formats
Hoop webhooks follow a consistent structure:Moving to production
Once you have verified your webhooks are firing correctly on Webhook.site:- Replace the Webhook.site URL with your production endpoint URL
- Ensure your production server returns a
200status within 30 seconds - Implement signature verification using your webhook secret
- Add error handling and logging on your server
- Test one more delivery end-to-end before going live
.png?fit=max&auto=format&n=EQK5eX9kTD8NzWwA&q=85&s=878008bf159fcc4964d0c0d508b6e400)