Direct Messages

Handle one-to-one and small-group conversations with searchable history, files, reactions, and message context. This example brings Inbox and Unread together so team members can find the next task without losing context.

It includes representative records such as Maya Chen and Jon Bell. Use the screenshot to study the layout, then adapt its components and product states to your own design system.

Direct Messages

Template facts

Screen

Inbox

Primary action

New message

Pattern

Inbox

State

Default, loading, empty, error, permission, success

Design system

Configurable product UI theme

What this screen helps users do

Product teams need to new message while keeping unread, conversations and exceptions visible. The interface should show what changed and who should act next.

Key elements

  • Main workspace: Inbox gives users an obvious place to start.
  • Supporting view: Unread keeps the related context close.
  • Primary action: New message stays visible when people need it.
  • First signal: Unread shows a useful value (12).
  • Second signal: Conversations gives additional context (38).
  • Sample record: Maya Chen.
  • Next record: Jon Bell.

States worth designing

  • No items match the selected filter: say what changed, protect progress, and offer a clear next step.
  • Message or task loading: say what changed, protect progress, and offer a clear next step.
  • Reply or assignment failed: say what changed, protect progress, and offer a clear next step.
  • Item resolved: say what changed, protect progress, and offer a clear next step.
  • Escalation required: say what changed, protect progress, and offer a clear next step.
  • Permission to read restricted content missing: say what changed, protect progress, and offer a clear next step.

Where this screen sits in the flow

Inbox → Unread → New message → Review outcome

Patterns used

Inbox, Inbox, Unread, contextual actions, error recovery

Why these choices work

Keep the current item close to its history, owner and urgency. Put the next action on the record rather than making people open several panels.

Pay attention to inbox and unread. People need to distinguish Maya Chen from Jon Bell. Keep unread visible, especially when a record changes owner or status.

Before this screen reaches handoff, verify keyboard focus, empty and permission states, and what happens after someone chooses “New message”. Make error recovery as clear as the happy path.

Related screen examples to explore next: Channel Directory, Message Search, Announcement Composer.

Start from this in Figr

Design a direct messages screen inside our existing product. Use our current components, tokens and content language. Include Inbox and Unread views, credible records like Maya Chen, and a clear “New message” action. Use our product permissions and show loading, empty, error and success states. Keep the output editable in Figma.

Open Figr