Skip to main content
Ticketing gives each Project a structured way to track work items that move through states you define. You might use it for maintenance requests, CMMS work orders, or incident follow-up after an alarm fires. Every ticket belongs to one workflow definition and stays on the workflow version that was active when the ticket was created.

What ticketing is

You author a workflow (states, transitions, validation, optional automation) and optional forms (JSON Schema with bindings to tags and metadata). Operators and integrators then create tickets, assign them, attach tags, and transition them along allowed edges. The platform enforces permissions, guards, required forms, and due-date policy from that workflow spec. Tickets are always scoped to a Project in your Organization. The HTTP API lives under https://api.ilyama.golain.io/core/api/v1/projects/{project_id}/… — see API reference for routes and examples.

Core concepts

Workflow actions on transitions include ticket.http (outbound HTTP with optional response bindings) and ticket.rpc (Device RPC to a device service method). Details and field lists are on Automation and API reference.

Example lifecycle

A simple maintenance-request workflow might use label keys new, in_progress, resolved, and cancelled: Label classes would typically map new → open, in_progress → in_progress, resolved → terminal_success, and cancelled → cancelled (with terminal: true on the two end states).

How it fits together

  1. Define forms (optional) — JSON Schema and bindings for intake or completion steps. See Forms.
  2. Author and validate a workflow — labels, transitions, validation rules, trigger intake, due policy, and actions. POST to …/ticket-workflows/validate, then create and activate a version. See Workflows.
  3. Open tickets — manually (Console or POST …/tickets with workflow_def_id), from a template, or automatically via trigger intake when matching events arrive.
  4. Operate — assign users or groups, add tags, patch title/body/due date/metadata, and transition with to_label when permitted transitions exist. See Console and Assignment and notifications.
  5. Integrate — call the HTTP API from your apps; use Automation for transition side effects. When something fails, start with Troubleshooting.
For a guided first ticket end-to-end, see First ticket.

Next steps

First ticket

Walk through creating a workflow and opening your first ticket.

Console

Day-to-day ticket operations in the Golain Console.

Workflows

Labels, transitions, permits, guards, validation, and activation.

Forms

JSON Schema forms, versions, and bindings to tags and metadata.

Assignment and notifications

Assignees, groups, and who gets notified when work is assigned.

Automation

HTTP and Device RPC actions on transition enter and exit.

API reference

Routes, request bodies, permissions, and response envelopes.

Troubleshooting

Common errors when creating, transitioning, or validating tickets.