Skip to main content

Prerequisites

  • A destination URL that accepts HTTP requests

Setup

For a static destination, set the Webhook URL and Authorization type on the .

Profile requirements

Every HTTP request needs a destination.

Dynamic destination

To set the destination per recipient, choose “Dynamic Destination” and store a webhook object on the profile. Store it once with , which merges into the profile and creates it if it does not exist:

Authentication

The webhook provider supports basic and bearer authentication. Set authentication.mode to basic or bearer and provide the credentials. The mode defaults to none.
Then send to user_id and Courier resolves the address.

Send by user id

The call in every language, and the rest of the profile object.

Send to a recipient

Courier reads webhook off the saved profile, so preferences apply and the value can change without touching this code.

Request payload

The webhook provider posts the data from your send request to the destination.

Overrides

covers the two levels and which one wins. A provider override changes what Courier sends to the destination. You can override url, method, headers, and body. body and headers are deep-merged, so fields you leave out are still sent. url and method are replaced outright.

Provider details

Courier recommends routing to the channel. Naming this key in routing.channels instead is supported, and sends through just this provider.

Send to a specific provider

When that is worth doing, and what you give up: failover, channel priority, and providers you add later.