Form Category Format:

$form = [
    'category' => '', 
    'name' => '',
    'icon_class' => '',
    'type' => 'helpdesk',
    'is_delete' => 0,
    'is_default' => 1,
    'is_active' => 1,
    'form_sections' => $form_sections
];
FIELD KEYDEFINITION
categoryShould not match any existing categories (e.g. ticket, requester, organisation, asset, problem, etc.).
nameName of the form displayed in the admin panel.
icon_classCSS class for an icon to display with the form on the Form Field Index page.
is_deleteAlways set to 0, unless it is a part of cloned forms or non-default forms.
is_defaultAlways set to 1.
is_activeDetermines if the form is active and should be displayed with its icon on the Form Field Index page.

Form Section Format:

$form_sections = [[
    'sort_order' => 1,
    'key' => '',
    'title' => '',
    'labels' => [[
        'label' => '',
        'language' => 'en'
    ]],
    'form_fields' => $form_fields
]];
FIELD KEYDEFINITION
sort_orderSpecifies the rendering order of the section.
keyA key must be present if it’s the default section. Custom field sections do not require a key.
titleThe title of the section.

Form Fields Format:

$form_fields = [[
    'key' => '',
    'title' => '',
    'data_type' => '',
    'api_info' => '',
    'sort_order' => 1,
    'required_for_agent' => 1,
    'required_for_user' => 1,
    'display_for_agent' => 1,
    'display_for_user' => 1,
    'is_deletable' => 0,
    'labels' => [[
        'label' => '',
        'language' => 'en'
    ]],
    'default' => 1,
    'is_observable' => 0,
    'is_filterable' => 1,
    'is_configurable' => 1,
    'is_user_config' => 1,
    'is_agent_config' => 1,
    'column' => 'first',
    'is_active' => 1,
    'is_edit_visible' => 1,
]];
FIELD KEYDEFINITION
keyAlways required. If not provided, a unique key is generated to act as a custom field.
titleThe title of the field (e.g., Address).
data_typeSupported data types include: text, text_area, mobile, decimal, file, API, select, checkbox, radio, email, number, and date.
api_infoSupported data types include text, text_area, mobile, decimal, file, API, select, checkbox, radio, email, number, and date.
sort_orderSpecifies the order of the field.
display_for_agentSet to 1 if the field should display on the agent panel.
display_for_userSet to 1 if the field should display on the client panel.
required_for_agentSet to 1 if the field is required on the agent panel.
required_for_userSet to 1 if the field is required on the client panel.
is_deletableSet to 1 if the field can be deleted, otherwise set to 0.
defaultIf it’s a system field, set this to 1.
is_observableSet to 1 if the field can be listed in Automator Modules.
is_filterableSet to 1 if the field can be used in filter sections.
is_configurableSet to 1 if the field configuration (like required/display options) is allowed from the admin panel.
is_user_configSet to 0 if the client panel configuration cannot be changed via the admin panel.
is_agent_configSet to 0 if the agent panel configuration cannot be changed via the admin panel.
columnDetermines where the field will be visible. Set as first for a single or left column and second for a right column.
is_activeSet to 1 if the field is active and visible in the admin panel.
is_edit_visibleSet to 1 if the field should be visible while editing.

Form Field Labels Format Explanation

FIELD KEYDEFINITION
labelThe title of the field (Required).
languageThe language shortcode of the label (e.g., en for English). Must be present.