Hookdeck
Sources overviewCreate a sourceEdit a sourceArchive a sourceUnarchive a source

Sources overview

A source is any service that sends you webhooks.

Sources

How sources work

Each source is given a unique Hookdeck URL that can be pasted into the webhook URL field of the sender platform. Once your provider is sending webhooks to a Hookdeck URL, events are ingested and routed according to your connection rules.

Content-types

Hookdeck aims to be compatible with every API provider. To accomplish this, we remain platform-agnostic and ingest any inbound requests (up to 10 MiB) with one of the following content-types:

  • text/plain
  • text/xml
  • application/json
  • application/x-www-form-urlencoded
  • application/xml
  • application/*+json
  • multipart/form-data

If you encounter a problem integrating a specific API provider, send us a message.

Custom methods

Some providers send webhooks in non-POST methods, e.g. PUT, PATCH or even GET. Those are not accepted by default, but you can enable them explicitly by using a x-hookdeck-allow-methods query string parameter in your Hookdeck source URL

The value is a comma-separated list of the methods to allow, e.g.:

text
?x-hookdeck-allow-methods=post,patch,put,get

Custom responses

Some API vendors modify their behavior based on the response they receive from a webhook. For these providers, Hookdeck supports setting custom responses through the use of the query string parameter x-hookdeck-response.

Append one of the following query parameters to the Hookdeck-provided source URL to achieve the desired response.

ResponseQuery parameter exampleBehavior
Empty?x-hookdeck-response=null or ?x-hookdeck-responseHookdeck responds with an empty body
Text?x-hookdeck-response[text]=Hello+WorldHookdeck responds with the text Hello World
JSON?x-hookdeck-response[json]= %7B%22message%22%3A%22Hello%20World%22%7DHookdeck responds with the specified JSON

Handshakes and validation

Some API providers require a validation step, known as a "handshake" or "challenge." While this is not standard across all providers, we do our best to implement validation for any platform that our users integrate with.

At this time, we've implemented handshake support for the following platforms:

If your provider requires a handshake and is missing from this list, contact us and we will add support within 24 hours.