Skip to content
Plain Help Center home
Plain Help Center home

Using Plain's API

Plain’s API gives your team access to the same powerful tools our own product is built on. Whether you want to connect customer data, build automations, or extend your workflows, Plain’s API makes it possible.

You don’t need to be an engineer to understand how it works or why it’s valuable. This guide will walk you through the basics of Plain's API and what you’ll need to get started.

If you are new to GraphQL, Apollo has resources for beginners. The official GraphQL documentation is another good starting point.

Why use Plain’s API?

Even if you're not writing the code yourself, knowing what Plain’s API can do opens up powerful possibilities:

  • Connect Plain to your product to better understand a customer's question.

  • Automate repetitive tasks, such as labeling threads, assigning, or prioritizing based on Tier.

  • Pull out key support metrics so you can analyze support data alongside other customer data in your own warehouse.

  • Sync customer information between Plain and your CRM, Stripe, and more.

Plain’s API is the same one we use internally, so it gives your team full access, without hidden features or limitations.

A great way to explore what you can use our API for is to open our API explorer (which requires setting up a Plain workspace).

What you’ll need to get started

Here’s what someone on your team will need to get started with our API:

  • Your API key: This gives your system permission to talk to Plain. You can generate one from your Plain workspace settings.

  • A GraphQL client or script: Your team might use a tool like Postman, curl, or a GraphQL IDE.

  • The API endpoint:

    • URL: https://core-api.uk.plain.com/graphql/v1

  • Basic headers (for every request):

    • Content-Type: application/json

    • Authorization: Bearer YOUR_TOKEN

  • The GraphQL schema (optional):

    • Your team can download it here: https://core-api.uk.plain.com/graphql/v1/schema.graphql

What kind of things can you do with it?

Here are some examples of what your team can build using Plain’s API:

  • Pull a list of your customers and display it in another internal tool

  • Upsert customer records into Plain from your product

  • Automatically create a note or label a customer thread when a status changes in your CRM

  • Fetch conversation data for reporting in tools like Retool or Looker

Making your first API call

Here’s a real-world example a developer might start with:

“Find a customer in Plain using their email address.”

To do this, they’ll need:

  • An API key with the customer:read permission

  • The email address of the customer (which you can find on the right-hand side of their thread in Plain)

They can test it using curl, or our TypeScript SDK—whatever their preferred tools are.

Not sure where to start?

If you're curious about how Plain’s API could work for your team, or you want help scoping a specific use case, just reach out to us. We’re happy to walk through ideas, examples, or even build with you.