Skip to main content

Custom Webhook Provider Integration

Unhook works with any service that sends HTTP webhooks. If your provider isn’t listed in our documentation, you can still use Unhook by following this guide. Our universal webhook endpoint accepts any HTTP POST request and forwards it to your local development environment.

Quick Start

  1. Get your Unhook URL: https://unhook.sh/wh_YOUR_ID
  2. Add to your provider’s webhook settings
  3. Start receiving webhooks locally: unhook listen

Universal Webhook Features

Accepts All HTTP Methods

  • POST (most common)
  • GET (query parameters)
  • PUT
  • DELETE
  • PATCH

Supports All Content Types

  • application/json
  • application/x-www-form-urlencoded
  • text/plain
  • application/xml
  • multipart/form-data
  • Custom content types

Preserves All Headers

All headers from the webhook provider are forwarded to your local endpoint, including:
  • Authentication headers
  • Content type
  • Custom headers
  • Signatures

Configuration Steps

1. Find Webhook Settings

Look for these common locations in your provider:
  • Settings → Webhooks
  • API → Webhooks
  • Integrations → Webhooks
  • Notifications → Webhooks
  • Developer → Webhooks

2. Add Unhook URL

Enter your Unhook webhook URL:

3. Optional Query Parameters

Add query parameters to help identify the source:

Handling Different Webhook Formats

JSON Webhooks

Most modern APIs send JSON:

Form-Encoded Webhooks

Some providers use form encoding:

XML Webhooks

Legacy systems might send XML:

Raw Body Access

For signature verification:

Common Webhook Patterns

Event-Based Webhooks

Action-Based Webhooks

Notification Webhooks

Security Implementation

Generic Signature Verification

Many providers use HMAC signatures:

IP Allowlisting

Some providers publish their webhook source IPs:

Debugging Webhooks

Log Everything Initially

Webhook Inspector Endpoint

Best Practices

1. Identify Webhook Source

Use query parameters or headers:

2. Implement Retry Logic

Handle provider retries:

3. Handle Various Response Requirements

Different providers expect different responses:

4. Graceful Error Handling

Common Integration Patterns

Queue for Processing

Multi-Provider Router

Testing Your Integration

Manual Testing with cURL

Webhook Testing Tools

  • Webhook.site - Generate test webhooks
  • RequestBin - Inspect HTTP requests
  • Postman - API testing with webhook simulation
  • Insomnia - REST client with webhook testing

Support

Need help with custom webhook integration? If you’d like to see your provider added to our official documentation, please submit a request with details about the webhook format and authentication method.