Tag messages at send time and configure tabs in the Courier Inbox SDK so users can filter notifications by category.
Courier Inbox supports tabbed views that let users filter notifications by type. You tag messages when you send them, then configure the Inbox SDK to display tabs that filter on those tags.This tutorial walks through the full flow: tagging messages at send time, configuring tabs in React (both the <CourierInbox> component and the useCourier hook for custom UIs), and verifying messages route to the right tab.
Tags are string labels you attach to messages at send time via metadata.tags. The Inbox SDK uses these tags to filter messages into tabs.When you define a tab with filter: { tags: ["order"] }, the SDK queries Courier for messages that have any of the specified tags. Filter fields are combined with AND logic; for example, { tags: ["order"], status: "unread" } shows only unread messages tagged “order”.
Tags are limited to 9 per message, with each tag up to 30 characters. Only string values are accepted.
feedId identifies the feed. If you only have one feed, the feed selector dropdown is hidden automatically.
datasetId must be unique across all tabs in all feeds. The SDK uses it as a key to store and retrieve messages for that tab.
filter: {} with no properties shows all non-archived messages (archived messages are excluded by default).
Tags filter with OR logic: { tags: ["order", "shipment"] } shows messages that have either tag. Combine with other filter fields for AND: { tags: ["order"], status: "unread" }.
If you need full control over the UI, use the useCourier hook to access inbox data directly and render your own components.The hook exposes inbox.feeds, a record keyed by datasetId. Each entry contains the messages, unread count, and pagination state for that tab.
If you have only one feed, the feed dropdown is hidden and only the tab bar is shown. If a feed has only one tab, the tab bar is hidden and the unread count appears next to the feed title.