list_threads
List Threads
List support threads with optional filtering by status, customer, or tenant. Returns thread details with pagination support.
list_threads
List support threads with optional filtering by status, customer, or tenant. Returns thread details with pagination support.
manage_customer_tenants
Add or remove a customer from tenants. Customers can belong to multiple tenants. Provide tenant identifiers to add or remove.
list_label_types
List all available label types in the workspace. Label types define the categories you can apply to threads (e.g., "Bug", "Feature Request"). Use the returned IDs when adding labels to threads.
update_customer_company
Change a customer's associated company. By default, Plain auto-derives the company from the customer's email domain. Use this tool to manually override it by specifying a company ID, domain, or set to null to remove the association.
upsert_customer
Create or update a customer in Plain. Uses an upsert pattern — if a customer matching the identifier exists, it will be updated; otherwise a new customer is created. Specify separate fields for creation vs. update via **onCreate** and **onUpdate**.
list_customer_groups
List all customer groups in the workspace. Customer groups are used for organizing customers by segment, pricing tier, or other criteria.
create_thread
Create a new support thread for a customer. Threads represent customer conversations and are created with an initial message composed of UI components (text, spacers, link buttons). You can optionally assign a tenant, labels, and priority.
update_thread_status
Change a thread's status to Todo, Done, or Snoozed. When snoozing, specify a duration in seconds after which the thread returns to Todo.
list_customers
List customers in your Plain workspace with optional pagination. Returns customers along with their company and metadata.
get_customer
Look up a single customer by ID, email, or external ID. Returns detailed customer information including company and metadata.
get_thread
Retrieve a single support thread by ID. Returns full thread details including status, priority, labels, assignee, and associated customer/tenant information.
reply_to_thread
Send a reply to an existing thread. The reply is composed of UI components (text, spacers, link buttons). Optionally impersonate a customer when replying.
delete_customer
Permanently delete a customer from Plain. This action cannot be undone.
manage_thread_labels
Add or remove labels on a thread. Use the **addLabelTypeIds** field to add labels and **removeLabelIds** to remove them. You can do both in a single call. Use the list_label_types tool to discover available label types.
upsert_tenant
Create or update a tenant. Tenants let you organize customers to match your product's structure (e.g., teams, organizations). Uses an upsert pattern — matched by identifier, created if not found, updated otherwise.
create_timeline_event
Create a custom event on a customer's timeline or on a specific thread. Timeline events appear in the thread view and can display rich content (text, links, spacers). Use **externalId** for idempotency.
send_email
Send a new email to a customer. This creates a new thread with an outbound email. You can also specify Cc and Bcc recipients.
manage_customer_groups
Add or remove a customer from customer groups. Customer groups are used for segmentation and access control. Use the list_customer_groups tool to discover available groups.
change_thread_priority
Change the priority level of a support thread. Priority levels: 0 = urgent, 1 = high, 2 = normal, 3 = low.
assign_thread
Assign or unassign a support thread. Provide a userId to assign, or set unassign to true to remove the current assignment.
Manage customer support threads, customers, and conversations across email, Slack, chat, and other channels. Create and update customers with external IDs, organize them into companies, tenants, and groups. Create, reply to, assign, prioritize, and change status of support threads. Apply labels, set SLA tiers, and manage thread fields. Send and receive messages via email (with Cc/Bcc), Slack, and chat. Create custom timeline events on customer profiles with rich UI components. Receive webhooks for thread, message, and customer lifecycle events including status changes, assignments, label updates, and SLA transitions.
Common questions about connecting Plain to AI agents with Metorial.