Skip to main content
Webhooks send HTTP requests to your server when events occur in H0p. Use them to sync data with your systems, trigger automations, or build real-time integrations.
Webhooks are a Premium feature.

How webhooks work

1

Event occurs

Something happens in H0p (link created, clicked, etc.)
2

H0p sends request

An HTTP POST request is sent to your webhook URL with event data.
3

Your server responds

Your server processes the event and returns a 2xx status code.

Available events

Creating a webhook

1

Go to Webhooks

Navigate to Webhooks in the sidebar under Developer Tools.
2

Click Create Webhook

Click the Create Webhook button to open the configuration form.
3

Enter your endpoint URL

Provide the URL where H0p should send events:
Your endpoint must use HTTPS. HTTP endpoints are not supported.
4

Select events

Choose which events should trigger this webhook:
  • Check specific events (recommended)
  • Or select all events
Webhook Creation Form
5

Save the webhook

Click Create to save. H0p will provide a webhook secret for signature verification.
Store the webhook secret securely. You’ll need it to verify incoming requests.
Webhook Creation Form

Event payloads

All webhook payloads follow this structure:
Sent when a new short link is created:
Sent when a short link is modified:
Sent when a short link is deleted:
Sent when someone clicks a short link:

Verifying webhook signatures

Every webhook request includes a signature header for verification. This ensures the request came from H0p and wasn’t tampered with.

Signature header

Verification example

Always verify webhook signatures in production. Never trust webhook data without verification.

Retry behavior

If your server doesn’t respond with a 2xx status code, H0p retries with exponential backoff: After 18 consecutive failures (6 attempts x 3), the webhook is automatically disabled to prevent further failed deliveries.
You’ll receive an email notification when a webhook is disabled due to failures.

Monitoring webhooks

Delivery history

View recent webhook deliveries in the webhook details page:
  • Event type - Which event triggered the delivery
  • Status - Success or failure
  • Response code - HTTP status returned by your server
  • Timestamp - When the delivery was attempted
Webhook Delivery History

Re-enable disabled webhooks

If a webhook is disabled due to failures:
  1. Fix the issue with your endpoint
  2. Go to the webhook settings
  3. Toggle the webhook back on
  4. The failure counter resets

Best practices

Return a 2xx response as quickly as possible. Process events asynchronously in a queue.
Network issues can cause duplicate deliveries. Use the event id to deduplicate:
Only process events you expect. Ignore unknown event types gracefully:
Always use HTTPS endpoints. HTTP is not supported and exposes your data.
Use environment variables or a secrets manager. Never commit secrets to version control.

Testing webhooks

Local development

Use a tunneling service to expose your local server:
Use the ngrok URL (e.g., https://abc123.ngrok.io/webhook) as your webhook endpoint.

Webhook testing tools

  1. Create a webhook with a test endpoint
  2. Trigger an event (create a link)
  3. Check the delivery history for the request/response

Limits

API access

Manage webhooks programmatically:
See the API Reference for complete documentation.