Custom fields live under Settings → Ticket types in the team sidebar. Pick a ticket type (Requests, Tasks, Incidents, etc.) to view and edit the fields it captures.
Supported Field Types
Each custom field has a data type that determines what values it can hold and how it appears in the UI.Creating Custom Fields
Team admins create custom fields in team settings.1
Open team settings
Navigate to Settings for your team.
2
Go to Ticket types
Select the Ticket types section in the team settings sidebar. Custom fields are configured per ticket type inside this page.
3
Add a new field
Click Add Field and configure the new row:
- Field Name: A descriptive name for the field, for example “Cost Center” or “Affected System”
- Data type: One of the supported field types
- Item type (Item Reference fields only): The item types the field can link to. Select one or more item types to limit the field to those tables, or leave it on Any item type
4
Define options (Dropdown and Multi-select only)
Click the options button on the row to open the option editor. Each option has a value and a display name. The value is the stored identifier and is fixed once saved. The display name is the label people see, and you can rename it any time.Click the description icon on an option to add an optional description that says when that option applies. On a Request Area field, for example, “Hardware” might carry “Laptops, monitors, docking stations, and other physical equipment, including replacements and repairs.” AI inference reads these descriptions to choose between options, so write them the way you would brief a new agent. Click Done to keep your edits.
5
Save
Click Save changes to make the field available on tickets.
You can give a field its own description only when you create it from a ticket’s expanded field section. Settings → Ticket types has no field description input, and you can’t edit one after creation. Put guidance for AI inference on the options instead.
Custom fields apply to all tickets on the team. There is no way to limit a field to a subset of tickets.
Setting Values on Tickets
From the Ticket Detail
Select the Fields tab next to Activity. Fields appear in their configured sections, including empty fields marked Not set:- Hover over or focus a field value, then click it to edit. For an empty field, click Not set.
- Enter or select a value
- Click Save to confirm.
With AI Inference
Serval can automatically populate custom fields using AI, similar to how AI infers labels. When enabled, the model reads the ticket’s name, description, and conversation history to determine appropriate values. AI inference supports Text, Number, Boolean, Dropdown, and Multi-select field types. For dropdown and multi-select fields, the model picks from your predefined options. It sees each option’s display name and description, so it judges an option with no description by its name alone. When the model sets a value, the ticket activity records the reason it chose that option.1
Open team settings
Navigate to Settings for your team.
2
Go to Ticket types
Select the Ticket types section in the team settings sidebar.
3
Enable AI inference
Open a ticket type and turn on Set fields with AI in the Custom fields card. The setting applies to every ticket type on the team.
AI inference does not support Date fields. If you need dates populated automatically, use a workflow.
With Catalyst
Workflows have built-in actions for reading and writing custom fields. Use Catalyst to describe what you want in natural language, or call the helpers directly in code. Discover available fields — list all custom field definitions for the team:With the Public API
You can also set and read custom field values directly via the REST API. Set custom field values:cURL
cURL
cURL
cURL
TICKET_TYPE_REQUEST does not exist on TICKET_TYPE_JOURNEY. ENUM and
MULTI_SELECT require enum_options; every other data type rejects them. Each
option’s description is optional and is what AI inference reads to choose
between options. For change tickets, also pass the ticket_subtype whose
schema you’re editing.
Creating fields requires the
create_custom_field_settings permission. On a
scoped API key, grant the ticket-fields:write scope.field_key in the public API.
Filtering by Custom Fields
Custom fields are available as filters in the ticket list:- Click the Filter button
- Select a custom field from the filter menu
- Choose an operator and value
Removing Dropdown Options
You can remove individual options from a Dropdown or Multi-select field. In Settings → Ticket types, expand the ticket type, open the field’s option editor, delete the options you no longer need, and save. Serval asks you to confirm before saving, because removing an option can’t be undone from the UI. Re-adding the same value later creates a new option rather than restoring the old one. Tickets that already use a removed option keep their current value. The option simply can’t be selected again. A field must always keep at least one option, so you can’t remove them all.Hiding fields
You can hide a custom field from views without deprecating it. A hidden field stays fully readable and writable (workflows, AI, and the public API still use it), but is hidden from list columns, filters, sorting, grouping, and journey and queue views. On tickets, find it in the expandable hidden-fields disclosure. From Settings → Ticket types, open the field’s overflow menu and choose Hide from views (it gets a Hidden badge); choose Show in views to bring it back. Saved views that referenced the field keep working, and deprecation takes precedence: a field that’s both deprecated and hidden shows only in the deprecated section.Deprecating and Restoring Fields
If a custom field is no longer needed, you can deprecate. Deprecating a field:- Hides it from new edits on tickets — agents can no longer set or change its value
- Preserves all existing data — tickets that already have a value for the field retain it

