Docs are here!

What's new? To summarize:

  • Docs launch
  • Improved @team-plain/react-chat-ui theme
  • General improvements around removing friction from your CS workflows

✨ We now have Docs!

The Plain documentation 'Getting Started' page screenshot.
Our new docs make it easier to harness the full capabilities of the Plain API.

As an API first company, it's about time we had publicly accessible API docs. Find them at

We now have our own docs, full of information on how to use the API. To upgrade your Plain knowledge, we've created a few recipes including Creating and updating a customer via the Core API.

✨ New and improved react-chat-ui theme type

The React Chat UI themed with a purple and yellow theme.
An example of the chat UI using the new and improved theming.

The theme in react-chat-ui was completely overhauled (released as 5.x.x) so it's much more logical to use. Previously fine-grained control on many aspects of theming wasn't possible. For example, you'd provide the token background.muted and it would be used to color borders. By being more semantically correct in the theming object it’s easier to theme your chat UI.

Removed keys:

  • timeline.minWidth was removed, the chat UI now takes up the parent's full width
  • timeline.maxWidth was removed since it was no longer being used
  • input.borderColorHover was removed to simplify the styling of the input in its error state where you typically want a red border. We could have added a new hover border color here but in interest of simplicity removing it felt like the better option for now. If this is a requirement for you please let us know!


  • text.placeholder is now input.textColorPlaceholder
  • focus.base is now split into: input.focusBoxShadow and buttonPrimary.focusBoxShadow
  • borderRadius is now split into input.borderRadius and buttonPrimary.borderRadius
  • background.muted was removed in favor of divider.borderColor and divider.borderWidth which control dividers such as in the timeline when the dates change.

New theme tokens:

  • input.textColor allows you to control the text color within inputs separately from the top level base text color
  • input.textColorDisabled allows you to control the disabled color separately from the top level muted text color

Visual changes

  • The send chat button is now a bit more compact giving customers more space to type!


Developer experience improvements:

  • Incrementally adoptable theme + documentation in react-chat-ui. This means you can now only provide the keys you want to override vs having to provide a full theme.
  • "Select all" on API keys means fewer clicks when provisioning an machine user API token with all permissions.

Other improvements:

  • Timeline merge of emails you're CC'd on. When a customer emails you and CCs their colleague, if their colleague then replies then their email is merged into the same customer timeline. This means you can follow the conversation in one place, in a single timeline.
  • You can now disable/enable chat for your workspace.
  • We improved our email filtering for auto-replies and have even better coverage of common auto-replies which are dropped.
  • In settings you can now more easily copy your own support email.
  • Visual improvements to the support app to more strongly differentiate users and customers.
  • You can now "reply to chat by email" in the timeline when you want to explicitly switch to email.
  • Navigation has received a makeover, to make it simpler and uniform across the app. This is in preparation for mobile support.
  • You can now delete a previous recipient in CC/BCC inputs on backspace, naturally.

Bug fixes

  • Fixed a bug which resulted in some slightly broken layout in the customer sidebar.
  • Fixed a bug which meant the react-chat-ui package was making more network requests (subscriptions) than needed.
  • Fixed a bug which resulted in occasional timeouts in our Core API.
  • Fixed a bug where logged out customers would see the wrong font in the chat UI.
  • #changelog

Get started with Plain ✨

Sign up now and provide support that's as polished as your product.

Join us 👩‍💻

…and write the next post. We're growing our small but mighty team.

© Plain. CS without the BS since 2020.