ScaleBun
Skip to article

Message Inbox

webAdministrator

Message Inbox in the Engage area (Messaging) — route /engage/message-inbox.

Updated Reviewed

Message Inbox lives in the Engage area of the dashboard, under Messaging.

At a glance#

Dashboard route/engage/message-inbox
AreaEngage (engage)
GroupMessaging
PlatformsWeb apps only. Hidden for mobile apps.

What it does#

Message Inbox is a persistent in-app message list — the channel for things a user should see but does not need to be interrupted by. You compose a message here, choose a priority (Low, Normal, High, Critical), and send it; the backend fans it out to one message per device, and the SDK picks it up on its sync pass and renders it in the in-app inbox.

The fan-out is idempotent, so a retried send does not produce duplicate messages for the same device.

When to use it#

For anything the user should be able to find later. That is the whole distinction from Push: push interrupts and is gone; an inbox message waits.

Good fits: a feature announcement, a policy change, an account notice, the follow-up to something that was pushed. A message that is only relevant for the next ten minutes does not belong here.

Workflow#

  1. Write for someone reading it a week later

    Inbox messages persist, so "tap now to claim" ages badly. Prefer content that is still true when found.

  2. Use priority honestly

    Priority orders the list and can affect presentation. If everything is Critical, the ordering carries no information and the user learns to ignore it.

  3. Send and check delivery

    The campaign list shows delivery state per campaign. A message is delivered per device, so a device that has not synced yet has not received it.

Permissions and prerequisites#

Requires the SDK's inbox support to be enabled and rendered in your app. Sending from here does nothing visible unless the client is set up to display it — see the engagement SDK guide.

Limits and edge cases#

  • Per device, not per user. A user on two devices gets the message on both, and reading it on one does not necessarily clear it on the other.

  • Delivery is on the SDK's sync schedule, not immediate. A device that is offline receives it when it next syncs, which is the intended behaviour for a persistent channel.

  • The web inbox renders in a shadow root, which is what keeps your page styles from leaking into it and vice versa. It also means your global CSS cannot restyle it.

Troubleshooting#

Sent but nothing appears in the app. Two candidates, in order: the SDK's inbox is not mounted in the client, or the device has not synced since the send.

A user says they got it twice. Check whether they have two devices — the fan-out is per device by design, and it is idempotent per device, so a genuine duplicate on one device would be unusual.

Where the data comes from#

A campaign on the inbox channel is fanned out to one message per device — idempotently, so a retried send does not duplicate — and collected by the SDK on its sync pass.

From the SDK

Served by

  • Engage

  • Engage delivery

Message Inbox · Engage · Dashboard · ScaleBun