The pesco instance defines 13 ticket statuses, not the 4 defaults, so a
(status:2 OR status:3) 'open tickets' filter silently dropped Working,
Scheduled, Waiting*, Pending Approval, etc. — undercounting 24 open tickets as 1.
Add a status helper that reads the status field from /ticket_form_fields and
treats only ids 4/5 (and closed/resolved-labelled) as terminal. Expose
list_ticket_statuses() and a list_tickets(unresolved=True) shortcut that builds
the full non-terminal status clause automatically. Document the gotcha in the
skill reference.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
Stdlib-only fs.py helper wrapping the Freshservice REST API v2 (auth, URL
building, filter quoting, pagination, error surfacing), plus SKILL.md and a
reference of endpoints, status/priority codes, and filter-query syntax.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>