EntriesSettings.Add
Create a new entry/tab setting definition (dashboard Entries settings). Required names are tab_name_en and tab_name_he. status, fields, folders, and shard_with must use dashboard JSON shapes so the dashboard can open the tab without
Permissions
- User must be logged in with a valid bearer token.
- Returned or changed records are limited by the user permissions, team access, folder access, and account settings.
Action
- Creates one entry/tab definition with labels, folders, sharing, status map, and custom fields in dashboard format.
- The created id is later used as entry_id on Entries.List/Add/Get/Update/Delete.
Push Service
Emits entriessettings.created. No row-level entry socket is sent.
Automation
No business automation is run for entry settings changes.
Special Instructions
- Required: tab_name_en and tab_name_he. Both are required on the dashboard create modal.
- status is NOT int 1/0. Send a JSON array of statuses; the API stores dashboard unique ids like Tab_setting::add_tabs_setting. Each status has label_en, color_name, and sub_status ("" or an array).
- fields is a JSON object keyed by dashboard unique ids (23 chars: timestamp+uniqid), same as Tab_setting::add_custom_fild_tabs. Friendly keys like fld_note are converted to unique ids on save.
- You may send a simple array of fields; the API expands each one to the dashboard shape (name, field_no, date, input_type, labels, and type-specific keys).
- folders must be a JSON array of folder ids, e.g. ["3"]. Do not send a bare id like 12. Alias: folder_name.
- shard_with is a JSON array of team member ids, e.g. ["47","51"]. This is sharing, not customer ids.
- Allowed input_type values: text, email, number, date, hour, date_time, select, yes_no, button, formula, team_member, title, customer, Files, year.
- If use_customer_for_entry is 1, entry_customer_folder_id is required.
- After creating settings, call User.Basic again so the UI has the new entry id.
Required Parameters
| Name | Type | Sample | Explanation |
|---|---|---|---|
tab_name_enpost | string | Lead data | English entry/tab setting name. Required. |
tab_name_hepost | string | Lead data | Hebrew/local entry/tab setting name. Required, same as the dashboard modal. Do not leave this optional. |
Optional Parameters
| Name | Type | Sample | What it gives |
|---|---|---|---|
folderspost | json | ["3"] | JSON array of folder ids attached to this tab. Alias: folder_name. Scalar 3 is stored as ["3"]. Do not send a bare string like 12. |
folder_namepost | json | ["3"] | Alias of folders. Dashboard create posts folder_name[]. |
statuspost | json | [{"label_en":"Open","color_name":"#ffa500"}] | Tab statuses. Send a JSON array or object. API stores dashboard shape: 23-char unique ids, label_en, color_name, sub_status. Do not send 1/0. Default {}. |
fieldspost | json | [{"input_type":"text","label_en":"Note","label_he":"Note"}] | Custom fields. Send a JSON object (dashboard unique ids) or a simple array. API stores dashboard shape: name=unique id, field_no, date, input_type, label_en, label_he, plus type-specific keys. Use input_type, not type. |
shard_withpost | json | ["47","51"] | JSON array of team member ids this tab is shared with. Do not send a comma string like 47,51. |
tab_namepost | string | Lead data | Optional single-name field. If omitted, it is filled from tab_name_en. |
tab_orderpost | int | 10 | Display order for entry tabs when the table has tab_order. |
iconpost | string | clipboard-list | UI icon name when the table supports it. |
colorpost | string | #2490ef | UI color when the table supports it. |
show_in_headerpost | int | 1 | Dashboard create flag show_in_header_tabs. Default 1. Aliases: show_in_header_tabs, show_in_dashboard. |
show_in_dashboardpost | int | 1 | Alias of show_in_header. Copied to show_in_header when header is omitted. |
show_in_customerpost | int | 1 | Show this tab on customer screens when the column exists. |
copy_customer_tabpost | int | 0 | When 1, tab_id_for_cust is required. |
tab_id_for_custpost | int | 8 | Required when copy_customer_tab=1. |
change_status_for_link_custpost | int | 0 | When 1 with copy_customer_tab=1, status changes can sync to the linked customer tab. |
use_customer_for_entrypost | int | 0 | When 1, each row must pick an entry customer from entry_customer_folder_id. |
entry_customer_folder_idpost | int | 12 | Required when use_customer_for_entry=1. |
entry_customer_internal_status_idpost | int | 0 | Optional internal status id for the linked customer folder when use_customer_for_entry=1. |
status_en_namepost | string | Status | Optional label for the status column. |
status_he_namepost | string | Status | Optional local label for the status column. |
substatus_en_namepost | string | Sub status | Optional English label for the sub-status column. |
substatus_he_namepost | string | Sub status | Optional local label for the sub-status column. |
JSON Structure
status JSON
Dashboard Tab_setting::add_tabs_setting stores status as an object keyed by generateUniqueId() (23 characters). Friendly keys like st_open are converted. Do not send 1 or 0.
- Each status value has label_en, color_name, and sub_status.
- sub_status is "" when empty, or an array of {sub_status_label, sub_stauts_color, sub_status_key}. The color key is sub_stauts_color, same as dashboard.
- You can send a simple array; the API expands it to unique-id keys.
- On Update, sending status replaces the stored status map.
{"17845458326a5e02280a638":{"label_en":"Open","color_name":"#ffa500","sub_status":[{"sub_status_label":"Waiting","sub_stauts_color":"#cccccc","sub_status_key":"17845458336a5e02280a639"}]}}fields JSON
Dashboard Tab_setting::add_custom_fild_tabs stores fields as an object keyed by generateUniqueId() (23 characters). App now stores the same shape. Friendly keys like fld_note are replaced with unique ids.
- Every field: name (same unique id), field_no (1-65), date (Y-m-d H:i:s), input_type, label_en, label_he.
- text/email/number/date/hour/date_time/team_member/title/customer/Files/year also store default_value.
- select also stores is_multiple, opt_name_en, opt_name_he. Option keys are also 23-char unique ids, not 0/1.
- yes_no also stores yes_label_en, yes_label_he, no_label_en, no_label_he, default_value.
- button stores optional_webhook and does not store default_value.
- formula stores formula and does not store default_value.
- You can send a simple array; the API expands it to this dashboard object.
{"17845458326a5e02280a638":{"name":"17845458326a5e02280a638","field_no":1,"date":"2026-07-20 11:10:32","input_type":"text","label_en":"Note","label_he":"Note","default_value":""},"17845468846a5e0644d4010":{"name":"17845468846a5e0644d4010","field_no":2,"date":"2026-07-20 11:28:04","input_type":"select","label_en":"test_selct","label_he":"test_selct","is_multiple":0,"opt_name_he":{"17845468846a5e0644d4018":"test 1","17845468846a5e0644d401a":"test 2"},"opt_name_en":{"17845468846a5e0644d4018":"test 1","17845468846a5e0644d401a":"test 2"}}}folders JSON
folders is a JSON array of folder ids. Do not send a single id like 12.
- Correct: ["3"] or ["3","5"].
- A scalar 3 is accepted and stored as ["3"].
- folder_name is an alias of folders.
["3"]
Authentication
Send the bearer token returned by Login in the request header.
Authorization: Bearer YOUR TOKEN
Sample Request
{
"url": "\/app\/EntriesSettings.Add",
"method": "POST",
"headers": {
"Authorization": "Bearer YOUR TOKEN"
},
"body": {
"tab_name_en": "Lead data",
"tab_name_he": "Lead data",
"folders": "[\"3\"]",
"show_in_header": "1",
"copy_customer_tab": "0",
"use_customer_for_entry": "0",
"status": "[{\"label_en\":\"Open\",\"color_name\":\"#ffa500\",\"sub_status\":[{\"sub_status_label\":\"Waiting\",\"sub_stauts_color\":\"#cccccc\"}]}]",
"fields": "[{\"input_type\":\"text\",\"label_en\":\"Note\",\"label_he\":\"Note\"},{\"input_type\":\"select\",\"label_en\":\"test_selct\",\"label_he\":\"test_selct\",\"is_multiple\":0,\"opt_name_en\":[\"test 1\",\"test 2\"],\"opt_name_he\":[\"test 1\",\"test 2\"]}]"
},
"url_user": "https:\/\/{user}.bull36.com\/app\/EntriesSettings.Add",
"url_domain": "https:\/\/{domain}\/app\/EntriesSettings.Add"
}Endpoint
POST /app/EntriesSettings.Add
POST https://{user}.bull36.com/app/EntriesSettings.Add
POST https://{domain}/app/EntriesSettings.AddSample Output
{
"success": 1,
"id": 745,
"message": "Record added successfully.",
"socket_event": "entriessettings.created"
}JavaScript Example
const token = 'YOUR TOKEN';
const body = new URLSearchParams({
tab_name_en: 'Lead data',
tab_name_he: 'Lead data',
folders: JSON.stringify(['3']),
show_in_header: '1',
status: JSON.stringify([
{
label_en: 'Open',
color_name: '#ffa500',
sub_status: [
{ sub_status_label: 'Waiting', sub_stauts_color: '#cccccc' }
]
}
]),
fields: JSON.stringify([
{ input_type: 'text', label_en: 'Note', label_he: 'Note' },
{
input_type: 'select',
label_en: 'test_selct',
label_he: 'test_selct',
is_multiple: 0,
opt_name_en: ['test 1', 'test 2'],
opt_name_he: ['test 1', 'test 2']
}
])
});
const res = await fetch('/app/EntriesSettings.Add', {
method: 'POST',
headers: { Authorization: `Bearer ${token}` },
body
});
console.log(await res.json());Error Example
{
"success": 0,
"message": "Missing required parameter: tab_name_en, tab_name_he"
}