Skip to content
Plain Help Center home
Plain Help Center home

Customer cards

overview.png

March 25, 2026 - Customer cards now support workflow buttons. Your team can trigger a Plain workflow directly from any customer card, without leaving the thread.

Customer cards display live information from your own systems alongside every thread in Plain. When your team opens a conversation, they see whatever your API returns for that customer: subscription status, recent orders, usage data, active errors.

This ensures that you always have important context at your fingertips, without having to jump through different tabs and admin tools.


What you can show

You control what appears on a card. Your API returns the data; Plain displays it. Here are common examples of what teams build.

Subscription status

When a customer questions their plan or a feature they expected to have, this card has the answer. It shows the customer's plan name as a colour-coded badge and their expiry date. Agents can confirm whether the customer is on the plan they think they're on and when it renews, without opening your billing system.

example-subscription-status.png

Latest invoice

If a customer disputes a charge or says their invoice looks wrong, an invoice card gives agents everything they need to verify it. It shows the invoice number and due date, a status badge (including "Past due" in red if payment hasn't cleared), the billing period, a line-item breakdown with amounts, the total, a link to your billing system, and a copy button for the invoice number.

example-latest-invoice.png

Usage

Most useful when a customer says they've hit a limit, wants to understand an overage charge, or is deciding whether to upgrade. A usage card shows how much of their allowance has been used in the current billing period as a badge (for example, "593 of 1000"), broken down by the last 24 hours and last 7 days, with a link to the full usage report.

example-usage.png

Error tracking

When a customer reports a bug or unexpected behaviour, an error card shows what actually happened. It pulls in recent errors from your monitoring tool (Sentry in the example below). Each error shows a severity badge (ERROR in red, WARN in yellow), the service name, a Sentry ID with a copy button, the full error message, a request ID with a copy button, the environment, and whether the error was handled or unhandled. Links to Sentry and your logs sit at the bottom of each entry. Agents can see what the customer ran into before they even finish describing the problem, and copy relevant IDs directly into their response or an internal note.

example-sentry.png

Account details

Useful for identity verification, login issues, or checking communication preferences before sending something. The card shows when the customer registered, when they last signed in, what device they used most recently, and their marketing opt-in status. Agents often check this first when a customer says they can't access their account or when something about the account history seems off.

example-customer-details.png

Order history

When a customer follows up on a delivery or reports an issue with an order, this card shows the order number, date, delivery status as a badge, order value, shipping address, and a tracking link. Enough to handle most order questions without opening your fulfilment system.

example-last-order.png

Workflow buttons

A workflow button on a customer card lets your team trigger a Plain workflow for the current thread in one click. The workflow runs in the context of that thread, so any actions it performs (assigning, labelling, firing a webhook) apply to the thread the agent is viewing.

You configure which workflow the button triggers. Your API controls whether the button appears at all, based on your own logic. For example, you might only show a "Resync billing" button when the customer's billing status indicates an error.

Common uses:

  • Resyncing a billing record

  • Account operations like renaming a team or allowlisting a user

  • Triggering an escalation or triage workflow


How it works

Customer cards are configured in Plain and loaded when a thread is opened. Plain sends a POST request to an API endpoint you provide, passing the customer's details and the card keys you've configured. Your API responds with the components to display. Cards are cached based on a TTL you set in the response.

Your developer builds and maintains the API endpoint. You configure which cards appear in Plain settings and set the card keys and URL.

The technical documentation covers the request format, response schema, available components, and caching behaviour.


Try the examples

The example cards repo is a working API you can point at your workspace. Each card is available at:

https://example-customer-cards.plain.com/?cardKey=CARD_KEY

Card

Key

Subscription status

subscription-status

Latest invoice

latest-invoice

Usage

usage

Sentry errors

sentry

Account details

customer-details

Last order

last-order

Workflow button

workflow-card

To add one: go to Settings -> Customer Cards, click Add card, enter the URL above with the relevant key, and open any thread to see it load.