Documentation
Docs
Learn
Release Notes
  • English
  • Українська
Docs
Learn
Release Notes
  • English
  • Українська
  • Getting Started

    • ConnectiveOne Documentation
    • How to use the Service Desk portal
  • Channel Configuration

    • Channels

      • Integrator — Channels Configuration Hub
      • Explanations

        • What is ConnectiveOne Widget
        • Widget JavaScript API
      • Instructions

        • How to Configure IP Blocking Message?
        • How to Configure Widget in Settings
        • How to Connect Facebook Messenger and Instagram to ConnectiveOne
        • How to Connect Gmail to ConnectiveOne
        • How to Connect Outlook to ConnectiveOne
        • How to Connect Telegram to ConnectiveOne
        • How to Connect Numbered Viber, Telegram, and WhatsApp via e-chat
        • How to Connect Viber to ConnectiveOne
        • How to Connect WhatsApp to ConnectiveOne
        • How to Customize Widget Colors
        • How to Manage Widget from Website
        • How to Pass Parameters from Website to Scenario
        • How to Configure Sending SMS via Alpha SMS
        • How to Configure Sending Viber/SMS via Infobip
        • How to Connect Widget to Website
        • How to Use Custom Code for Widget
        • How to Work with Widget on SPA Applications
  • Request Processing

    • Operator Panel (OperatorLine)

      • Operator — OperatorLine Scenarios Hub
      • Supervisor — OperatorLine Scenarios Hub
      • Administrator — OperatorLine Scenarios Hub
      • Integrator — Operator Panel Hub for OperatorLine
      • Explanations

        • About Processing Requests in ConnectiveOne
        • What Are Filters and Why You Need Them
        • About Auto-Distribution of Dialogs Between Operators
        • About Automatic Connection of Free Operator to New Dialog
        • Instagram Content Display in Chats
        • About Connecting Chat with Operator Through Operator Panel
        • HEIC/HEIF image support (photos from iPhone)
        • About Redistribution of Chats from Operator
      • Instructions

        • Change Request Status
        • Create Filter
        • Create Folder
        • Create Outbound Request
        • How to Create a Ticket?
        • How to Download Attachments from the Dialog?
        • How to export a chat to PDF?
        • How to Link Tickets to Each Other?
        • Manage Folders
        • How to Edit Ticket Fields?
        • How to Manage Ticket Watchers?
        • Monitor Operator Statuses
        • Queue monitoring and distribution audit
        • Open Request
        • Reorder Folders
        • How to Reply to a Client?
        • Set Topic and Tags
        • Use Copilot
        • Use Quick Replies
        • How to View Active Dialogs in Client Card?
        • View Chat List
        • View Chats in Table
        • View Quality Assessment in Chat
        • View Request Queue
        • How to View Ticket Logs?
        • How to View Ticket SLA Metrics?
    • Profile

      • Operator — Profile Scenarios Hub
      • Administrator — Profile Scenarios Hub
      • Instructions

        • How to Change Interface Language?
        • Configure Folders
        • Configure Notifications
        • Configure Operator Settings in Profile
        • Configure Quick Replies
        • Configure Signature
    • BroadcastUsers (Clients)

      • Operator — BroadcastUsers Scenarios Hub
      • Integrator — BroadcastUsers Scenarios Hub
      • Administrator — BroadcastUsers Scenarios Hub
      • Explanations

        • Why Does One Client Have Many Channels?
        • Client Card Sections
      • Instructions

        • Create Segment by Filters
        • Edit Client Data
        • Export Client Data
        • Filter Clients
        • Manage Subscription
        • How to Search and Merge Similar Contacts
        • How to Find a Client?
        • Search Clients by File
        • Send Broadcast to Selected Clients
        • How to View a Client Card?
        • View Client Channels
  • Broadcasts

    • Broadcast

      • Operator — Broadcast Hub
      • Integrator — Broadcast Settings Hub
      • Analyst — Broadcast Analytics Hub
      • Instructions

        • How to Activate a Scheduled Broadcast?
        • How to Add Images to Broadcasts?
        • How to Check Broadcast Status?
        • How to Configure an Automatic Broadcast?
        • How to Configure Alias in Broadcasts?
        • How to Configure Broadcast Limits?
        • How to Create a Broadcast Template?
        • How to Create a Broadcast?
        • How to Create a Broadcast Topic?
        • How to Deactivate a Broadcast Topic?
        • How to Edit a Broadcast Draft?
        • How to Edit a Broadcast Topic?
        • How to Export Broadcast Results to Excel?
        • How to Format Messages in Broadcasts?
        • How to Launch a Broadcast Immediately?
        • How to Save a Broadcast as a Draft?
        • How to Find Contacts by File?
        • How to Send a Broadcast from the Clients Module?
        • How to Configure a Scheduled Broadcast?
        • How to Configure Subscription to Broadcast Topics?
        • How to View a Broadcast Report?
        • How to View Broadcast Results?
        • How to View Click Statistics?
        • How to View Delivery Statistics?
        • How to View Open Statistics?
  • Automation

    • Scenario Builder

      • Scenario Builder — Integrator Hub
      • Instructions

        • How to add translations to a scenario in Scenario Builder
        • How to Configure an Instagram Scenario in Scenario Builder
        • How to create a new bot scenario in Scenario Builder
        • How to create a scenario section in Scenario Builder
        • How to edit a scenario in Scenario Builder
        • How to find a node on the canvas in Scenario Builder
        • How to export and import a scenario in Scenario Builder
        • How to test a scenario in Scenario Builder
        • How to use an action in a Scenario Builder scenario
        • How to view scenario version history in Scenario Builder
    • Scenario Dialog (Legacy)

      • Integrator — Scenario Dialog Scenarios Hub (Legacy)
      • Explanations

        • Actions in Scenarios — What They Are and How They Work
        • About Using autobroadcast__create Action in Scenarios
        • About Copying Existing Bot Scenario
        • About ConnectiveOne Integration with Corezoid Through Operator Panel
        • About Displaying Images to User
        • About Email Categorization Using AI
        • About Facebook Ads Referral Tags
        • About Launching Scenario from Facebook Ads
        • About HTML Text Formatting in Telegram and Widget
        • About Inline Keyboard in Telegram and Widget
        • About Configuring Alias for Outgoing Dialog
        • About Payment via Bot
        • About Telegram Group Bots
        • Telegram Keyboard Button Styling
        • About Telegram WebApp in Scenarios
        • About Viber Keyboard Styling
        • About Viber Start Message
      • Instructions

        • How to Add Translations to a Scenario?
        • How to Create a New Bot Scenario?
        • How to Create a Scenario Section?
        • How to Edit an Existing Bot Scenario?
        • How to Export or Import a Scenario?
        • How to Use an Action in a Scenario?
        • How to View and Restore Scenario Versions?
    • ActionJail

      • Operator — ActionJail Scenarios Hub
      • Explanations

        • Action Jail Editor Sections
        • How Action Jail Data Flows to Scenario Builder
      • Instructions

        • How to Create a Custom Action in Action Jail
        • How to Create and Maintain an Action in ActionJail (Administrator)
        • AI Generator Setup in Action Jail (Administrator)
        • How to Clone an Action in ActionJail
        • How to Quickly Find an Action in ActionJail
        • How to Connect an ActionJail Action to a Bot Scenario (Integrator)
      • Reference

        • Actions Reference — Actions Guide
    • Integrations

      • Integrator — ConnectiveOne Integrations Hub
      • Explanations

        • Launch Scenario via Deeplink
        • Transfer UTM Tags Through Messages
        • What are ConnectiveOne Integrations
      • Instructions

        • How to Integrate Operator Panel as Widget in CRM/ERP
        • How to Configure Product Name for Zoho CRM
        • How to Integrate External System via Custom Channel
        • How to Get Data from API Using send_request
        • How to Send Data from ConnectiveOne via send_request
        • How to Configure User Subscription to Notifications
        • How to Launch Bot Scenario via API call_node
        • How to Integrate ConnectiveOne with eSputnik
        • How to Send Phone Broadcast via Route
        • How to Use ConnectiveOne API
        • How to Configure Operator Panel Webhook
      • Reference

        • API Reference — ConnectiveOne API Reference
    • Custom Data

      • Integrator — Custom Data Scenarios Hub
      • Administrator — Custom Data Scenarios Hub
      • Analyst — Custom Data Scenarios Hub
      • Explanations

        • About Custom Data in ConnectiveOne
        • Custom Data Patterns and Examples
        • Advanced Custom Data Cases
      • Instructions

        • Add Field to Model
        • How to Configure Field Display in Custom Data?
        • Configure Field Type
        • How to Create an Association Between Tables in Custom Data?
        • Create Group
        • How to Create a Data Model?
        • Edit Model
        • Export Filtered Data
        • How to Export Model Data?
        • How to Extend Client Contacts Table Through Custom Data?
        • How to Find Records by Filters?
        • Import Data from File
        • How to Save Data from Scenario to Custom Data?
        • Sort Records
        • How to Use AI Magic to Create Custom Data Models?
        • How to Get a Record from Custom Data by Search Criteria?
        • How to Use Autocomplete Search in Custom Data?
        • How to Create a Record in Custom Data from Scenario Data?
        • Validate Data
        • View Model Records
      • Reference

        • Advanced Model Options Reference
    • FileManager

      • Operator — FileManager Scenarios Hub
      • Instructions

        • How to Create a Jira Task with a File?
        • How to Delete a File or Folder?
        • How to Navigate to a Folder?
        • How to Upload a New File?
        • How to View the File List?
  • Artificial Intelligence

    • FastLinePro

      • Integrator — FastLinePro Scenarios Hub
      • Administrator — FastLinePro Scenarios Hub
      • Instructions

        • Activate KB Plugin
        • How to Check AI Agent Response in Scenario?
        • Check Synchronization Status
        • Configure Agent Prompt
        • How to Configure Agent Variables in FastLinePro?
        • How to Configure Chunking in FastLinePro Knowledge Base?
        • Configure KB Plugin Synchronization
        • Configure Knowledge Synchronization
        • How to Connect Knowledge Base to AI Agent in FastLinePro?
        • Create Agent
        • How to Create a Chatbot?
        • How to Create a Knowledge Base?
        • Deactivate KB Plugin
        • How to Generate Gemini API Key for FastLine Pro
        • How to Prepare a File for FastLinePro Knowledge Base?
        • Run KB Synchronization
        • Update KB Files
        • Upload Files to KB
        • How to Use action_fastline_pro Action in Scenario?
    • Quality Assurance

      • Supervisor — Quality Assurance Scenarios Hub
      • Administrator — Quality Assurance Scenarios Hub
      • Analyst — Quality Assurance Scenarios Hub
      • Instructions

        • How to Adjust AI Assessment Criteria?
        • How to Approve Assessment?
        • Assess Request
        • Conduct Quality Check
        • How to Create a New Dialogue Assessment?
        • Export Assessments
        • Filter Assessments
        • Use Checklist
        • View Assessment Details
        • How to View Assessments List and Find the Needed One?
        • View Quality Dashboard
        • View Quality Reports
  • Statistics

    • Statistics

      • Supervisor — Statistics Scenarios Hub
      • Administrator — Statistics Scenarios Hub
      • Analyst — Statistics Scenarios Hub
      • Instructions

        • Apply Filters to Report
        • How to Configure CSAT (Customer Satisfaction) in Statistics?
        • How to Create and Configure a Funnel in Statistics?
        • Create Detailed Report
        • Create Funnel
        • Export Report
        • How to Export Statistics Data?
        • Set Target Metrics
        • View Daily Report
        • View Dashboard
        • How to View Metabase Dashboards in Statistics Module?
        • How to View Operator Schedule in Statistics?
        • View Shift Report
      • Reference

        • Statistics Metrics — Reference
  • Administration

    • Constructor

      • Constructor — home screen and navigation
      • Instructions

        • How to use the Constructor home screen?
    • Settings

      • Supervisor — Operator Panel Settings Hub
      • Administrator — System Settings Hub
      • Instructions

        • How to Activate or Deactivate a Bot?
        • How to Configure Authentication and Access Management?
        • How to Configure a Bot?
        • How to Configure Operator Calendars?
        • How to Configure Chat Parameters?
        • How to Configure Field Display in the Client Card?
        • How to Configure Client Fields?
        • How to configure email templates (header and footer)?
        • How to Configure File Parameters?
        • How to Configure Hot Keys?
        • How to Configure Instance Parameters?
        • How to Configure Operators in Chats?
        • How to Configure Roles and Access Rights?
        • How to Configure Styles and Scripts?
        • How to Configure Ticket Topics?
        • How to Configure General System Settings?
        • How to Configure Ticket Parameters?
        • How to Configure Timers for Chats?
        • How to Configure User Fields?
        • How to Create a New Bot?
        • How to View Bots List?
        • How to View System Status?
        • How to View Users List?
      • Reference

        • What Are Server Requirements for Hosting ConnectiveOne?
    • Access Recovery

      • Access Recovery — Scenarios Hub
      • Instructions

        • How to Enable Password Recovery Flow (Administrator)
        • How to Generate a Password Reset Link Manually (Administrator)
        • How to Reset Password Through "Forgot Password?"
  1. Docs
  2. /Customdata
  3. /Reference
  4. /Advanced Model Options Reference

Advanced Model Options Reference

This reference describes additional options for Custom Data model fields and models. They are configured in the model's JSON structure (Create/Update tab). For most simple tables, basic field types are enough; this reference is for integrators designing complex models.

When to use: when you need to hide fields, add validation, charts, row highlighting, a map or image slider in the modal window. For use cases and examples, see Advanced Custom Data Cases.


1. Basic Field Parameters

OptionPurposeExample
labelField label for UI display (instead of technical key)"Store name", "Created at"
defaultDefault value when creating a recordStatus "New", today's date
uniqueUnique value — creates UNIQUE index in DBEmail, phone, code

2. Field Visibility

OptionPurposeExample
hidden_in_tableHide column in columns chooser. User can enable it manually.Internal supplier code — not in daily table, but may be needed for export
hidden_allHide field everywhere: table, modal, filtersService field for integration
hide_in_filterHide field in filter panel"Comment" field — filtering by it is impractical
hidden_in_create_popupHide field in create-record modal"Created from" — filled automatically

3. Table Associations

OptionPurposeExample
model_name, model_field, model_field_labelLink field to another model; store id, show label"Category" — select from Categories model
typeAssociation type: one-to-one, one-to-many, mtm (many-to-many). For mtm need through_model_name and other_field_nameProducts ↔ Tags via junction table
asAlias for association; without it column may not show in table
attributesList of fields from related model to fetch (for slider, fetch_on_create)["image_url", "name"]
fetch_filterLimit options in dropdownShow only active statuses
fetch_limitLimit for dropdown options (default 10000)
fetch_on_createWhen creating from related model, pull additional fieldsWhen selecting "Product" show price and SKU
auto_select_firstAuto-select first option"Type" defaults to "New"
auto_select_associated_on_changeWhen one field changes, auto-select value in another. Fields must be hidden_in_create_popup
subtype: show_image_in_sliderShow images from related model as slider. Requires attributes with URL fieldsStore photos as slider

4. Validation and Rules

OptionPurposeExample
rulesArray of rules: required, email, digits, latin, latinDigits, stringMaxLength, minLimit, custom_minLimit_N, custom_maxLimit_N, jsonEmail — ["required", "email"]; code — ["required", "digits"]
string_inputDate/time input for STRING: type: "date" or "time", format: "DD.MM.YYYY" or "HH:mm"Birth date, start time
validate.required_field_emptyField name — current field disabled if specified field is empty"End time" unavailable until "Start time" is set
validate.required_field_not_emptyField name — current field disabled if specified field is NOT empty"Replacement" unavailable if "Primary value" exists
validate.disabled_in_table_on_editDisable editing in table if field already has value"Created at" — only on create
validate.rulesDate/time validation: type, val_from_field, action (gt/lt), ignore_in_tableEnd time > start time
validate.disable_clearableDisable clearing field (for date/time) if another field is not empty

5. Table Display

OptionPurposeExample
widthColumn width (e.g. "200")
alignHeader alignment: start, center, end
display_in_table: imageShow image by URL instead of text"Photo" column with thumbnail
display_type: linkDisplay value as clickable link"Store website" field
click_action: openButton to quickly open edit modal"Actions" column with "Open" button
non_editableDisable inline editing in table"ID" or "Created" field
sortableAllow or disable column sortingDisable for "Comment"
total_sumShow total sum at bottom of table. Requires front_json.table_stylization.total_row: true"Amount" column with total

6. Statistics and Charts (statistics_json)

Array of objects — each object describes one chart (bar chart).

OptionPurposeExample
typeChart type (currently only bar supported)
colorChart color (HEX)"#2A9D8F"
labelChart label"Total by category"
measurecount — record count; sum — sum by field
group_byField for grouping (X axis). If association — labels shown instead of idstatus_id, category_id
sum_fieldField to sum (required for measure: sum)amount, quantity, price

7. Modal Window and Styling (front_json)

modal_entity

OptionPurposeExample
type: MAPMap with coordinates. Params: latitude_key, longitude_key — keys from row for lat/longStores — map with addresses
type: SLIDERImage slider. Param img_fields — array of keys from row for URLsProducts — multiple photos
type: CHARTChart in modalManagers — sales chart
label_from_column_nameTake label from columns_json by specified key
editableAllow or disable editing in modal"Created" — read-only
icon, icon_colorMDI icon and colormdi-phone, red
expansion-panelsArray of sections: label, header_color, icon, icon_color, items (fields object)"Address" section with fields
create_association_rowButton to create record in related table. Params: type: "CREATE_ASSOCIATION_ROW", label, from (model), to (field), show_if_result, label_if_result, icon, icon_color, save_by_permission"Assign penalty" — create and link

table_stylization

OptionPurposeExample
total_rowShow total row at bottom of table (for fields with total_sum)Sum for "Amount" column
colorizeHighlight row or cell. Params: what (cell/row), field (column), param_name (key for color), opacity (0–1), params_array (keys for mapping)"Overdue" status — red row

macros

Purpose: Let the operator run bot scenario processes (macros) directly from the Custom Data table — for each record separately. E.g., send a message to the client, create a request in an external system, trigger processing. Record data is passed to the scenario as context.

How it works: A button (lightning icon) appears in each table row. Operator clicks it → dialog opens to select a macro from the chosen bot's process list → after selection, a widget with the bot opens; record data (id, fields) is passed to the scenario. Macros are scenario sections marked as processes (is_macro).

OptionPurposeExample
bot_idID of the bot whose scenario contains macros (processes)Request processing bot
singletrue — button in each row (run for one record)"Send reminder" for each request
multipletrue — button for multi-select (bulk run)Run process for several selected records

8. Files

OptionPurposeExample
edit_type: file_upload (STRING)Upload single file, store URL"Logo" field
file_upload: true (JSON)Upload multiple files. Stored as { files: [{ name, url }] }"Attachments" — multiple documents

9. Conditional Highlighting (highlight_rules)

Purpose: Visually highlight a cell by color based on a condition — e.g., red if actual time is less than planned (overdue), green if OK. Operator quickly spots problematic records without scanning each row.

How it works: For each row, the system compares values of two fields by the specified condition (less than, greater than, equal). If the condition is met — the cell is highlighted. Rules are checked in order; the first match determines the color.

Where: In columns_json on the field whose column should be highlighted. Supported for STRING, TEXT, FLOAT, INTEGER, BIGINT.

OptionPurposeExample
type"time" — for time comparison (strings in HH:mm format)
rulesArray of rules. Each rule: "0" — first field name, "1" — second, action (lt/gt/eq/gte/lte), color (red, green, #ff0000)[{"0":"actual_time","1":"planned_time","action":"lt","color":"red"}] — if actual < planned → red

10. Special Field Names (column_name)

Purpose: Display a field not as plain text or number, but as a map, chart, image slider, or chat. E.g., for a store — map with coordinates, for a product — image slider.

How it works: In columns_json create a field with technical key cd_map, cd_chart, cd_image_slider, cd_image_list, or cd_chat. In front_json.modal_entity configure it (latitude_key/longitude_key for map, img_fields for slider). When the modal opens, the corresponding component is shown instead of a regular field.

KeyPurposeWhen to use
cd_mapMap with coordinatesStores, delivery addresses
cd_chartChart in modalManagers — sales chart per record
cd_image_sliderImage sliderProducts, store photos
cd_image_listImage listMultiple photos without slider
cd_chatChatMessage history per record

Configuration fields (in front_json.modal_entity for each key):

  • cd_map: type: "MAP", latitude_key — key for latitude, longitude_key — for longitude
  • cd_image_slider: type: "SLIDER", img_fields — array of keys from row for URLs (e.g. ["outlet_image"] or ["photo1", "photo2"])
  • cd_chart: type: "CHART", label, editable
  • cd_image_list: similar to slider — fields with URLs
  • cd_chat: data stored in row field (JSON)

11. Side Cases (Important Combinations and Limitations)

columns_json

  • hidden_all vs hidden_in_table: hidden_all excludes the column entirely (table, modal, filters). hidden_in_table — column is hidden by default in columns chooser, but the user can enable it.
  • total_sum: works only with front_json.table_stylization.total_row: true. Without total_row the total row is not shown.
  • association without as: a column with association may not display in the table. Add as for correct display.
  • mtm (many-to-many): additional parameters through_model_name and other_field_name are required.
  • validate: if field A has required_field_empty: "B" and B has required_field_not_empty: "A", a dependency cycle is possible.
  • highlight_rules: rules are checked in order; the first match determines the cell color.

front_json

  • modal_entity vs columns_json: if a key exists only in modal_entity but not in columns_json — the field will not appear in the table or filters. If only in columns_json — DynamicModalEntity may not show it in the modal (depends on configuration).
  • expansion-panels items: fields in items must match keys from columns_json, otherwise values will not display.
  • colorize: for Custom Data usually param_name + column with HEX is enough. params_array — for more complex mappings (OperatorPanel).

statistics_json

  • group_by on non-existent field: may cause an error or empty result.
  • sum_field not numeric: for measure: "sum" — incorrect result.
  • association without model_field_label: if group_by points to a field with association — ids will appear on X axis instead of names.

Related Documents

  • Advanced Custom Data Cases — when and why to use these options
  • Custom Data Patterns and Examples — typical scenarios
  • What is Custom Data — core concepts
  • Integrator — Custom Data — navigation through all instructions

On this page