Board
Kanban by workflow state, create tickets, drag to transition.
Workflows
YAML editor, graph preview, validate, save versions, activate.
Forms
Catalog of form definitions with YAML and live schema preview.
API & automation
Same resources over HTTP when you outgrow the UI.
Navigation
Opening Ticketing without a child path redirects to Board. The board URL can include
?wf={workflow_def_id} to select which active workflow to show.
Permissions
The Console does not hide ticketing pages by role. Failed actions return API errors instead.
Saving workflows and forms and activating workflows require manage workflows. If Save or Activate fails with forbidden, ask a project admin to grant that permission.
Assignment in the UI uses user tags at create time (see the Assign users step under Step-by-step workflows). The separate assign/unassign HTTP routes are documented on Assignment and notifications and are not wired into the ticket detail view today.
Board
The board shows tickets for the active version of the workflow selected in the header (or the first active workflow if none is selected). Columns match workflow label keys in graph order; each column header shows the formatted label name and ticket count.Header and workflow scope
There is no separate assignee or tag filter on the board. Scoping is by active workflow only (
?wf= query parameter).
Empty board
If no workflow is active, you see No active workflow yet. with Create workflow and Open workflows.Ticket cards
Click a card to open Ticket detail. Each card shows:- State icon and formatted state label
- Title (two lines max)
- Up to five tag badges (with
+Nif more) - Classification badge when due-date rules apply
- Due date (urgency coloring) or created date
created_by (tooltip Unassigned when empty), not formal API assignment.
Move a ticket on the board
Drag a card to another column when a transition exists from the current label to the target label key.- Reordering within the same column updates the view only (not persisted).
- Invalid moves show a toast:
No transition {from} → {to}. - If the workflow requires a form before that transition, a Form required to move dialog appears with the form name/version, fields, Cancel, and Move.
Create ticket
Click New ticket on the board (or Add sub-ticket from ticket detail).
Create stays disabled until title is set, required tag kinds are satisfied, and any required form validates.
Sub-tickets use the same fields in a Create sub-ticket dialog; the parent link is stored in
metadata.parent_ticket_id.
The server’s rule that blocks closing a parent with open sub-tickets checks
subticket tags on the parent, not metadata.parent_ticket_id. Sub-tickets linked only through the Console do not block the parent from closing. To enforce the rule, add a subticket tag (value = child ticket ID) to the parent through the API.Ticket detail
The full-screen Ticket detail modal (header Ticket notebook / Ticket detail) opens from a board card.Edit title and description
Click the large title or description; edit inline. Changes save on blur via patch.Read-only properties
Metadata renders below when present (internal keys such as images and parent id are handled in dedicated sections).
Transitions
In the right column, Transitions lists outgoing states. Each row shows the target label and Go. If a before_transition form is required, Transition form opens (Target: …, Cancel, Apply transition). You can also transition by dragging on the board.Comments and tags
Comments includes Type @ to tag. In the composer (Add a comment…), type@ to open Tagging for @ with groups Devices, Fleets, Users, Labels, Gateways, Custom text. Choosing an entry adds a tag and inserts @[title] in the text. Mention chips can be removed; persisted tags also appear under Properties.
Only the tags are saved. The comment text itself is not stored on the ticket.
Images and sub-tickets
Parent ticket: link at top when viewing a sub-ticket.
Delete
Delete ticket asks Delete this ticket permanently? then removes the ticket.Workflows
List (Workflows page)
- New workflow → editor for a new definition
- Each row: name, version (
v{n}), Active or Draft badge - Board shortcut when a definition has an active version
- Pagination: Page of ( workflows)
Create and edit
Open New workflow or a row to edit. Breadcrumb: Workflows → .
Editor toolbar:
Parse errors show inline under the toolbar. Activate without saving first shows Save first, then activate this version.
See Workflows for YAML structure and Forms for linking
require_form entries.
Forms
Forms splits the page into a catalog and editor.Catalog (Catalog forms)
- Lists each form name and v
- Click a row to load it in the editor
- New form clears selection for a blank definition
Editor
Invalid YAML shows errors such as YAML must define name + schema.
Step-by-step workflows
1
Create a workflow
- Go to Ticketing → Workflows and click New workflow.
- Edit YAML on the YAML tab (or inspect Graph).
- Click Validate until you see YAML OK.
- Click Save. You are redirected to the new workflow definition.
2
Activate a workflow
- Open the workflow you saved (status Not active yet or Draft on the list).
- Confirm the version in Version if you have more than one.
- Click Activate and confirm the dialog.
- Open Board from the list or sidebar; the board uses active workflows only.
3
Create a ticket
- On Board, pick the workflow via Workflows if needed.
- Click New ticket.
- Fill Title, optional Description and Due date, required tag kinds, optional Assign users and Initial tags, and any required form.
- Click Create.
4
Move a ticket
- Drag the card to a column that matches an allowed transition, or open Ticket detail and use Transitions → Go.
- Complete Form required to move or Transition form if prompted.
- Confirm the card appears in the new column.
5
Assign users
- When creating a ticket, expand Assign users and select one or more members (checkbox list, (Me) on your row).
- Click Create. Users are stored as
usertags on the ticket. - To add more people later, use Comments
@user tagging or entity search (adds tags via the API).
6
Add a sub-ticket
- Open the parent Ticket detail.
- Under Sub-tickets, click Add sub-ticket.
- Complete Create sub-ticket and click Create.
- Open sub-tickets from the list; use Unlink from parent to detach.
7
Create a form
- Go to Ticketing → Forms and click New form.
- Edit YAML (
name,schema, optionalbindings). - Check Schema preview.
- Click Create form.
- Reference the form name (and version if needed) in workflow
validation— see Forms.
Related topics
- Ticketing overview — concepts and vocabulary
- First ticket — minimal end-to-end path
- Workflows — YAML reference for operators
- Automation — transitions that call HTTP or device RPC
- Alarms — separate operations board (not tickets)
- Troubleshooting — common API and UI errors