← All integrations

Support

Give your agents full access to Plain.

Agents read customer threads, draft replies grounded in your docs, label and prioritize, and hand the hard ones to a person. Plain trigger events mean an agent starts working the moment a customer writes in.

5,000 free credits to start.

Agent reach

Plain GraphQL API

The full surface, searched at run time.

Connect with

  • API key

Paste the webhook signing secret from Plain to receive thread events.

Event triggers

Yes · 2 events

Plus manual, schedule, and signed webhook.

What the agent can do

What agents do with Plain

Helios searches the Plain GraphQL API at run time. The agent finds the endpoint the task needs and calls it.

  • Search Plain's entire API surface at run time and call any endpoint your key allows.
  • Read threads, messages, and customer context including tenants and custom fields.
  • Draft and send replies, and add internal notes for the human who picks it up.
  • Apply labels, set priority, assign, snooze, and mark threads done.
  • Look up the customer in your CRM and database before answering.
  • Start a run the moment a thread is created or a chat arrives.

Examples

Tasks you can hand to a Plain agent

Triage every thread the moment it arrives

The agent reads the thread, identifies the customer, checks their plan and usage, labels it, sets priority, and drafts a reply for review.

plain · thread.thread_created

On each new thread: identify the customer, label, prioritize, and draft a reply.

  1. plain·read thread and customer record
  2. stripe·check plan and payment health
  3. notion·search help center for the answer
  4. plain·label, set priority, and draft reply

Thread triaged in 22 seconds

  • Labeled `billing` · priority `high` (Enterprise plan)
  • Draft reply cites the invoice settings doc
  • Internal note names the failed charge from Tuesday

Answer the questions you have answered before

The agent searches past resolved threads and your docs, and sends a reply when it is confident, escalating when it is not.

plain · chat.received

Answer questions we have resolved before; escalate anything new.

  1. plain·search resolved threads for the same question
  2. notion·read the referenced doc
  3. plain·send reply and mark thread done

Answered and closed

  • Matched 3 prior threads on SSO group mapping
  • Replied with steps and a doc link
  • Left an internal note with the sources used

Summarize the support week

A scheduled agent reads every thread, clusters them by theme, and tells the product team what customers kept asking about.

Fridays at 3:00pm

Every Friday, cluster the week's threads by theme and post to Slack.

  1. plain·list threads from the last 7 days
  2. code·cluster by topic and count
  3. slack·post themes to #product

Support themes · week of Mar 3

  • 41 threads · 3 clusters cover 68%
  • SSO setup confusion is the top theme (14)
  • 2 threads describe the same undocumented bug

Escalate the accounts that matter

When a high-value customer writes in unhappy, the agent pages the owner with the account context already assembled.

plain · thread.thread_created

When an Enterprise customer opens an urgent thread, page the account owner.

  1. plain·read thread and tenant tier
  2. attio·look up the account owner
  3. slack·DM the owner with a summary
  4. plain·set priority urgent and assign

Escalated to @priya

  • Northwind · Enterprise · $4.2k MRR
  • Third thread this week on the same issue
  • Priority set to urgent

Event triggers

Start a run on Plain events

Attach any of these events to a workflow and filter on the fields that matter. Manual, schedule, and signed webhook triggers work too.

EventWhat it means
thread.thread_createdA customer opens a new thread - the moment to triage, label, and draft a reply.
thread.chat_receivedA live chat message arrives and an agent can answer or route it immediately.

Works with

Plain works with the rest of your stack

One agent, one run, several services. It reads from one tool and writes to the next in the same sandbox.

FAQ

Questions, answered

Put an agent on Plain.

Connect it once and describe the task in chat. Then reuse the prompt as a workflow on a schedule or a webhook.