threads
threads.delete
Delete Thread
Effects: write
🗑️ PERMANENTLY delete conversation thread(s) and their messages + user-facing state (tags, assignments, drafts, reminders, RAG chunks). Destructive and NOT undoable — requires confirm=true.
Pass thread_id for one, or thread_ids for a bulk delete. Kept intentionally: call history (voice_sessions), usage/billing, traces, and outreach dedup are NOT removed.
Note: for a live synced channel (Telegram/WhatsApp) this clears the LOCAL copy; a new inbound can re-create the thread on next sync. For livechat/voice/test/duel threads it's effectively permanent.
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
confirm | boolean | yes | Must be true to actually delete — a safety gate for this destructive action. |
thread_id | integer | no | A single thread ID to delete. Use this OR thread_ids. |
thread_ids | array | no | Multiple thread IDs to delete in one call (bulk). Use this OR thread_id. |
threads.update
Update Thread
Effects: write
✏️ 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=truebrings 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.
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
description | string | no | AI context / notes for this thread. Empty string clears description. |
folder_id | integer | no | Move thread to this folder (null removes from folder) |
synced | boolean | no | 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. |
thread_id | string | no | Thread ID from threads.list. Use this OR thread_ids. |
thread_ids | array | no | Several 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. |
title | string | no | New 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. |
update_contact | boolean | no | For DM threads, also rename the linked contact (default: true) (default True) |