Plain

Plain is a collaborative support platform for B2B support teams, offering a modern, AI-powered interface to consolidate support channels and assist customers efficiently.

22 actions Integration catalog
Request access
Connect Plain once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Add Customer To GroupPLAIN_ADD_CUSTOMER_TO_GROUP
Tool to add a customer to one or more customer groups. Use when you have a customer and groups ready.
Create Customer GroupPLAIN_CREATE_CUSTOMER_GROUP
Creates 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 ThreadPLAIN_CREATE_THREAD
Tool to create a new thread. Use after obtaining valid customer identifier.
Delete CustomerPLAIN_DELETE_CUSTOMER
Tool to delete a customer from the system. Use when you need to remove a customer by their ID.
Delete UserPLAIN_DELETE_USER
Tool to delete a user from the system. Use when you need to remove a user by their ID after confirming existence.
Fetch CompanyPLAIN_FETCH_COMPANY
Tool 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 IssuesPLAIN_FETCH_ISSUES
Fetches external issue tracker links (Jira, Linear, GitHub, etc.) associated with a customer's threads. Returns a flattened list of all issue links across the customer's threads, including the thread context for each issue. Useful for getting a complete view of all external issues related to a customer. With defaults, returns up to threadFirst×linkFirst (2,500) total issue links; results are truncated if limits are exceeded, so reduce threadFirst or linkFirst for large datasets.
Fetch TierPLAIN_FETCH_TIER
Tool to fetch a tier by its ID. Use when you have a tier ID and need its metadata before proceeding. Example: "Fetch tier with ID tier_123".
Get Customer By EmailPLAIN_GET_CUSTOMER_BY_EMAIL
Fetch customer details by email address. Returns customer information if found, or null if no customer exists with that email.
Get Customer By IDPLAIN_GET_CUSTOMER_BY_ID
Tool to retrieve details of a specific customer by their unique ID. Use after obtaining the customer's ID to fetch their complete record.
Get CustomersPLAIN_GET_CUSTOMERS
Tool to fetch a list of customers. Use when retrieving multiple customer records with pagination, filtering, or sorting.
Get Thread By IDPLAIN_GET_THREAD_BY_ID
Fetches comprehensive details of a specific thread by ID, including customer info, status, priority, labels, and assignments. Returns null if thread not found.
Get User By IDPLAIN_GET_USER_BY_ID
Fetch 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 Customer GroupsPLAIN_LIST_CUSTOMER_GROUPS
Tool to list all customer groups. Use when you need to retrieve group metadata with optional pagination or filters.
List Threads (Deprecated)PLAIN_LIST_THREADS
DEPRECATED: Use PLAIN_PLAIN_QUERY_THREADS instead. Lists all threads (support conversations) in Plain. Returns thread summaries including ID, reference, title, status, and priority. Use this action to: - Get an overview of all threads in the system - Fetch threads with pagination for large datasets - Find threads by browsing through the list Pagination: Use 'first' for forward pagination (newest first) or 'last' for backward pagination (oldest last). For paginated results, use the cursors from pageInfo (endCursor/startCursor) with 'after'/'before' parameters. If no pagination parameters are provided, returns all threads.
List TiersPLAIN_LIST_TIERS
Tool to retrieve a list of tiers with pagination. Use when you need to browse available tiers after determining pagination cursors. Example: 'List tiers with first=25'.
List ThreadsPLAIN_QUERY_THREADS
Tool to retrieve a paginated list of threads. Use when you need to list threads with optional status filtering.
Remove Customer From GroupPLAIN_REMOVE_CUSTOMER_FROM_GROUP
Removes 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 either their Plain internal ID (customerGroupId) or their unique key (customerGroupKey). 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
Run GraphQL QueryPLAIN_RUN_GRAPHQL_QUERY
Execute any GraphQL query or mutation against Plain API. Use when no specific action exists or for complex operations like thread timelines, advanced filtering, and custom data retrieval. Supports queries, mutations, fragments, and variables.
Send MessagePLAIN_SEND_MESSAGE
Tool to send a new message within a thread. Use after identifying the thread and preparing message content.
Update CompanyPLAIN_UPDATE_COMPANY
Upserts (creates or updates) a company in Plain. Provide either companyId (for updating an existing company by ID) or companyDomainName (for upserting by domain). Use this to create new companies, update existing company details (name, domain, contract value), or assign account owners.
Update ThreadPLAIN_UPDATE_THREAD
Tool to update a thread's title. Use when renaming a thread after confirming its ID.
Upsert CustomerPLAIN_UPSERT_CUSTOMER
Tool to upsert (create or update) a customer. Use when syncing or ensuring a customer record exists before subsequent actions.