{
  "snapi_template": 1,
  "name": "Helpdesk",
  "description": "A ready-to-run support helpdesk: public ticket form with auto-numbered tickets, a triage board, and a hub page tying it together.",
  "app": "$f1",
  "root": "$f1",
  "forms": [
    {
      "token": "$f1",
      "name": "Helpdesk",
      "description": "Support hub — submit and track tickets",
      "icon": "fas fa-headset",
      "color": "#2551ed",
      "is_public": false,
      "auth_required": false,
      "is_app": true,
      "success_message": "Submitted successfully.",
      "config": {
        "fields": [
          { "name": "hub_title", "label": "Helpdesk", "type": "title" },
          { "name": "hub_intro", "label": "Submit a new ticket, or work the queue on the triage board.", "type": "subtitle" },
          {
            "name": "new_ticket", "label": "Submit a ticket", "type": "button",
            "buttonActionType": "navigate", "buttonTargetKind": "form",
            "buttonTargetEntityId": "$f2", "buttonIcon": "fas fa-plus",
            "buttonStyle": "primary"
          },
          {
            "name": "triage_board", "label": "Triage board", "type": "link",
            "linkAction": "navigate", "linkTargetKind": "board",
            "linkTargetBoardId": "$b1", "linkIcon": "fas fa-columns"
          }
        ]
      }
    },
    {
      "token": "$f2",
      "name": "Ticket",
      "description": "A support request",
      "icon": "fas fa-life-ring",
      "color": "#0ea5e9",
      "is_public": true,
      "auth_required": false,
      "is_app": false,
      "success_message": "Ticket received — we'll get back to you shortly.",
      "default_board": "$b1",
      "default_column": "$c1",
      "config": {
        "fields": [
          { "name": "ticket_no", "label": "Ticket #", "type": "sequence", "sequenceId": "$s1", "sequenceEditable": false },
          { "name": "subject", "label": "Subject", "type": "text", "required": true },
          { "name": "description", "label": "What's going on?", "type": "textarea", "required": true },
          { "name": "priority", "label": "Priority", "type": "select", "options": ["Low", "Normal", "High", "Urgent"], "defaultValue": "Normal" },
          { "name": "email", "label": "Your email", "type": "email", "required": true }
        ]
      }
    }
  ],
  "boards": [
    {
      "token": "$b1",
      "name": "Ticket Triage",
      "description": "New tickets land in New — drag them through the queue.",
      "nav_items": [
        {
          "name": "nav_new_ticket", "label": "New ticket", "type": "button",
          "buttonActionType": "navigate", "buttonTargetKind": "form",
          "buttonTargetEntityId": "$f2", "buttonIcon": "fas fa-plus",
          "buttonStyle": "primary"
        }
      ],
      "columns": [
        { "token": "$c1", "name": "New", "color": "#0ea5e9", "position": 0 },
        { "token": "$c2", "name": "In Progress", "color": "#f59e0b", "position": 1 },
        { "token": "$c3", "name": "Waiting on Customer", "color": "#64748b", "position": 2 },
        { "token": "$c4", "name": "Resolved", "color": "#10b981", "position": 3 }
      ]
    }
  ],
  "sequences": [
    { "token": "$s1", "name": "ticket", "prefix": "TKT-", "padding": 4, "reset_period": null }
  ]
}
