> For the complete documentation index, see [llms.txt](https://docs.harmony.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.harmony.io/settings/managing-ticket-settings.md).

# Managing Ticket Settings

{% hint style="info" %}
**Path:** `/settings/desks/$deskId/tickets`
{% endhint %}

### Managing Ticket Settings

Ticket settings configure how tickets look and behave for a desk. Open **Settings** → **Desks** → *desk* → **Tickets** for custom fields and tags, or **Templates** for canned responses.

#### Understanding Ticket Configuration

Ticket configuration includes:

* **Custom fields** - Extra fields on tickets (text, number, select, etc.), now also scopeable by ticket type (Incident or Request) across all desks
* **Tags** - Labels for categorizing and filtering tickets, scoped per service desk
* **Priorities** - Urgent, High, Medium, Low (configured in SLA)
* **Canned responses** - Reusable reply templates
* **Custom metadata** - Structured metadata attached to tickets for enrichment and integrations

#### Managing Custom Fields

{% hint style="info" %}
**Path:** `/settings/desks/$deskId/tickets`
{% endhint %}

Custom fields let you capture the information that matters most to your team directly on tickets. You can define fields at the desk level or scope them to a specific ticket type (Incident or Request) so they appear automatically across all desks for that type.

**Creating custom fields**

1. Go to **Settings** → **Desks** → *desk* → **Tickets**.
2. Open **Custom fields** and click **Create custom field**.
3. Enter name and description.
4. Choose field type and options.
5. Set whether the field is required and/or internal (visible only to desk members).
6. Optionally choose a **ticket type scope** (Incident or Request) to make the field appear on all tickets of that type across every desk, with no per-desk configuration needed.
7. Optionally define **visibility conditions** so the field only appears when relevant.
8. For single/multi select, add the option list.
9. Save.

![Custom fields list and Create custom field](/files/ln5IYBrDm4L6mdr9sOY9)

**Understanding custom field types**

| Type              | Description                                                    |
| ----------------- | -------------------------------------------------------------- |
| **Text**          | Single-line or multiline text.                                 |
| **Number**        | Numeric value.                                                 |
| **Checkbox**      | Yes/no.                                                        |
| **Single select** | One option from a list. Configure options when creating.       |
| **Multi select**  | Multiple options from a list. Configure options when creating. |

**Setting custom field requirements**

* **Required** - Field must be filled before the ticket can be submitted or closed (depending on desk configuration).
* **Internal** - Field is visible only to desk members (agents), not to employees submitting requests through the portal and not to the AI agent. A lock icon is displayed on internal fields within the ticket view so agents can identify them at a glance. Note that the internal option is only available for non-mandatory fields - required fields cannot be marked as internal.

**Scoping custom fields by ticket type**

You can now define custom fields that apply across all tickets of a given type - Incident or Request - regardless of which desk the ticket belongs to. This means you no longer need to configure the same field on every desk individually. Fields scoped to a ticket type appear automatically wherever that ticket type is used.

You can also define visibility conditions on ticket-type-scoped fields so they only appear when relevant to the current ticket context.

**Custom field identifiers**

Custom field configurations are UUID-keyed, so renaming a field never breaks historical data or existing integrations.

**Ordering custom fields**

Custom fields are shown in the order returned by the API. Reordering is not available in the UI.

#### Attaching Custom Metadata to Tickets

In addition to structured custom fields, you can attach arbitrary custom metadata to any service desk ticket. This lets you enrich tickets with context from your own systems - such as account details, priority signals, or workflow-specific data - without relying on workarounds.

Ticket events are published in real time, so downstream automations and integrations can react immediately when tickets are created, updated, or have watchers added or removed.

To attach metadata, use the ticket metadata field available via the API when creating or updating a ticket.

#### Managing Ticket Tags

Tags are scoped individually to each service desk, so your team only sees and applies tags relevant to that specific desk. This keeps workflows clean and organized when running multiple service desks.

Administrators can also manage tags at the tenant level from a single place, creating, updating, and deleting tags that apply across all service desks in your account to maintain consistent tagging taxonomies at scale.

**Creating tags**

1. Open the desk → **Tickets** tab → **Tags** section.
2. Click **Create tag**.
3. Enter name and choose a color (from the preset palette).
4. Save.

You can also create a new tag directly from the ticket preview without leaving the ticket view. This lets you create and assign a new tag in one step, on the fly, without interrupting your workflow.

![Tags section with Create tag and color palette](/files/YawYFVZpOBJSo4q6vvRY)

**Editing tags**

Click a tag to edit name and color. System tags cannot be edited or deleted.

**Deleting tags**

Click **Delete** on a tag. Only non-system tags can be deleted. The tag's usage count is shown; clicking it filters tickets by that tag.

**Assigning tags**

You can assign tags to tickets using either tag names or tag IDs. Both options are fully supported, making it easier to configure tag assignment in workflows and automations without needing to look up internal IDs.

**AI-powered automatic tag classification**

Harmony can automatically classify and tag tickets in real time using AI, without any manual effort. As soon as a ticket is created or a new message is added, the classification pipeline analyses the content and applies the appropriate tags automatically. Key behaviors include:

* New and updated tickets are classified immediately as they arrive.
* Tags you have manually corrected are respected and never overwritten by automatic classification.
* A cooldown period prevents unnecessary re-classification of recently tagged tickets, while still allowing reclassification once the cooldown has elapsed.

**Default tags for imported tickets**

Tickets imported from external service desks are automatically labelled with default tags that indicate both that the ticket was imported and which provider it came from. Supported provider tags include **FreshService** and **JSM (Jira Service Management)**. This makes it straightforward to filter, search, and manage imported tickets separately from natively created ones.

#### Managing Ticket Priorities

Priorities (Urgent, High, Medium, Low) are configured in the **SLA** tab. Set response and resolution time targets per priority. See [Automation & SLA](https://github.com/harmonyso/public-docs/tree/main/guides/configuring-automation-and-sla/README.md) for details.

#### Configuring Ticket Sources

Ticket sources (Slack, Teams, Email, etc.) are determined by how tickets are created. There is no separate configuration UI for sources. Sources are used for filtering, display, and canned-response variables.

#### Managing Canned Responses

{% hint style="info" %}
**Path:** `/settings/desks/$deskId/templates`
{% endhint %}

Canned responses (templates) let agents insert predefined replies quickly, allowing your team to respond to frequently asked questions in seconds instead of typing from scratch every time. Configure at **Settings** → **Desks** → *desk* → **Templates**.

**Creating canned responses**

1. Open **Templates** and click **Create template**.
2. Enter name (up to 160 characters) and content using the rich-text editor with full formatting support.
3. Add variables if needed (e.g., `{{ticket.subject}}`, `{{reporter}}`).
4. Choose **Personal** (only you) or **Shared** (all desk members).
5. Optionally add attachments (when enabled).
6. Save.

![Canned responses section with Create template](/files/NBGgXpZdfexWGd6Pozd2)

**Editing canned responses**

Click a template to edit name, content, variables, availability, and attachments.

**Managing canned response variables**

Use **Add variable** in the editor to insert ticket data. Available variables include:

* `{{subject}}`, `{{id}}`, `{{description}}`
* `{{reporter}}`, `{{agent}}`
* `{{status}}`, `{{priority}}`, `{{source}}`, `{{ticket_type}}`
* `{{desk_name}}`, `{{currentUser}}`, `{{portalUrl}}`

Variables are replaced with actual values when the template is used.

**Sharing canned responses**

* **Personal** - Only visible to you.
* **Shared** - Visible to all desk members.

***

### Related Resources

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>User Management</strong></td><td>Users, groups, roles, and notification channels</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/managing-user-management/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/managing-user-management/README.md</a></td></tr><tr><td><strong>Service Desks &#x26; Teams</strong></td><td>Desk structure and team configuration</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/managing-service-desks-and-teams/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/managing-service-desks-and-teams/README.md</a></td></tr><tr><td><strong>Automation &#x26; SLA</strong></td><td>SLA targets and automation rules</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/configuring-automation-and-sla/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/configuring-automation-and-sla/README.md</a></td></tr><tr><td><strong>Service Desk &#x26; Tickets</strong></td><td>Create and manage tickets</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/understanding-service-desk-and-managing-tickets/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/understanding-service-desk-and-managing-tickets/README.md</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.harmony.io/settings/managing-ticket-settings.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
