working-with-tickets

Reads and posts activities on Fianu approval tickets via the platform HTTP API.

1|Updated Jun 11, 2026
One-click install
npx skills add https://github.com/fianulabs/fianu-skills --skill working-with-tickets-fianulabs
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: working-with-tickets
Source: https://github.com/fianulabs/fianu-skills/tree/main/skills/working-with-tickets
Command: npx skills add https://github.com/fianulabs/fianu-skills --skill working-with-tickets-fianulabs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Agents working with the Fianu compliance platform need a correct, canonical contract for reading ticket state and posting approval activities, including subtle pitfalls like the auth-token actor convention and the config.resolved_approvers lookup that silently break naive implementations. ## Core Features & Use Cases - Ticket data model reference: Documents the Ticket, Condition, and Activity schemas, including the gotcha that approvers live in config.resolved_approvers rather than a top-level field. - Read and write API contract: Covers GET endpoints for tickets, conditions, and activities, plus the POST /tickets/:uuid/activities endpoint for approved, denied, and comment actions. - Actor convention and queue iteration: Enforces that the actor is set by the bearer token (never the request body) and defines batch processing rules with rate limiting and pagination. - Use Case: An autonomous agent polls open tickets, checks whether its identity (bot|fianu-agent) appears in a condition's resolved_approvers, and posts an approval activity with an audit-trail metadata payload. ## Quick Start Ask the agent to list all open Fianu tickets and post a comment activity on the one targeting a specific control entity.

Frequently Asked Questions about working-with-tickets

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I approve a ticket through the Fianu API?▼

Post to /tickets/:uuid/activities with activityType "approved", the target conditionId, and an optional body and metadata. The actor is recorded from your bearer token's subject, so never include an actor field in the request body.

How do I find the approvers for a ticket condition?▼

Approvers are listed in the condition's config.resolved_approvers array, not as a top-level field. Reading condition.resolved_approvers directly returns undefined and silently skips the approver check.

Why is the actor field in my ticket activity request body ignored?▼

The Fianu server sets the actor from the bearer token's subject via h.User() and ignores any actor field in the body. Autonomous agents act as bot|fianu-agent based on the token issued at session start.

Can I post an activity on a closed Fianu ticket?▼

No. If a ticket's state is closed, do not submit any activity; log that it was already resolved and skip it. The same caution applies when the target entity returns 404 — post a comment noting the issue instead of approving or denying.

How should I batch process open approval tickets?▼

Fetch tickets with GET /tickets?state=open, process at most 10 per batch, and wait 2 seconds between tickets. Skip tickets the agent already acted on unless new human activity appears, and follow cursor pagination for large queues.