Integrations/Custom Provider
Custom Provider logo

Custom Provider + Courier

Add any provider to Courier with a webhook

Wire up a provider Courier does not natively support by configuring a custom webhook-based provider, then use it like any other channel in your stack.

Overview

What a Custom Provider is

A Custom Provider routes notifications to your own webhook endpoint instead of a predefined service. You add it to a channel, such as Push, and Courier delivers to the URL you configure.

That lets you bring a provider Courier does not natively support into your stack. Once configured, it works like any other channel: the same templates, routing, and preferences as your other channels.

You need a Courier account and an HTTP endpoint that can receive the notification payload.

Why Courier

What you get with a Custom Provider

Extensibility

Bring an unsupported provider

Model a provider Courier does not natively support by routing notifications to your own webhook endpoint.

Your endpoint

Deliver to your own infrastructure

Configure the webhook URL and an authentication model, then add the Custom Provider to a channel such as Push.

Design Studio

Design the content in Studio

Create a title and content blocks in Studio. Courier sends a structured payload with the body as plain text and blocks as an array.

Overrides

Override the request per message

Use the custom provider object in the API to override the body, headers, method, and url for a specific send.

Multi-channel

Use it like any other channel

Include your custom provider in a send that also reaches email, SMS, push, and inbox, with no new send code.

Routing

Same routing and preferences

Apply the same routing rules and user preferences you use for every other channel in Courier.

Use cases

What teams build with it

Add a provider Courier does not natively support by pointing a channel at your own webhook
Design the notification content in Studio and let Courier deliver it to your endpoint
Override the request body, headers, method, or URL per message when a send needs it
Send through your custom provider alongside every other channel from one API

Setup

Connect it in minutes

An admin configures the Custom Provider once on the Integrations page in Courier, then adds it to a channel.

1
Add the Custom Provider
Open Integrations, add the Custom Provider, and set your webhook URL and authentication model.
2
Add it to a channel
Add the Custom Provider to a channel such as Push, and design a title and content blocks in Studio.
3
Send from your app
Call the Send API. Courier delivers a JSON payload with a messageId and content (title, body, and a blocks array) to your endpoint.

FAQ

Frequently asked questions

Can I use a Custom Provider with Courier?

Yes. The Custom Provider routes Courier notifications to a webhook endpoint you define, letting you deliver through a service or infrastructure Courier has no built-in provider for. It runs as one provider on Courier's Push channel.

When should I use the Custom Provider?

Reach for it when you need custom handling of push notifications, or have proprietary infrastructure Courier does not natively support. Courier hands your endpoint the notification content and your own service takes over delivery or processing from there.

How do I set up the Custom Provider in Courier?

Add the Custom Provider from Courier's integration catalog, enter your webhook HTTP address, and select an authentication method. Then add it to a Push channel, where it shows up as Custom under the Installed Providers list.

What does Courier send to my webhook endpoint?

A POST request with a JSON body wrapped as type: "push" around a data object. That object carries the message ID for tracking, the notification title, and a plain-text body version of the message.

Can I change the request Courier sends to my endpoint?

Yes. A provider override replaces the outgoing request per message: the url, method, headers, and body fields are all overridable. Use it to reshape the payload or redirect a single notification to a different endpoint.

How is rich content structured in the payload?

Alongside the plain text, Courier sends a blocks array built from what you add in the designer. Blocks are either text blocks or action blocks, and each action block carries a URL and its clickable text.

Do I need a Custom Provider if Courier already supports my provider?

No. If Courier has a built-in provider for your service, use that integration directly. The Custom Provider exists for anything Courier does not support natively, delivered as one channel alongside email, SMS, push, and Courier Inbox.

More

Related integrations