Skip to main content
Glama

threads_update

✏️ Update a conversation thread: rename it, add notes/description, move it to a folder, or take it out of sync.

When to use:

  • User wants to rename a chat or group

  • User wants to add notes/context about a conversation

  • User wants to organize threads into folders

  • User wants a chat to stop showing up and stop syncing (synced=false) — e.g. the personal chats on an account that is only in the workspace for its work groups. Nothing is deleted; synced=true brings it back.

For DM threads, renaming also updates the linked contact's display name by default. Pass thread_id for one thread, or thread_ids to apply the same change to several. Ids come from threads.list / search.threads.

Input Schema

NameRequiredDescriptionDefault
titleNoNew title for the thread (max 255 chars). For a DM this ALSO renames the linked contact, so an empty string is ignored, not applied — omit the parameter when you are not renaming.
syncedNofalse takes the chat out of sync: it disappears from the inbox, from knowledge/RAG search, and the sync service stops fetching it. Messages already stored are kept and nothing is deleted. true puts it back, including a chat sync left out by itself (e.g. a large group, or a channel of a big Discord server; find its id, synced or not, with channels.list(account_id=..., chats='<part of its title>')), and queues its recent history (not on an account that syncs only new messages). The decision survives later syncs. OMIT to leave sync as it is.
folder_idNoMove thread to this folder (null removes from folder)
thread_idNoThread ID from threads.list. Use this OR thread_ids.
thread_idsNoSeveral thread IDs to apply the same change to, e.g. taking a batch of personal chats out of sync in one call. Use this OR thread_id.
descriptionNoAI context / notes for this thread. Empty string clears description.
in_workspaceNoRun this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.
update_contactNoFor DM threads, also rename the linked contact (default: true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / synced / description
      Previous value: -"false takes the chat out of sync: it disappears from the inbox, from knowledge/RAG search, and the sync service stops fetching it. Messages already stored are kept and nothing is deleted. true puts it back, including a chat sync left out by itself (e.g. a large group), and queues its recent history (not on an account that syncs only new messages). The decision survives later syncs. OMIT to leave sync as it is."New value: +"false takes the chat out of sync: it disappears from the inbox, from knowledge/RAG search, and the sync service stops fetching it. Messages already stored are kept and nothing is deleted. true puts it back, including a chat sync left out by itself (e.g. a large group, or a channel of a big Discord server; find its id, synced or not, with channels.list(account_id=..., chats='<part of its title>')), and queues its recent history (not on an account that syncs only new messages). The decision survives later syncs. OMIT to leave sync as it is."
  2. Changed1 schema field changed
    • changedInput schema / properties / synced / description
      Previous value: -"false takes the chat out of sync: it disappears from the inbox, from knowledge/RAG search, and the sync service stops fetching it. Messages already stored are kept and nothing is deleted. true puts it back. The decision survives later syncs. OMIT to leave sync as it is."New value: +"false takes the chat out of sync: it disappears from the inbox, from knowledge/RAG search, and the sync service stops fetching it. Messages already stored are kept and nothing is deleted. true puts it back, including a chat sync left out by itself (e.g. a large group), and queues its recent history (not on an account that syncs only new messages). The decision survives later syncs. OMIT to leave sync as it is."
  3. Changed1 schema field changed
    • addedInput schema / properties / in_workspace
      Added value: +{
      +  "description": "Run this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.",
      +  "type": "integer"
      +}
  4. Added
  5. Removed
  6. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it states that unsyncing hides the thread from inbox and knowledge/RAG search and halts the sync service, that stored messages are kept and nothing is deleted, that the choice survives later syncs, that synced=true also queues recent history, and that DM renames propagate to the linked contact. The annotations only say destructiveHint=false and idempotentHint=false; the description explains why the non-destructive claim holds.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then a scannable use-case list, then the id-sourcing note. The synced explanation is long but each clause (hidden from RAG, history queued, survives later syncs) prevents a distinct misuse, so little feels padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, all-optional batch-capable mutation tool with no output schema, the description covers the risky paths (sync, DM rename, batch ids, in_workspace) adequately. It never mentions what the call returns or confirms partial-failure behavior when thread_ids includes bad ids, which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description adds real value by stating that ids come from threads.list / search.threads and that thread_id and thread_ids are exclusive ways to apply the same change to one or many. It largely restates the schema's DM-rename and empty-string handling, which caps it below 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb (Update) and resource (conversation thread) and enumerates the four mutation dimensions: rename, notes/description, folder move, and sync state. That scope is immediately distinguishable from threads_delete or search_threads without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

An explicit 'When to use' block maps four user intents onto the tool, and the synced=false bullet shows the actual motivating scenario (personal chats on a work-only account). What's missing is naming the alternative — e.g. that threads_delete exists for removal and search_threads for finding ids — so the agent must infer that from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.