> ## Documentation Index
> Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt
> Use this file to discover all available pages before exploring further.
# Create Omnichannel Custom Field
> Create a new Omnichannel custom field or update an existing custom field. You can refer to the Omnichannel Custom Fields user guide for details.
Permission required: `view-livechat-manager`
### Changelog
| Version | Description |
| ---------------- | ------------|
|7.11.0 | Added |
## OpenAPI
````json POST /api/v1/livechat/custom-fields.save
{
"openapi": "3.0.0",
"info": {
"version": "1.0.0",
"title": "Omnichannel"
},
"servers": [
{
"url": "https://apiexplorer.support.rocket.chat"
}
],
"tags": [
{
"name": "Omnichannel Users"
},
{
"name": "Omnichannel Agents"
},
{
"name": "Omnichannel Monitors"
},
{
"name": "Omnichannel Visitors"
},
{
"name": "Omnichannel Contacts"
},
{
"name": "Omnichannel Rooms"
},
{
"name": "Omnichannel Departments"
},
{
"name": "Omnichannel Custom Fields"
},
{
"name": "Omnichannel Business Hours"
},
{
"name": "Omnichannel Priorities"
},
{
"name": "Omnichannel Tags"
},
{
"name": "Omnichannel Units"
},
{
"name": "SLA Policies"
},
{
"name": "Canned Responses"
},
{
"name": "Omnichannel Transcript"
},
{
"name": "Omnichannel Statistics"
},
{
"name": "Omnichannel Agent Stats"
},
{
"name": "Omnichannel Dashboards"
},
{
"name": "Reports"
},
{
"name": "Omnichannel Inquiries"
},
{
"name": "Omnichannel Webhooks"
},
{
"name": "Livechat"
},
{
"name": "Livechat Appearance"
},
{
"name": "Livechat Triggers"
},
{
"name": "Livechat Messages"
},
{
"name": "Livechat Page Visited"
}
],
"paths": {
"/api/v1/livechat/custom-fields.save": {
"post": {
"summary": "Create Omnichannel Custom Field",
"tags": [
"Omnichannel Custom Fields"
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"customField": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"scope": {
"type": "string"
},
"visibility": {
"type": "string"
},
"type": {
"type": "string"
},
"searchable": {
"type": "boolean"
},
"regexp": {
"type": "string"
},
"required": {
"type": "boolean"
},
"defaultValue": {
"type": "string"
},
"options": {
"type": "string"
},
"public": {
"type": "boolean"
},
"_updatedAt": {
"type": "string"
}
}
},
"success": {
"type": "boolean"
}
}
},
"examples": {
"Example": {
"value": {
"customField": {
"label": "address11",
"scope": "visitor",
"visibility": "hidden",
"type": "input",
"searchable": true,
"regexp": "",
"required": false,
"defaultValue": "",
"options": "",
"public": true,
"_updatedAt": "2025-10-06T06:52:40.102Z"
},
"success": true
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/authorizationError"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": "string"
}
}
},
"examples": {
"Example": {
"value": {
"success": false,
"error": "User does not have the permissions required for this action [error-unauthorized]"
}
}
}
}
}
}
},
"operationId": "post-api-v1-livechat-custom-fields.save",
"description": "Create a new Omnichannel custom field or update an existing custom field. You can refer to the Omnichannel Custom Fields user guide for details.\n\nPermission required: `view-livechat-manager`\n\n### Changelog\n| Version | Description |\n| ---------------- | ------------|\n|7.11.0 | Added |",
"parameters": [
{
"$ref": "#/components/parameters/AuthToken"
},
{
"$ref": "#/components/parameters/UserId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"customFieldData"
],
"properties": {
"customFieldId": {
"type": "string",
"description": "If you want to update an existing custom field, enter the `field` value.",
"example": "address"
},
"customFieldData": {
"type": "object",
"description": "In this object, provide the custom field data.",
"properties": {
"field": {
"type": "string",
"description": "Enter a value for the field.",
"example": "address"
},
"label": {
"type": "string",
"description": "Enter a label for the field.",
"example": "address-line"
},
"visibility": {
"type": "string",
"description": "The only options are `hidden` or `visible`. When visible, the custom field is displayed in the contact or room info for agents."
},
"scope": {
"type": "string",
"description": "Set the scope of the custom field. The options are: `visitor` and `room`.\r\nRefer to the user guide for details.",
"example": "visitor"
},
"type": {
"type": "string",
"description": "Set the input type of this field. The options are: `input` and `select`.",
"example": "input"
},
"searchable": {
"type": "boolean",
"description": "Set whether or not searching in the Omnichannel Contact Center can be done with the custom field."
},
"regexp": {
"type": "string",
"description": "Validate the values entered for the custom field using regular expressions. For example, [a-z]. This means that the custom field only accepts lowercase letters. Any other characters will display an error message.",
"example": "[a-z]"
},
"required": {
"type": "boolean",
"description": "Set whether or not this field should be mandatory."
},
"defaultValue": {
"type": "string",
"description": "Enter a default value for the field.",
"example": "default"
},
"options": {
"type": "string",
"description": "If the field `type` is `select`, enter the options that users can select. The values must be comma-separated.",
"example": "optionA, optionB"
},
"public": {
"type": "boolean",
"description": "If enabled, the custom field will be displayed in external applications, such as Livechat."
}
}
}
}
},
"examples": {
"Example 1": {
"value": {
"customFieldData": {
"field": "new1",
"label": "new11",
"visibility": true,
"scope": "visitor",
"type": "select",
"searchable": true,
"regexp": "",
"required": false,
"defaultValue": "",
"options": "optionA, optionB",
"public": true
}
}
}
}
}
}
}
}
}
},
"components": {
"responses": {
"authorizationError": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"examples": {
"Authorization Error": {
"value": {
"status": "error",
"message": "You must be logged in to do this."
}
}
}
}
}
}
},
"parameters": {
"AuthToken": {
"name": "X-Auth-Token",
"in": "header",
"description": "The `authToken` of the authenticated user.",
"required": true,
"schema": {
"type": "string"
},
"example": "RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f"
},
"UserId": {
"name": "X-User-Id",
"in": "header",
"description": "The `userId` of the authenticated user.",
"required": true,
"schema": {
"type": "string"
},
"example": "rbAXPnMktTFbNpwtJ"
}
}
}
}
````