Add Plain to your AI agent
Plain is a collaborative support platform for B2B support teams, offering a modern, AI-powered interface to consolidate support channels and assist customers efficiently.
- Things your agent can do in Plain
- 119
Things your AI can do in Plain
Your FormWise AI can handle any of these in Plain — on its own, without you needing to click a button.
Add Customer To Group
PopularAdd a customer to up to 25 customer groups. Existing memberships are skipped, and the response contains only newly created memberships.
Add Members to Tier
PopularAdd or move up to 25 tenants or companies into one tier.
Create Customer Group
PopularCreates a new customer group in Plain for organizing and segmenting customers. Customer groups allow you to categorize customers (e.g., by pricing tier, feature access, or support level) and manage them more effectively in your support workflow. Each group has a unique key, display name, and visual color for easy identification. Use this when you need to create a new customer segment for organization or filtering purposes.
Create Tier SLA
PopularCreate one legacy tier SLA; next-response requires a first-response SLA on the tier.
Create SLA Policy
PopularCreate a named SLA policy with zero or more unique target types.
Create Task
PopularCreate a task, optionally linked to one parent and one assignee.
Create Thread
PopularCreate a thread after obtaining a valid customer identifier. Creating a thread can trigger a configured autoresponder, which sends an external reply to the customer; that outbound message cannot be recalled.
Create Tier
PopularCreate a support tier, optionally assigning tenant or company members.
Delete Customer
PopularPermanently and irreversibly deletes a Plain customer by ID, including all associated threads, timeline entries, and other customer data. Deletion runs asynchronously. Confirm the destructive operation before calling.
Delete Tier SLA
PopularDelete a legacy SLA from a tier. A first-response SLA cannot be deleted while the tier still has a next-response SLA; delete the next-response SLA first.
Delete SLA Policy
PopularDelete an SLA policy, its targets, and their trackers. Threads using the deleted policy fall back to their tier's SLAs.
Delete Task
PopularSoft-delete a task and remove its thread links.
Show 107 more things it can do
Delete Tier
PopularPermanently delete a tier and all of its memberships. The live API also requires serviceLevelAgreementBreachAction:delete, including when the tier does not exist. Plain's API-key UI grantability for that permission is currently unknown.
Delete User
PopularPermanently removes a Plain workspace user by ID. Their threads remain but become unassigned. Plain rejects deletion when the user is the workspace's only owner, so assign another owner first. Confirm this destructive operation.
Fetch Company
PopularTool to fetch company details by ID. Use when you need the full profile of a company, including name, domain, contract value, owner info, and timestamps.
Fetch Issues
PopularFetches external issue tracker links (Jira, Linear, GitHub, etc.) associated with a customer's threads. Returns a bounded, flattened snapshot of issue links across the customer's threads, including thread context. With defaults, it examines up to 50 threads and 50 links per thread; results may be truncated at either limit.
Fetch Tier
PopularFetch a tier by ID. Set include_details=true to include memberships and SLA configuration, which require additional permissions.
Get Customer By Email
PopularFetch customer details by email address. Returns customer information if found, or null if no customer exists with that email.
Get Customer By ID
PopularTool to retrieve details of a specific customer by their unique ID. Use after obtaining the customer's ID to fetch their complete record.
Get Customers
PopularTool to fetch a list of customers. Use when retrieving multiple customer records with pagination, filtering, or sorting.
Get Knowledge Gap
PopularFetch one AI-detected knowledge gap and its linked task and signals.
Get SLA Policy
PopularFetch one SLA policy by its Plain ID.
Get Task by ID or Ref
PopularFetch one task by either its Plain ID or human-readable T-123 ref.
Get Thread By ID
PopularFetches a thread by ID, including customer info, status, priority, labels, and assignments. Returns null if the thread is not found.
Get User By ID
PopularFetch workspace user/team member by ID. Returns detailed information about a workspace team member including their name, email, status, and avatar. Note: This fetches workspace users (team members), not customers. Use GET_CUSTOMER_BY_ID for customer data.
List AI Feedback
PopularList feedback submitted on Plain AI features, optionally filtered by feature, sentiment, or time.
List Customer Groups
PopularList one paginated page of customer groups with optional external-ID filtering.
List Knowledge Gaps
PopularList AI-detected knowledge gaps with status filters and useful sort orders.
List SLA Policies
PopularList named SLA policies, optionally filtering by name or target type.
List Tasks
PopularList workspace tasks with pagination, filtering, and sorting.
List Tiers
PopularList tiers with cursor pagination. Set include_details=true to include memberships and SLA configuration, which require additional permissions.
List Threads
PopularRetrieve up to 50 threads from one page, optionally filtered by status. Omit the cursor for the first page and pass the returned end cursor to fetch the next page.
Remove Customer From Group
PopularRemoves a customer from one or more customer groups in Plain. Use this action to revoke customer group memberships. The customer must be a member of the specified group(s) - attempting to remove a customer from a group they're not in will result in an error. Groups can be identified by their Plain internal ID (customerGroupId), unique key (customerGroupKey), or external ID (externalId). Common use cases: - Downgrade customer tier (e.g., remove from premium_tier group) - Remove customer from beta access groups - Clean up group memberships after customer status changes
Remove Members from Tier
PopularRemove up to 25 tenants or companies from their current tiers.
Run GraphQL Query
PopularExecute an arbitrary GraphQL document against Plain without a safety gate. Prefer a specific Plain action when one exists. Inspect the full document first: mutations can immediately and irreversibly create, deliver, update, or delete data. Required authorization depends on its operations and selected fields, so this action cannot predeclare sufficient permissions; the connected credential must already have them. Provider GraphQL errors, including mutation business errors, are returned in the errors field and must not be treated as success merely because HTTP returned 2xx.
Send Message
PopularImmediately and irreversibly deliver a message through an existing thread. The thread determines the delivery channel and primary recipient or channel; this action does not let the caller review or override them. Email threads can add CC and BCC recipients. By default Plain sends as the connected machine user, while impersonation can make the message appear from a customer or an allow-listed workspace user.
Update Company
PopularUpserts (creates or updates) a company in Plain. Provide companyId to update by ID or companyDomainName to upsert by domain. When both identifiers are omitted, domainName is also used as companyDomainName for compatibility. Use this to create new companies, update existing company details (name, domain, contract value), or assign account owners.
Update Company Tier
PopularAssign one company to a tier or clear its tier membership.
Update Tier SLA
PopularUpdate a legacy tier SLA without changing its SLA type.
Update SLA Policy
PopularReplace an SLA policy's targets; omitted target types and their trackers are deleted.
Update Task
PopularUpdate selected fields on an existing task.
Update Tenant Tier
PopularAssign one tenant to a tier or clear its tier membership.
Update Thread Title
PopularTool to update a thread's title. Use when renaming a thread after confirming its ID.
Apply or Clear Thread SLA Policy
PopularApply an SLA policy, or clear it so the thread falls back to its tier's SLAs.
Update Tier
PopularUpdate selected fields on an existing support tier.
Upsert Customer
PopularTool to upsert (create or update) a customer. Use when syncing or ensuring a customer record exists before subsequent actions.
Add Customer To Tenants
Idempotently add a customer to one or more tenants.
Add Generated Reply
Add a suggested reply for teammate review without sending it to the customer.
Add Labels To Thread
Add one or more labels to a thread by label-type ID.
Archive Label Type
Archive a label type while preserving labels already on threads.
Bulk Delete Thread Fields
Sequentially delete thread fields, returning each non-atomic item result.
Bulk Set Thread Fields
Create or replace multiple typed thread-field values.
Change Thread Assignment
Irreversibly assign, unassign, add, or remove thread assignees. For an AI-agent ASSIGN, LIVE lets the agent reply to customers, while SHADOW observes real threads without sending customer replies.
Create Attachment Download URL
Create a sensitive three-minute URL and return its virus-scan result. Download or process the file only when attachmentVirusScanResult is CLEAN. Treat INFECTED as unsafe, FAILED or PENDING as not cleared, and null as unscanned; do not fetch or expose the file in any of those states. Do not log or share the URL.
Create Attachment Upload Form
Create a sensitive, two-hour presigned upload capability; no file is uploaded. Do not log or share uploadFormUrl or uploadFormData. Next, POST multipart/form-data directly to uploadFormUrl with every uploadFormData key/value as a form field and the exact binary file in the form field named `file`. After that upload succeeds, pass the returned attachment.id to a compatible message or note action.
Create Autoresponder
Create an autoresponder that automatically sends outbound customer replies. Enabled autoresponders can send irreversible external messages when new threads match. Plain permits at most 25 autoresponders per workspace and delays up to 900 seconds.
Create Email/Slack Discussion
Immediately and irreversibly start an external EMAIL or SLACK discussion. EMAIL delivers the first message to every emailDetails.toAddresses recipient and optional ccAddresses recipient. SLACK posts it to the connected channel selected by slackDetails.connectedSlackChannelId. Live provider authorization requires threadDiscussion:create, although the current operation page omits it.
Create Customer Or Thread Event
Create a custom customer-wide or single-thread timeline event.
Create Label Type
Create a label type that can be applied to threads.
Create Note
Create an internal note on an existing customer thread. Plain's live API currently rejects customer-level notes without threadId even though the current GraphQL SDL marks that input nullable.
Create Snippet
Create a reusable plain-text and optional Markdown reply snippet.
Create Thread Field Schema
Create a custom thread-field schema.
Delete Autoresponder
Permanently delete a native autoresponder.
Delete Customer Group
Permanently delete an empty customer group after confirmation.
Delete Note
Soft-delete an internal note.
Delete Snippet
Soft-delete a snippet while preserving historical references.
Delete Tenant
Delete a tenant, unlink its customers, and remove its field values. Existing threads retain a reference to the tenant deletion record but are no longer routed through that tenant.
Delete Tenant Field Value
Clear one tenant field value without deleting its schema.
Delete Tenant Field Schema
Permanently delete a tenant-field schema and all values stored against it.
Delete Thread
Permanently delete a thread and all associated data.
Delete Thread Field Schema
Delete a schema and all values stored against it.
Escalate Thread Or Select Path
Advance a thread's escalation or attach/detach its escalation path.
Get Autoresponder
Fetch one native Plain autoresponder through the machine-user-safe list query.
Get Customer By External ID
Fetch a customer by the exact stable external ID from your own system.
Get Customer Group
Fetch one customer group by its Plain ID. Plain's live API requires customerGroup:read for this query.
Get Email/Slack Discussion
Fetch metadata for one EMAIL or SLACK side-conversation by ID. Live provider authorization requires threadDiscussion:read, although the current public operation page does not state that permission.
Get Label Type
Fetch one label type by Plain ID or external ID.
Get Snippet
Fetch one snippet by ID, including a soft-deleted snippet.
Get Tenant
Fetch one tenant by its Plain ID, including current custom field values.
Get Thread By Reference
Fetch a thread by ref or by its customer-scoped external ID.
Import Thread
Import one historical thread without triggering SLAs or autoresponders.
Import Thread Messages
Import up to 25 historical messages and return one result per input message. Reusing a message externalId is idempotent and returns NOOP. The batch is non-atomic: successful messages remain committed when others fail, with per-message results and a top-level bulk_partial_failure error. Attachments require previously uploaded IDs.
List Autoresponders
List native Plain autoresponders in priority order.
List Deleted Threads
List deletion-audit records for threads.
List Email/Slack Discussions
List only EMAIL and SLACK side-conversations with filters and pagination. Live provider authorization requires threadDiscussion:read, although the current public operation page does not state that permission.
List Generated Replies
List current suggested replies for a thread's most recent inbound message.
List Label Types
List active and/or archived label types.
List Snippets
List the workspace snippet library with cursor pagination.
List Tenant Field Schemas
List tenant-field schemas before reading or writing custom values.
List Tenants
List tenants with current filters and cursor pagination.
List Thread Field Schemas
List the workspace's custom thread-field schemas.
List Threads By External ID
List a page of threads with an external ID across all customers.
List Threads With Rich Filters
List threads with the provider's complete public filter and sort surface.
Mark Customer As Spam
Idempotently hide a customer's threads as spam and exclude them from metrics.
Remove Customer From Tenants
Idempotently remove a customer from one or more tenants.
Remove Labels From Thread
Remove one or more concrete labels from a thread.
Reorder Autoresponders
Reorder native autoresponders in one call.
Reorder Thread Field Schemas
Reorder one or more thread-field schemas.
Reply To Email
Immediately and irreversibly send an external reply to an inbound email. Plain inherits the primary recipients and email channel from the referenced inbound email. The request can add CC and BCC recipients or send from a verified alternate support address while preserving email-client threading.
Search Customers
Search customer profile fields or timeline text using explicit OR conditions.
Search Tenants
Search tenants by name, domain, or exact external ID.
Search Threads
Search thread titles, messages, and customer names or emails.
Send Email/Slack Discussion Message
Immediately and irreversibly deliver a message in an existing discussion. The discussion ID determines the external recipients and original EMAIL or SLACK channel; they cannot be reviewed or overridden here. Live provider authorization requires threadDiscussionMessage:create, although the current operation page omits it.
Send New Email
Immediately and irreversibly send an external email to a customer. Plain uses the customer's email as the primary recipient. The request can add CC and BCC recipients, send from a verified alternate support address, and attach the email to an existing thread; the delivery channel remains email.
Set Customer Tenants
Replace a customer's complete tenant membership set in one call.
Transition Thread Status
Move a thread to Todo, Snoozed, or Done.
Unarchive Label Type
Restore an archived label type for use on new threads.
Unmark Customer As Spam
Idempotently clear a customer's spam flag and restore inbox visibility.
Update Autoresponder
Update an autoresponder that automatically sends outbound customer replies. Enabling or changing a matching autoresponder can cause irreversible external messages. Plain permits at most 25 autoresponders per workspace and delays up to 900 seconds.
Update Generated Reply
Record teammate feedback on a generated reply.
Update Label Type
Update mutable label-type properties using field wrappers.
Update Note
Replace an internal note's content and optional attachment list.
Update Snippet
Update selected snippet fields using Plain's field-level wrappers.
Update Thread Attributes
Change one thread priority, customer, external ID, tenant, or tier attribute.
Update Thread Field Schema
Update mutable properties of a thread-field schema.
Upsert Customer Group
Idempotently create or update a customer group using machine-user-safe calls.
Upsert Tenant
Create or update a tenant while synchronizing its stable external ID.
Upsert Tenant Field
Set one typed custom field value for a tenant.
Upsert Tenant Field Schemas
Create or update tenant-field schemas keyed by source and external field ID.
Built for the way you actually work
No code, no engineers
Connect in a few clicks and start using your AI right away. If you can use the apps you already love, you can do this.
Sounds like you, not like a bot
Train your AI on your offer, your voice, and the way you actually talk to clients — it picks up where you leave off.
Plugs into the stack you already use
No need to rip out your CRM, your scheduler, or your email tool. Your AI works inside the apps running your business today.
Your data stays yours
Client conversations, lists, and credentials are scoped to your workspace. Nothing gets shared, sold, or used to train anyone else’s AI.
What you can do once Plain is connected
Onboard new clients without lifting a finger
When someone signs up, your AI greets them, sets up their next step in Plain, and keeps the momentum going — even at 2am.
Reply to leads in seconds, not days
Your AI watches Plain for new inquiries, answers questions in your voice, and books the call before they cool off.
Get your weekends back
Hand off the repetitive Plain work — follow-ups, reminders, updates, simple admin — and stop being the bottleneck in your own business.
How to connect Plain to your agent
- 1
Start using FormWise for free
Sign up in under a minute.
- 2
Find Plain in your connected apps
Inside FormWise, open Connectors and look for Plain.
- 3
Hit "Connect"
Click "Connect Plain" and log in like you normally would. We only ask for the permissions your AI actually needs.
- 4
Tell your AI what to do in Plain
Build a quick AI Agent (it's like writing instructions, not code), and pick the Plain actions you want your AI to handle.
- 5
Watch it run
Send it a real-world task and watch your AI take care of Plain for you. Tweak the wording until it feels just right.
Powered by the AI you already trust
Your Plain workflow runs on the same world-class AI used by ChatGPT, Claude, and Gemini. We handle the technical part — you just tell your AI what to do, in plain English.
- OpenAI
- Anthropic Claude
- Google Gemini
Questions other Plain users had before signing up
Do I need to know how to code?
Not even a little. If you can use Plain today, you can set this up. You'll connect Plain, tell your AI what it should help with, and you're live. The whole thing is built for coaches, course creators, agencies, and operators — not engineers.
Will my clients know they're talking to an AI?
Only if you want them to. Your FormWise AI is trained on your voice, your offer, and the way you actually communicate — so it sounds like a thoughtful team member, not a clunky chatbot. Most people can't tell.
Can I make it sound like me?
Yes. You can give your AI examples of how you write, the questions you usually ask new clients, the way you handle objections, and the language you use about your offer. The more you give it, the more it sounds like you wrote it.
What if I want to take over a conversation?
You're always in control. You can step in at any point, take over from your AI, or stop it from sending messages until you've reviewed them. Think of it as a teammate, not a replacement.
Is my client data safe?
Yes. Your Plain login and client information stay scoped to your workspace. We don't sell it, we don't share it, and we don't use your data to train anyone else's AI. You can disconnect Plain or delete everything any time.
What happens when Plain updates their app?
We handle it. When Plain adds new features or changes how something works, we update the integration in the background. You don't have to do anything — your AI just keeps working.
How fast can I actually get this running?
Most people are up and running the same day they sign up. Connecting Plain takes a few minutes. Teaching your AI to handle the work the way you'd want it done is the part worth slowing down for.
What is FormWise?
FormWise is the AI agent builder for coaches, course creators, and agencies. You connect the apps you already use — like Plain — train your AI on your offer and voice, and let it handle the work you've been doing manually: onboarding, follow-ups, support, admin. No code, no developers, no engineering team required.
Can I sell AI agents to my clients?
Yes. A lot of FormWise users build AI assistants and sell them as part of their offer — done-for-you AI setups, white-label assistants for client businesses, custom GPTs trained on a client's brand. You can charge a setup fee, a monthly retainer, or both.
Can I embed my AI on my website or in my course?
Yes. Every AI you build in FormWise can be embedded on your site, dropped into your course platform, or shared as a standalone link. Your clients and students just open it like any other web page — no app to download, no login hoops.
Do I need to know anything about AI to use this?
No. If you can describe what you want your AI to do in plain English — "greet new clients, ask these 3 questions, book them a call" — FormWise can build it. We handle the models, the prompts, the connections. You handle the part you already know: what your business actually needs.
About Plain on FormWise
Plain is a collaborative support platform for B2B support teams, offering a modern, AI-powered interface to consolidate support channels and assist customers efficiently.
Connect Plain once and your FormWise AI gets 119 things it can do inside it. That means your AI can handle the Plain work in your business — the messages, the updates, the follow-ups, the admin — the way you would, just faster and around the clock.
You don't need to know how any of it works under the hood. We take care of keeping the connection alive, retrying if something fails, and making sure your data only ever moves where you tell it to.
New to Plain? Take a look at www.plain.com.
More Customer Support integrations
Zendesk
Zendesk provides customer support software with ticketing, live chat, and knowledge base features, enabling efficient helpdesk operations and customer engagement
Front
Front is a shared inbox and collaboration platform that centralizes customer communications from multiple channels, enabling teams to manage emails, chats, and more
Gleap
Gleap is an all-in-one customer feedback tool for apps and websites, enabling direct communication with users to build better software by discovering their everyday pain points.
Freshdesk
Freshdesk provides customer support software with ticketing, knowledge base, and automation features for efficient helpdesk operations and better customer experiences
ServiceNow
ServiceNow is a cloud-based enterprise platform that helps organizations automate and manage digital workflows across IT, HR, customer service, and operations.
RepairShopr
RepairShopr is a comprehensive repair shop management software designed to streamline operations, manage customer relationships, and enhance business efficiency.
Stop doing the Plain work yourself
Hand it off to an AI assistant that sounds like you, works around the clock, and never forgets a follow-up. Free to start.
