<!-- AI agents: this is the Markdown version of a Reception documentation page. Index: /llms.txt -->

# Inbox & customers

Use the Reception dashboard to find customer conversations, reply with text and images, resolve issues, and inspect the device and metadata behind each request.

## Workspace and sign-in

Sign in with **Continue with Google**. Your workspace is called an organization. Inbox, Users, apps, and team access belong to the selected organization. If you belong to several organizations, switch in **Settings → Organization**.

Owners and Agents can use Inbox and Users, reply, request reviews, resolve or reopen conversations, edit customer team names, and block or unblock devices. Owners also manage apps and team membership and can reset or delete device support data. See [Apps and team](/docs/apps-team) for invitations, organization setup, and role management.

## Choose your app scope {#apps}

Use the sidebar app selector to choose one app or **All apps**. This selection filters Inbox and Users within the current organization. All apps never includes another organization's data.

Switching apps keeps Users open if you are already there; otherwise it opens Inbox. The switch clears conversation, search, and filter selections.

Owners can [add or configure apps](/docs/apps-team). A first customer message creates an inbox conversation; a device can appear in Users before it has one.

## Find a conversation {#inbox}

Conversations are ordered by their latest message. Each row shows a customer name, message preview, time, and unread indicators. In All apps, an app icon identifies the app; hover it for its name. **Dev** identifies devices with a sandbox push environment.

1. Choose the app or **All apps**.
2. Select **Open**, **Closed**, or **All**. Open is the default.
3. Search by team name, app-supplied name, email, external user ID, or the latest message preview.
4. Open **Conversation filters** beside the status controls to narrow the list further.

Search matches the latest preview, not the full conversation history or custom metadata. Searches are case-insensitive. An unnamed device uses a `User #…` fallback.

| Filter | What it includes |
| --- | --- |
| Unread only | Conversations with customer messages unread by the team. |
| In chat now | Conversations with a currently connected support chat. |
| Hide development devices | Excludes conversations whose device reports the sandbox push environment. |

Filters combine with app, search, and status. If nothing matches, use **Clear filters** to keep the app scope but clear the search and choose All statuses.

## Reply and resolve

### Send a reply

Open a conversation, enter text in **Write a reply…**, and select **Send reply** or press **Cmd+Enter** on Mac or **Ctrl+Enter** on Windows/Linux. Ordinary replies accept up to 4,000 characters after trimming surrounding whitespace. Emoji can use more than one unit, and internal spaces count toward the limit. Enter alone adds a line break.

Replies appear on the right; customer messages on the left. Reception sends your wording without translating it. If sending fails, check the error and retry: the draft remains until you switch threads.

In the dashboard timeline, a **[name] replied** chip identifies the replying teammate and appears again when the name changes.

### Send and inspect images

Choose **Add image** to attach up to five JPEG or PNG images, with or without text. Reception prepares larger images to fit the chat's size limits; transparent PNGs may become JPEGs with a white background. Check the preview, wait for uploads to finish, then send. Remove unwanted attachments before sending. Action cards cannot contain images.

Select a sent image to view or download it. Use arrows or thumbnails to browse the set, and Escape to close. If uploads remain unavailable in an open conversation, see [Troubleshooting](/docs/troubleshooting).

### Read older messages

Scroll up to read earlier messages and use **Latest messages** to return to the bottom. Times use your browser’s locale and timezone. Hover or focus a timestamp for its full date.

### Resolve or reopen

Choose **Mark resolved** when the issue is complete. The conversation becomes Closed and the header shows **Resolved**. It no longer belongs in the Open list. Resolving retains the conversation and its messages.

To continue replying in that thread, find it under Closed or All and choose **Reopen**. The composer displays **Reopen to reply** while it is closed.

Resolving keeps the customer's iOS chat and draft. Their next new message reopens the same conversation. If a device has historical separate threads, answer in its latest conversation: reopening an older one does not make its replies visible in the current iOS chat.

## Unread and activity indicators

The dashboard tracks what the team has opened separately from what the customer has received or read.

| Indicator | Meaning |
| --- | --- |
| Unread dot and count on a conversation | Customer messages unread by the team in that conversation. |
| Inbox sidebar badge | Number of open conversations with unread customer messages in the selected app, or across All apps. It is not the total number of messages. |
| Sent | The team message was saved; no delivery acknowledgement covers it yet. |
| Delivered | The customer's client fetched messages through that message. This is not an Apple push delivery receipt. |
| Read — gray double tick | The customer's client marked messages through that message as read. |
| In chat | The customer’s support chat has a live connection. |
| Last active in chat | Time of the last recorded support-chat activity for the device. |

Opening a thread clears its unread count for the whole team. New messages can make it unread again. Read status does not prove a person read the text. The customer’s unread count is separate; see [Unread messages](/docs/unread-messages).

### In chat

**In chat** means the customer's support chat has a live connection. It does not prove they are reading, and connection loss can take time to detect. A missing indicator does not prove they are offline elsewhere in your app.

### Last active in chat

This is the last recorded support-chat activity, not general app usage. Opening an existing conversation, reading, or sending messages can update it. App launches, metadata updates, and notification delivery alone do not. Missing activity displays `-`.

The timestamp uses your browser's timezone. **Local time** instead shows the customer's clock in their reported device timezone.

## Customers and users

### Find a registered device

**Users** lists registered devices, including those without conversations. Each device appears separately even if several report the same external user ID. The footer counts devices, not unique people.

Search by team name, app-supplied name, email, or external user ID. Sort by **Last active in chat** or **Recently joined**, then select a device for details. **Open conversation** leads to Inbox when a conversation exists.

### Inspect customer details

Select **Show customer details** in the conversation toolbar. Identity comes from your app. The orange verified seal means your server signed it using [identity verification](/docs/accounts#verified-users). An app-supplied name, email, or user ID without an accepted token shows **Unverified** in the header and details; guests without those fields show no badge. For Owners, its tooltip links to the app’s identity verification section. Expand the sections you need.

| Section | What to inspect |
| --- | --- |
| Important fields | Your selected fields, in your chosen order. |
| Custom fields | All metadata keys and values supplied by the app. |
| User details | Last active in chat, registration date, and the customer's local time. |
| Device | Device ID, app version/build, SDK version when reported, platform/model/OS, language, locale, region, and push state. |
| Conversation | Status, start date, message count, and Review asked when recorded. |

**Region** comes from the reported locale, not location tracking. **App language** and **Device locale** are separate; see [Language](/docs/language) for template selection.

Push shows **On · Sandbox**, **On · Production**, or **Off**. This does not guarantee permission or delivery. Check any **Push issue** and follow [Push notifications](/docs/push-notifications).

### Give a customer a team name

Select the name in the conversation header to edit the team's label for that device. Enter up to 100 characters, then press Enter or select the checkmark to save. Escape, cancel, or moving focus outside the editor discards the edit. Clearing the field removes the override.

The team name appears in Inbox and Users. The original name remains visible in customer details, and both names are searchable. SDK identity updates do not overwrite the team name. This label applies to this device, not every device sharing its user ID.

![Conversation and customer details with identity and metadata](/docs/images/dashboard-customer-context.webp "Actual conversation and customer-detail components with example data. Plan, revenue, and provider values come from host-supplied metadata.")

## Configure Important fields

Open **Settings → General → Important fields** to add, remove, or reorder up to 12 fields. Add a custom field using the exact metadata key your app sends, then select **Save changes**. Your selection applies across apps for your account.

An empty selection hides this section. **Restore defaults** restores the standard activity, platform, region, plan, revenue, and provider fields after saving. Other details remain available.

### Plan, revenue, and provider metadata

These three fields use the first nonempty app-supplied value from the following keys, in order:

| Field | Metadata keys checked |
| --- | --- |
| Plan | `plan`, `subscriptionPlan`, `subscription_plan` |
| Total revenue | `totalRevenue`, `total_revenue`, `lifetimeRevenue`, `lifetime_revenue` |
| Provider | `provider`, `subscriptionProvider`, `subscription_provider` |

Values are displayed as supplied. Reception does not infer currency or fetch a live subscription from the provider. A provider logo does not indicate a live subscription lookup. [Reception billing](/docs/billing) uses a separate organization revenue connection; [paywall cards](/docs/paywalls) separately open your app’s purchase screen. Original metadata remains available in Custom fields. Exact custom keys are case-sensitive; a missing key keeps its row with `-`. See [Identity and metadata](/docs/accounts#metadata) for supplying these values from your app.

## Customer actions

Open the **Customer actions** menu in Inbox customer details. It offers **Send email** when the supplied email is a valid address, **Copy device ID**, **Copy conversation ID**, and device controls. Send email opens your mail application; it does not send a chat reply.

### Block or unblock a device

Owners and Agents can choose **Block device** and confirm. Blocking prevents this device from sending messages or uploading images. Existing conversations remain readable, and the team can still reply. It does not block all devices with the same external user ID.

Choose **Unblock device** in the menu or **Unblock** in the notice above the composer to allow customer messages again.

### Reset support

Owners can choose **Reset support…** and confirm deletion of all support conversations and images for the device. This removes its messages and images, including unsent uploads, and clears the block and chat-activity timestamp. Old Telegram notifications can no longer receive replies.

The device registration, its session, identity, metadata, push registration, and review/paywall request history remain, so repeat warnings still apply. The current SDK clears its local history, drafts, and pending messages when it next connects and learns of the reset. Older SDKs may not support this reset behavior.

### Delete a device

Owners can choose **Delete device…** and confirm permanent deletion. This removes the device and its support content and ends its session. It affects only that device, not other devices with the same external user ID or the account in your own app.

> **Important:** Reset and deletion cannot be undone. If deletion reports an error, retry before treating it as complete. Images already removed cannot be restored.

See [Privacy and data](/docs/privacy-and-data) for deletion scope and [Delete data](/docs/accounts#delete-data) for implementing customer-initiated deletion in an app.

## Review requests

In an open conversation, select **Ask for review** in the toolbar. Choose a button label, add an optional message or template, and check the live **Preview**. Select **Send review request** to send. An Owner must first set the app's App Store ID. See [Review requests](/docs/reviews#send-review-card) for the dialog, language choices, and repeat confirmation.

## Paywall cards

In an open conversation, select **Send offer** in the toolbar. In the dialog, choose a **Paywall** and **Button**, add an optional message, then check the live **Preview** and select **Send offer**. See [Paywall cards](/docs/paywalls#send-and-measure) for setup and sending. Card opens do not confirm purchases or completed reviews.

## Live updates and notifications

Messages, read receipts, and status changes update automatically while the dashboard is open.

In **Settings → General → Preferences**, enable **Notifications and sound** and grant browser notification permission. Keep a signed-in dashboard tab open. Alerts notify you of new customer messages while you are away from the visible Inbox. Browser settings and audio rules can affect alerts and sound.

For support notifications and text replies in your team's Telegram chat, see [Telegram](/docs/telegram). A Telegram reply confirmation means the reply was saved, not that the customer received or read it.

## Team access {#team}

Owners manage invitations and memberships. Agents work in the inbox and Users directory; they cannot manage app configuration or the organization. Follow [Apps and team](/docs/apps-team) for the invitation flow, role differences, and removing access.

Each teammate uploads their photo in **Settings → Profile**: select the profile photo, then **Upload photo** or **Change photo**. An Owner can enable **Show team photos** and **Show team names** per app under **Chat appearance**. Both are off by default. See [Team photos and names](/docs/remote-appearance#team-photos-and-names).

## Organization and account {#organization-and-account}

Use **Settings → Organization** to manage your workspace and **Settings → General** for your own account. Account deletion and organization deletion have different scopes. See [Apps and team](/docs/apps-team) and [Privacy and data](/docs/privacy-and-data) before choosing either action.

## Billing {#billing}

See [Pricing & billing](/docs/billing) for fees, payment methods, statements, and billing notices. Owners manage provider connections in app settings through [Connect revenue](/docs/connect-revenue).

## Troubleshoot daily tasks

| Problem | What to check |
| --- | --- |
| A conversation seems missing | Organization, selected app, status, search, Unread only, In chat now, and Hide development devices. Use All statuses or Clear filters. |
| A customer exists in Users but not Inbox | A registered device can have no conversation. Open its details to check for No conversation yet. |
| The unread badge drops before you reply | Another team member may have opened the shared thread. Read and resolved are separate states. |
| A reply cannot be sent | Reopen a closed thread, wait for uploads, and inspect the inline error. If replies are paused, ask an Owner to resolve the billing notice. Review cards have their own limits. |
| Important fields shows `-` | Expand Custom fields, check the exact metadata key and value, and verify your app has synchronized its metadata. |
| A reply stays Sent | The device has not acknowledged fetching that message. Check the customer's connection and push setup; Sent does not mean an APNs notification succeeded. |
| App settings or reset/delete actions are unavailable | Check your organization role. These controls require Owner access. |

For integration and connection issues, see [Troubleshooting](/docs/troubleshooting). Manage apps, invitations, organization settings, and account or organization deletion in [Apps and team](/docs/apps-team).
