list_conversations
Find conversation IDs from the last 6 months by filtering participants, type, or name. Returns matching conversations with ID, name, workspace, and type.
Instructions
List your conversations from the last 6 months, optionally filtered by participants, type and name.
USE WHEN: Finding a conversation_id. Filter with user_ids plus match, types and name — YOUR DM with someone is user_ids: ["<their id>"], types: ["directMessage"]. You are always an implicit participant, so never pass your own ID. Filters AND together; if several match, ask which was meant.
USE INSTEAD: get_conversation when you already have an ID and want full detail — this returns only id, name, workspace_id and type.
EXAMPLE: {"user_ids":["user-abc"],"types":["directMessage"]}
RETURNS: {results_count, results: [{id, name, workspace_id, type}]} where type is directMessage | customerConversation | namedConversation | asyncMeeting. No paging: results_count is what is returned, after filtering. name adds unfiltered_count: rows the name was matched against, AFTER user_ids/types. ALWAYS check it before saying no such conversation exists. 0 of 47 means none matched that string (misspelt, or >6 months old); 0 of 0 means your other filters left nothing — not that the caller has none. Widen the filters or ask; never report it does not exist.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Keep only conversations whose name contains this string, case-insensitively. When nothing matches, check `unfiltered_count` before reporting no such conversation — it says how many existed to match against. Several matches means ask which was meant. | |
| match | No | Match mode for `user_ids`: `any` (union, default) or `all` (intersection). YOU are always included implicitly — `user_ids: ["u1"]` already means conversations containing you and u1, so never pass your own ID. Doing so under `any` matches every conversation you are in and silently discards the filter. | |
| types | No | Keep only these conversation types. `directMessage` is the 1:1 with someone — combine with `user_ids` to find your DM with a person. `namedConversation` is a conversation somebody named. Omit for all types. | |
| user_ids | No | List of user IDs to filter conversations by. When omitted, all conversations for the caller are returned. Requires actual user IDs, not usernames or display names. If you only have a person's name, call `search_users` first (e.g. `names: ["Brett"]`) to resolve it to a user ID. If `search_users` returns more than one candidate for a name, ask the caller which person they meant instead of guessing. | |
| response_fields | No | Dot-path allowlist to shrink the response, e.g. ["results.id","total"]. Omit for the full payload. |