Improve ticket-filter guidance: agent_id lookup, status OR, workspace_id

list_tickets struggled to express 'assigned to me and not resolved/closed'.
Document that assignee filtering uses the numeric agent_id (resolve from email
via list_agents first) and that open statuses must be enumerated as
(status:2 OR status:3) since there's no negation. Add workspace_id passthrough
for multi-workspace accounts. Mirror the guidance in the skill reference.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-16 21:28:36 -06:00
parent 7e0a3fabc2
commit 61c0b39e06
2 changed files with 38 additions and 5 deletions

View File

@@ -55,11 +55,22 @@ requester is emailed; a note with `"private": true` is internal-only.
- The whole expression must be URL-double-quoted; `scripts/fs.py` does this when
you pass `--param query=...` / `--param filter=...`.
Two common gotchas:
- **Assignee is `agent_id` (numeric), not an email.** Resolve an email to an id
first: `GET /agents?email=person@co.com` → read `id`, then filter on it.
- **No "not" operator for status.** "Open / unresolved / not closed" must be
enumerated: `(status:2 OR status:3)`. Parenthesize the OR group when AND-ing it.
Examples:
- `status:2 AND priority:3`
- `agent_id:0 AND status:2` — unassigned open tickets
- `agent_id:21000816864 AND (status:2 OR status:3)` — assigned to an agent, still open
- `type:'Incident' AND created_at:>'2026-06-01'`
Multi-workspace accounts: `/tickets/filter` searches one workspace by default.
Pass `--param workspace_id=<id>` to target another (an agent's `workspace_ids`
lists which ones they're in).
## Listing vs. filtering
- `GET /tickets` supports `filter` presets (`new_and_my_open`, `watching`,