Skip to content
Elaichi Elaichi

helpdesk

Unthread

Connect Unthread to Elaichi and hand every teammate a governed MCP endpoint — 66 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.

Unthread

AI tools

Unthread tools for your AI agents

66 tools are ready to mint as an MCP endpoint the moment you connect Unthread — governed by the same roles, restrictions, and audit log as everything else in Elaichi.

create_a_unthread_account

Create a new account in Unthread. Returns the created account including id, name, primarySupportAssigneeId, primarySupportAssigneeType, secondarySupportAssigneeId, secondarySupportAssigneeType, emailsAndDomains, slackChannelIds, slackTeamIds, customFields, supportSteps, imageUrl, externalCrmMetadata, createdAt, updatedAt, createdBy, updatedBy, slackChannels, slackTeams, and tags. Required: name.

get_single_unthread_account_by_id

Get a single Unthread account by id. Returns the account including id, name, emailsAndDomains, slackChannelIds, slackTeamIds, customFields, supportSteps, imageUrl, externalCrmMetadata, createdAt, updatedAt, createdBy, updatedBy, slackChannels, slackTeams, and tags. Required: id.

update_a_unthread_account_by_id

Update a Unthread account by id. All fields from the create request schema can be updated. Returns the updated account including id, name, emailsAndDomains, slackChannelIds, slackTeamIds, customFields, supportSteps, imageUrl, externalCrmMetadata, createdAt, updatedAt, createdBy, updatedBy, slackChannels, slackTeams, and tags. Required: id.

delete_a_unthread_account_by_id

Delete a Unthread account by id. Returns an empty 204 response on success. Required: id.

list_all_unthread_accounts

List Unthread accounts following the standard list conventions with select, order, where, and descending filters. Returns each account with id, name, emailsAndDomains, slackChannelIds, slackTeamIds, customFields, supportSteps, imageUrl, externalCrmMetadata, createdAt, updatedAt, createdBy, updatedBy, slackChannels, slackTeams, and tags. Max 100 per page.

create_a_unthread_approval_request

Create an approval request for a conversation in Unthread. Returns the newly created approval request including id, status, conversationId, tenantId, and createdAt. Required: conversation_id. Settable fields: title, assignedToUserId, assignedToGroupId.

list_all_unthread_approval_requests

List approval requests for a conversation in Unthread. Returns ApprovalRequest objects including status, id, tenantId, assignedToGroupId, assignedToUserId, statusChangedAt, conversationId, title, notes, createdAt, approverUser, and approverGroup. Required: conversation_id.

create_a_unthread_automation

Create a new automation in Unthread. Returns the created automation object including its id, name, status, trigger, steps, and conditions. Required: name, trigger, steps. Automations are only available if custom actions are enabled for the tenant.

unthread_automations_create_function

Upload shared code library external functions for automations in Unthread. Returns an object with a version number for subsequent activation. Required: code. The projectId query parameter is optional; omit it for tenant-level automations.

unthread_automations_activate_function

Activate a specific version of a shared code library function for automations in Unthread. Returns the activated function version number. Required: version. The projectId query parameter is optional; omit it for tenant-level automations. Activating a previous version can be used to roll back changes.

list_all_unthread_collaborator_types

List collaborator types in Unthread following the standard list conventions. Returns: id. Max 100 per page.

create_a_unthread_conversation

Create a new conversation in Unthread. Behavior varies by type — Slack (channel/DM), triage (internal discussion), or email (email replies). Returns the created conversation including its id, title, initialMessage (ts, text), and tags. Required: type, markdown, status.

get_single_unthread_conversation_by_id

Get a single Unthread conversation by id. Returns the full conversation object including id, status, title, initialMessage, tags, customerId, createdAt, and updatedAt. Required: id.

update_a_unthread_conversation_by_id

Update an Unthread conversation by id. Supports updating status, priority, title, assignedToUserId, customerId, ticketTypeId, ticketTypeFields, metadata, and more. Returns the updated conversation including id, title, initialMessage, and tags. Required: id. Optional query params: mergeTicketTypeFields, useFullContent.

list_all_unthread_conversations

List conversations in Unthread using the standard list conventions (select, order, where, descending). Returns an array of conversation records each including id, title, initialMessage (ts, text), and tags. Max 100 per page.

unthread_conversations_download_file

Download the full contents of a file attachment from an Unthread conversation. Returns the raw file content as binary data. Required: conversation_id, file_id.

unthread_conversations_add_follower

Add a follower to an Unthread conversation. Returns: entityId, userId, groupId, id, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: conversation_id, entityId, entityType.

unthread_conversations_remove_follower

Remove a follower from an Unthread conversation by entityId. Returns the updated conversation including its id, title, status, and tags. Required: conversation_id, entityId.

unthread_conversations_assign_collaborator

Assign a collaborator with a given collaborator type to an Unthread conversation. Returns the updated conversation including id, title, status, collaborators, and tags. Required: conversation_id, collaborator_type_id. The request body requires entityId and entityType (either "user" or "group").

unthread_conversations_create_external_task

Create an external task for a conversation in Unthread, sending it to a configured task manager integration such as Linear. Returns the created external task including id, title, description, integrationId, assigneeId, and providerConfig. Required: conversation_id, title, integrationId.

create_a_unthread_customer

Create a new customer in Unthread. A Slack channel is created automatically if the createChannel flag is set to true. Returns the created customer object including id, name, slackChannelId, createdAt, updatedAt, tags, and projectId. Required: name.

get_single_unthread_customer_by_id

Get a single Unthread customer by id. Returns the full customer object including name, slackChannelId, primarySupportAssigneeId, botHandling, autoresponder, supportSteps, tags, slackChannel, createdAt, updatedAt, and projectId. Required: id.

update_a_unthread_customer_by_id

Update an existing Unthread customer by id. Returns the updated customer object including name, slackChannelId, botHandling, autoresponder, supportSteps, tags, slackChannel, createdAt, updatedAt, and projectId. Required: id.

delete_a_unthread_customer_by_id

Delete an Unthread customer by id. Returns an empty 204 response on success. Required: id.

list_all_unthread_customers

List Unthread customers following the standard list conventions with select, order, where, and descending filter parameters. Returns: id, name, primarySupportAssigneeId, primarySupportAssigneeType, secondarySupportAssigneeId, secondarySupportAssigneeType, replyTimeoutMinutes, defaultTriageChannelId, disableAutomatedTicketing, botHandling, autoresponder, supportSteps, slackTeamId,…

unthread_knowledge_base_query

Query the Unthread knowledge base for articles matching a search string, with optional context parameters to influence results. Returns: id, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: query.

create_a_unthread_outbound

Create an outbound message in Unthread. The outbound is sent immediately unless status is set to "draft". Returns: id, status, deliveryMethod, subject, blocks, recipients, sendAs, runAt, title, content, url, userGroupIds, createdAt, updatedAt.

update_a_unthread_outbound_by_id

Update an outbound message in Unthread by id. Drafts can be sent by updating the status to "scheduled". Returns: id, status, deliveryMethod, subject, blocks, recipients, sendAs, runAt, title, content, url, userGroupIds, createdAt, updatedAt. Required: id.

list_all_unthread_outbounds

List all outbound messages in Unthread. Returns: id, status, deliveryMethod, subject, blocks, recipients, sendAs, runAt, title, content, url, userGroupIds, createdAt, updatedAt.

get_single_unthread_outbound_by_id

Get a single outbound message in Unthread by id. Returns: id, status, deliveryMethod, subject, blocks, recipients, sendAs, runAt, title, content, url, userGroupIds, createdAt, updatedAt. Required: id.

unthread_reporting_time_series

Get time-series conversation metrics from Unthread grouped by date and optional dimensions. Returns: data, dates, lookups, id, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: startDate, endDate, metric. Timezone defaults to UTC; response and resolution times are in seconds.

list_all_unthread_surveys

List surveys in Unthread following the standard list conventions. Returns: id, createdAt, updatedAt. Max 100 per page.

unthread_surveys_list_responses

List responses for a specific survey in Unthread following the standard list conventions. Returns: id, createdAt, updatedAt. Required: survey_id. Max 100 per page.

unthread_surveys_get_analytics

Get CSAT analytics for a specific survey in Unthread. Returns: id, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: survey_id.

unthread_slack_bulk_update

Update a Slack user group mapping in Unthread by providing the user's email and Slack handle. Returns: email, slackHandle, id, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: email, slackHandle.

create_a_unthread_tag

Create a new tag in Unthread. Returns the created tag object including id, name, description, autoTaggingEnabled, and projectId. Required: name.

get_single_unthread_tag_by_id

Get a single Unthread tag by id. Returns: id, name, description, autoTaggingEnabled, projectId, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: id.

update_a_unthread_tag_by_id

Update an Unthread tag by id. Returns the updated tag including id, name, description, autoTaggingEnabled, and projectId. Required: id.

delete_a_unthread_tag_by_id

Delete an Unthread tag by id. Returns an empty 204 response on success. Required: id.

list_all_unthread_tags

List Unthread tags following the standard list conventions. Returns: id, name, description, autoTaggingEnabled, projectId. Max 100 per page.

unthread_tags_link_customers

Assign a tag to multiple Unthread customers by providing an array of customer IDs. Returns an empty 204 response on success. Required: tag_id, and a request body array of customer IDs.

unthread_tags_link_conversations

Assign a tag to multiple Unthread conversations by providing an array of conversation IDs. Returns an empty 204 response on success. Required: tag_id, and a request body array of conversation IDs.

unthread_tags_unlink_customers

Remove a tag from multiple Unthread customers by providing an array of customer IDs. Returns an empty 204 response on success. Required: tag_id, and a request body array of customer IDs.

unthread_tags_unlink_conversations

Remove a tag from multiple Unthread conversations by providing an array of conversation IDs. Returns an empty 204 response on success. Required: tag_id, and a request body array of conversation IDs.

create_a_unthread_ticket_type

Create a new ticket type in Unthread with custom fields and conditional visibility rules. Returns: id, name, projectId, description, createdAt, updatedAt, fields, title, content, url, status, userGroupIds. Required: name, description.

update_a_unthread_ticket_type_by_id

Update a ticket type in Unthread by id, including its name, description, and field definitions. Returns: id, name, projectId, description, createdAt, updatedAt, fields, title, content, url, status, userGroupIds. Required: id.

delete_a_unthread_ticket_type_by_id

Delete a ticket type in Unthread by id. Returns an empty 204 response on success. Required: id.

list_all_unthread_ticket_types

List ticket types in Unthread using the standard list conventions with select, order, where, and descending parameters. Returns: id, name, projectId, description, createdAt, updatedAt, fields.

get_single_unthread_ticket_type_by_id

Get a single ticket type in Unthread by id. Returns: id, name, projectId, description, createdAt, updatedAt, fields, title, content, url, status, userGroupIds. Required: id.

list_all_unthread_users

List Unthread users synced from your Slack workspace. Returns: id. Pass includeExternalUsers as true to also return external users. Max 100 per page.

get_single_unthread_user_by_id

Get a single Unthread user by id. Returns: id, name, email, slackId, photo, customFields, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: id.

update_a_unthread_user_by_id

Update an Unthread user by id. Returns the updated user with id, name, email, slackId, photo, and customFields. Required: id.

list_all_unthread_user_groups

List user groups in Unthread following the standard list conventions with support for select, order, where, and descending parameters. Returns: id. Max 100 per page.

get_single_unthread_user_group_by_id

Get a single Unthread user group by id. Returns: id, description, isExternal, filters, projectId, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: id.

update_a_unthread_user_group_by_id

Update an Unthread user group by id. Returns the updated user group including id, description, isExternal, filters, and projectId. Required: id.

create_a_unthread_webhook_subscription

Create a webhook subscription in Unthread. Returns: id, url, enabled, title, content, status, userGroupIds, createdAt, updatedAt. Required: url.

update_a_unthread_webhook_subscription_by_id

Update a webhook subscription in Unthread by id. Returns: id, url, enabled, title, content, status, userGroupIds, createdAt, updatedAt. Required: id.

delete_a_unthread_webhook_subscription_by_id

Delete a webhook subscription in Unthread by id. Returns an empty 204 response on success.

list_all_unthread_webhook_subscriptions

List webhook subscriptions in Unthread. Returns: id, url, enabled, title, content, status, userGroupIds, createdAt, updatedAt.

list_all_unthread_conversation_messages

List messages for a given Unthread conversation. Returns: ts, userId, userTeamId, botId, botName, text, subtype, conversationId, timestamp, threadTs, conversation, user, metadata. Required: conversation_id.

create_a_unthread_conversation_message

Create a new message in an Unthread conversation, posted into the Slack thread. Returns the created message including ts, text, userId, conversationId, timestamp, botName, and metadata. Required: conversation_id. Either body, blocks, or markdown must be provided.

create_a_unthread_knowledge_base_article

Create a new knowledge base article in Unthread. Returns: id, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: title, content.

get_single_unthread_knowledge_base_article_by_id

Get a single knowledge base article in Unthread by id. Returns: id, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: id.

update_a_unthread_knowledge_base_article_by_id

Update an existing knowledge base article in Unthread by id. Returns: id, title, content, url, status, userGroupIds, createdAt, updatedAt. Required: id.

delete_a_unthread_knowledge_base_article_by_id

Delete a knowledge base article in Unthread by id. Returns an empty 204 response on success. Required: id.

list_all_unthread_knowledge_base_articles

List knowledge base articles in Unthread following standard list conventions with support for field selection, filtering, and sorting. Returns: id, title, content, url, status, userGroupIds, createdAt, updatedAt. Max 100 per page.

How it works

From Unthread account to governed MCP endpoint

Connect

Link a Unthread account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Unthread tools are exposed, rename them, or freeze arguments.

Mint

Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.

Give every teammate a governed MCP server

Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.