Whether you are using Plain’s API or not, this page is a quick way to understand how Plain works.

Within Plain, all data belongs to a Workspace. Within a workspace, you have Users, Customers, Threads, Labels, and Events.


Everything within Plain happens in a workspace. Typically, you will have one workspace like you would in Slack or Discord.

If you want to just try Plain, you can make a demo workspace. Demo workspaces have the full functionality of Plain and come with a pre-generated support email address. They are also free!

You can also create multiple workspaces if you want to match different environments, e.g. “Acme Staging” and “Acme Production”.


When you use Plain, you are a user. As a user, you have one or more roles that define what you are allowed to do within Plain.


Within Plain, you help customers. Each customer has a name (“Grace Hopper”), short name (“Grace”), and one email address. Email addresses are unique across all customers.

Customers are created automatically by inbound communications (e.g. email) or can be created programmatically using our API.

Customers can also belong to one or more customer groups. This lets you organize your customers into logical groups such as “Free-tier”, “Enterprise”, “Design partner”, etc.

Customers can also have an externalId which lets you correlate them to customers in your own systems, you can provide this when creating or updating them via the API.


Threads are the core of Plain’s data model and are equivalent to tickets or conversations in other support platforms.

Each thread belongs to one customer and has a status which is one of Todo, Done, or Snoozed. When you use Plain to help a customer, you assign yourself to a thread and then mark the thread as done once you’re done helping.

Threads are created automatically by inbound communications or programmatically via the API, for example, when a contact form is submitted.

Each thread has a timeline. The timeline contains all relevant communication, events and other updates such as assignment changes.


Labels are a lightweight way of categorizing threads by topic (e.g., bugs, feature requests, demo request, etc.). A thread can have one or more labels, and each label has a name and an icon that you choose in your settings.

You can filter threads by label in any queue.


Events belong to a customer or thread and allow you to log important actions that happen outside of Plain within Plain. Events provide you with additional context of the customer’s actions when you are helping them.

For example, if you log an event when a customer deletes an API key in your systems, then if they reach out reporting 401 errors - you immediately know why.