← Back to templates
Support Tickets
supportCustomer support tickets with response tracking and SLA management.
Collections
Tickets
Support tickets and requests
Schema Fields
subject:stringdescription:stringstatus:stringpriority:stringcategory:stringassignee:stringchannel:stringtags:array
Customers
Customer profiles
Schema Fields
name:stringemail:stringplan:stringcompany:string
Responses
Ticket replies and internal notes
Schema Fields
body:stringtype:stringauthor:stringtimestamp:string
Relationships
tickets
submitted_by
customersTicket submitted by customertickets
has_response
responsesTicket has responsetickets
related_to
ticketsRelated ticketsQuick Start
Create the collections using the Rekor CLI:
rekor collections upsert tickets --workspace my-support --schema @tickets.jsonFull Schema (JSON)
Copy the complete template definition:
{
"collections": [
{
"id": "tickets",
"name": "Tickets",
"description": "Support tickets and requests",
"icon": "ticket",
"color": "#ef4444",
"json_schema": {
"type": "object",
"required": [
"subject",
"status",
"priority"
],
"properties": {
"subject": {
"type": "string"
},
"description": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"open",
"in_progress",
"waiting",
"resolved",
"closed"
]
},
"priority": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"urgent"
]
},
"category": {
"type": "string",
"enum": [
"bug",
"feature_request",
"question",
"billing",
"other"
]
},
"assignee": {
"type": "string"
},
"channel": {
"type": "string",
"enum": [
"email",
"chat",
"phone",
"web"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
{
"id": "customers",
"name": "Customers",
"description": "Customer profiles",
"icon": "user",
"color": "#3b82f6",
"json_schema": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"plan": {
"type": "string",
"enum": [
"free",
"pro",
"enterprise"
]
},
"company": {
"type": "string"
}
}
}
},
{
"id": "responses",
"name": "Responses",
"description": "Ticket replies and internal notes",
"icon": "message-square",
"color": "#22c55e",
"json_schema": {
"type": "object",
"required": [
"body",
"type"
],
"properties": {
"body": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"reply",
"internal_note"
]
},
"author": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
}
}
],
"relationships": [
{
"type": "submitted_by",
"source": "tickets",
"target": "customers",
"description": "Ticket submitted by customer"
},
{
"type": "has_response",
"source": "tickets",
"target": "responses",
"description": "Ticket has response"
},
{
"type": "related_to",
"source": "tickets",
"target": "tickets",
"description": "Related tickets"
}
]
}