Overview
What the Webhook integration is
The Webhook provider delivers HTTP requests through Courier to a static or dynamic URL. Instead of a traditional channel, the notification arrives at an endpoint you control.
That makes it a general-purpose delivery channel: add it to your notification stack to reach any internal service, downstream system, or provider Courier does not natively support, alongside every other channel.
You need a Courier account and an HTTP endpoint that can receive a JSON request.
Why Courier
What you get with the Webhook channel
Deliver to a URL you control
Point the webhook at a static URL in the integration settings, or set the destination per recipient with a dynamic profile field.
Choose method, headers, and body
Send GET, POST, PUT, and more, with custom headers. Override the URL, method, headers, or body per message with provider overrides.
Basic or bearer authentication
Set authentication.mode to basic or bearer and provide the credentials, so your endpoint stays protected.
One channel among many
Include the webhook in a send that also reaches email, SMS, push, and inbox. No separate integration to build in your code.
Integrate systems Courier does not support
Reach downstream services and providers without a native connector by delivering the notification straight to your own endpoint.
Fire an HTTP request inside a flow
Use the webhook as a step in a journey, so a multi-step notification can call your systems with delays and branching.
Use cases
What teams build with it
Setup
Connect it in minutes
An admin adds the Webhook provider once on the Integrations page in Courier. After that it behaves like any other channel in your sends.
FAQ
Frequently asked questions
Can I use Webhook with Courier?
Yes. Webhook is a built-in Courier delivery channel that posts your notification to any HTTPS endpoint or API you define. It lets you treat a custom service as a channel alongside email, SMS, push, and Courier Inbox.
When should I use the Webhook channel?
Use it to reach a system Courier does not natively support, such as an internal service or a partner API. It is the general-purpose way to deliver a Courier notification anywhere over HTTP.
How do I set up Webhook in Courier?
Add the Webhook integration, then set a Webhook URL and authorization type on the setup page. For a fixed target use Static Destination; to vary it per recipient choose Dynamic Destination and pass a webhook object in the recipient profile.
What authentication does the Webhook channel support?
It supports basic and bearer authentication. Set authentication.mode to basic, with a username and password, or bearer, with a token. Authentication defaults to none if you provide no credentials.
What does Courier send in the webhook payload?
By default Courier sends a JSON body built from your Send API call, including the template, the to recipient, and data. Set profile to limited for send-time data only, or expanded to merge in stored profile data.
Can I customize the request Courier sends to my endpoint?
Yes. Use a provider override to replace the url, method, headers, and body of the outgoing request on a given send, so the payload matches your endpoint's exact contract instead of the default shape.
Is the Webhook channel the same as Courier's inbound event webhooks?
No. The Webhook channel sends notifications out from Courier to an endpoint you define. Inbound webhooks are separate and receive events into Courier. This page covers the outbound delivery channel.
More