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
One more channel, same API
Add StreamChat from the same Send API and templates you already use, so there is no separate integration to build.
Design once, edit without code
Write a notification once in Courier's visual editor and it renders to StreamChat alongside every other channel.
Automate multi-step flows
Onboarding, reminders, and lifecycle sequences with delays and branching, all delivered through StreamChat.
Route by user preference
Send to StreamChat when a user prefers it, and route to another channel when they do not, all from one send.
Add an in-app inbox for web and mobile
Pair StreamChat with a drop-in inbox (JavaScript, React, iOS, Android, Flutter, React Native), so users get an in-product notification center too.
Localize a message in seconds
Pick a language and let Courier translate your message with AI, then tweak any string. One template, every market.
Use cases
What teams build with it
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.
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