UserFields
Create, update, delete, and query User Fields.
Table Specific Information
Select
The following queries are processed server side while other filters are processed client side within the driver.SELECT * FROM UserFields WHERE Id = '123'
Insert
The Type, Title, and Key fields are required to insert. Types of custom fields that can be created are: text (default when no Type is specified), textarea, checkbox, tagger (dropdown), date, integer, decimal, and regex. When Type is regex, RegexpForValidation is also required. When Type is tagger, CustomFieldOptions is also required. Allowed for admins.
Understand the following behavior when creating a dropdown field:
-
To create a new option, pass a null Id along with name and value.
INSERT INTO UserFields (Type, Title, Key) VALUES ('text', 'Support description', 'support_description') INSERT INTO UserFields (Type, Title, Key, RegexpForValidation) VALUES ('regexp', 'TestRegExp', 'test_regexp', '\\b([0-9]{4})-(1[0-2]|0?[1-9])-(3[0-1]|[1-2][0-9]|0?[1-9])\\b') INSERT INTO UserFields (Type, Title, Key, CustomFieldOptions) VALUES ('tagger', 'TestDropdown', 'test_dropdown', '[{"id": null, "name": "Option 1", "value": "option_1"}, {"id": null, "name": "Option 2", "value": "option_2"}, {"id": null, "name": "Option 3", "value": "option_3"}]')
You can also create Lookup Relationships. A lookup relationship field is a custom field whose type is "lookup". This type of custom field gives you the ability to create a relationship from a source object to a target object. To create lookup relationship fields, Type, Key and RelationshipTargetType columns are required. The Type column value must be "lookup". A suitable combination of Field, Operator and Value is required for insertion in RelationshipFilterAll and RelationshipFilterAny. Here is a list of the possible combinations: "https://developer.zendesk.com/documentation/ticketing/reference-guides/conditions-reference/#shared-conditions".
INSERT INTO UserFieldsRelationshipFilterAll#temp(Field, Operator, Value) VALUES ('status', 'less_than', 'solved') INSERT INTO UserFieldsRelationshipFilterAny#temp(Field, Operator, Value) VALUES ('status', 'less_than', 'solved') INSERT INTO UserFields (Type, Title, Key, RelationshipTargetType, RelationshipFilterAll, RelationshipFilterAny) VALUES ('lookup', 'Support description', 'support_description5', 'zen:ticket', 'UserFieldsRelationshipFilterAll#temp', 'UserFieldsRelationshipFilterAny#temp')
Update
You must specify the Id of the ticket field to update. All fields that are not readonly (readonly="false" in the table) are optional. Allowed for admins.
Understand the following behavior when updating a dropdown field:
- To update an existing option, pass its Id along with name and value.
- All options must be passed on update. Options that are not passed will be removed; as a result, these values will be removed from any users.
- To reorder an option, reposition it in the CustomFieldOptions array relative to the other options.
- To remove an option, omit it from the list of options upon update.
UPDATE UserFields SET Title = 'Support description' WHERE Id = '123'
For ticket fields of type tagger (dropdown) use the CustomFieldOptions column to update the options. For type regexp use RegexpForValidation to update the regular expression.
Delete
You must specify the Id of the user field to delete it. Allowed for admins.
DELETE FROM UserFields WHERE Id = '123'
Columns
Name | Type | ReadOnly | References | Description |
Id [KEY] | Long | True |
Automatically assigned upon creation. | |
Key | String | False |
A unique key that identifies this custom field. Required on create.This is used for updating the field and referencing in placeholders.After a field is created, you cannot change its key. | |
Type | String | False |
Type of the custom field: checkbox, date, decimal, dropdown, integer, regexp, text, or textarea. After a field is created, you cannot change its type. | |
Title | String | False |
The title of the custom field. | |
RawTitle | String | False |
The dynamic content placeholder, if present, or the title value, if not. | |
Description | String | False |
User-defined description of this field's purpose. | |
RawDescription | String | False |
The dynamic content placeholder, if present, or the description value, if not. | |
Position | Integer | False |
Ordering of the field relative to other fields. | |
Active | Boolean | False |
If true, this field is available for use. | |
System | Boolean | True |
If true, only active and position values of this field can be changed. | |
RegexpForValidation | String | False |
Regular expression field only. The validation pattern for a field value to be deemed valid. | |
CreatedAt | Datetime | True |
The time the ticket field was created. | |
UpdatedAt | Datetime | True |
The time of the last update of the ticket field. | |
Tag | String | False |
Optional for custom field of type checkbox; not presented otherwise. | |
CustomFieldOptions | String | False |
Required and presented for a custom field of type dropdown. | |
Url | String | True |
The URL for this resource. | |
RelationshipTargetType | String | False |
A representation of what type of object the field references. Options are zen:user, zen:organization, zen:ticket, and zen:custom_object:CUSTOM_OBJECT_KEY. For example: zen:custom_object:apartment. | |
RelationshipFilterAll | String | False |
A filter definition that allows your autocomplete to filter down results with Logical AND. | |
RelationshipFilterAny | String | False |
A filter definition that allows your autocomplete to filter down results with Logical OR. |