Integrations/StreamChat
StreamChat logo

StreamChat + Courier

Add StreamChat to your multichannel notification stack

Already using StreamChat? Add it to Courier and deliver notifications through it alongside every other channel, from one API.

Overview

What StreamChat is

StreamChat is a developer platform for building in-app chat and messaging into your own product, with APIs and SDKs for real-time channels.

Courier adds StreamChat as another channel in your notification stack, with the same templates, routing, and preferences as email, SMS, push, and inbox. Courier delivers messages into your StreamChat channels.

You need a Courier account and your own StreamChat account with a configured project (API key, API secret, and sender ID).

Why Courier

What you get with StreamChat + Courier

Use cases

What teams build with it

Add StreamChat to an existing multichannel send with no new code
Route to StreamChat by user preference, and fall back to another channel otherwise
Keep every channel on one template and one API as you add StreamChat
Automate reminders and lifecycle messaging that reach users through StreamChat

Setup

Connect it in minutes

An admin adds StreamChat once on the Integrations page in Courier. Once connected, anyone on your team can deliver notifications through StreamChat, alongside every other channel.

1
Add StreamChat in Courier
Open Integrations and select StreamChat.
2
Add your credentials
Enter your API key, API secret, and sender ID from your StreamChat project, then save.
3
Send from your app
Call the Send API with a recipient whose profile includes a channelType and channelId. Courier delivers into your StreamChat channel, plus any other channels you add.

FAQ

Frequently asked questions

Can I use Stream Chat with Courier?

Yes. Courier treats Stream Chat as a direct-message channel, so you can deliver Stream Chat messages through Courier's Send API and Journeys. Stream by GetStream handles the real-time chat delivery underneath.

Do I still need my own Stream Chat account?

Yes. Courier does not resell Stream Chat, so you bring your own Stream account and project. Stream keeps storing user channels and delivering the messages; Courier connects to your project using credentials from your Stream dashboard.

What do I need to connect Stream Chat to Courier?

Three values from your Stream project: API key, API secret, and sender ID. Enter them on Courier's Stream Chat integration page and save. Each recipient also needs a streamChat entry on their Courier profile so Courier can route the send.

How does Courier know which Stream Chat channel to send to?

Set a streamChat object on the recipient profile with channelType and channelId. Courier posts your message to that channel through Stream's message API. Without a channel target or a messageId, the send has no destination.

Can I update an existing Stream Chat message with Courier?

Yes. Put a messageId in the recipient's streamChat profile instead of channelType and channelId, and Courier updates that existing Stream Chat message rather than posting a new one to the channel.

Can I customize the Stream Chat request body or endpoint region?

Yes. Through provider overrides on the stream-chat provider, you can override any field on Stream's POST /channels/{type}/{id}/message body, swap apiKey, apiSecret, or senderId per send, and set baseUrl, which defaults to Stream's US East region.

Is Courier a replacement for Stream Chat?

No. Stream still powers and delivers the chat messages; Courier orchestrates Stream Chat as one channel among many, sending through the same Send API, Journeys, and Design Studio you use for email, SMS, push, and Courier Inbox.

More

Related integrations