Documentation
  • English
  • Українська
  • English
  • Українська
  • Getting Started

    • ConnectiveOne Documentation
  • 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
        • About Auto-Distribution of Dialogs Between Operators
        • About Automatic Connection of Free Operator to New Dialog
        • About Connecting Chat with Operator Through Operator Panel
        • About Redistribution of Chats from Operator
      • Instructions

        • Change Request Status
        • Create Filter
        • Create Folder
        • Create Outbound Request
        • How to Create a Ticket?
        • How to Link Tickets to Each Other?
        • Manage Folders
        • How to Edit Ticket Fields?
        • How to Manage Ticket Watchers?
        • Monitor Operator Statuses
        • 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 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 Quick Replies
        • Configure Signature
    • BroadcastUsers (Clients)

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

        • Create Segment by Filters
        • Edit Client Data
        • Export Client Data
        • Filter Clients
        • Manage Subscription
        • 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?
        • 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 Dialog (Legacy)

      • Integrator — Scenario Dialog Scenarios Hub
      • 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
        • 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
      • Instructions

        • How to Create and Maintain an Action in ActionJail (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
      • 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 Use custom_modules__get Action to Get a Record?
        • How to Use Autocomplete Search in Custom Data?
        • How to Use custom_modules__set Action to Create a Record?
        • Validate Data
        • View Model Records
    • 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 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

    • 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 Client Card Fields?
        • How to Configure Client Fields?
        • 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?"

About Custom Data in ConnectiveOne

Custom Data is a ConnectiveOne module that allows you to create, manage, and store arbitrary structured data sets unique to your company's business processes. It solves the problem of storing specific information that doesn't fit into standard system entities. This page explains the principles of Custom Data, data types, and usage scenarios.


Context and Problem

Every company has unique business processes and data that need to be stored and used:

  • Specific client information — additional fields that are not in the standard client table
  • Directories and catalogs — lists of stores, addresses, product categories used in scenarios
  • Surveys and metrics — collecting ratings and feedback from clients after a dialog
  • Structured data with relationships — organizing data with relationships between tables
  • Integration with external systems — storing IDs and data from CRM, ERP, and other systems

Limitations of standard tables:

  • Standard system tables (Clients, Operators, Chats) have a fixed structure
  • Cannot add fields specific to a particular company
  • No ability to create custom data structures

Typical scenarios:

  • Collecting surveys after a dialog with a client
  • Selecting a store or address from a list in a bot scenario
  • Extending client information with additional fields
  • Linking between different entities (e.g., operator → client)

Key Concepts

Data Model

Model — a table structure with defined fields and data types. A model defines what data can be stored and how it is organized.

How it works:

  1. Integrator creates a model by defining name and description
  2. Adds fields with defined types (STRING, TEXT, INTEGER, DATE, ASSOCIATION)
  3. Configures field features (uniqueness, required)
  4. Populates the model with data (manually or through import)
  5. Model becomes available for use in scenarios and operator panel

Example model:

  • Name: shops (Stores)
  • Fields: city (STRING), address (STRING), phone (STRING), work_schedule (STRING)

Field Types

Custom Data supports different field types for different kinds of data:

  • STRING — short text (up to 255 characters), for names, codes, phones
  • TEXT — long text (unlimited length), for comments, descriptions
  • INTEGER — whole numbers, for IDs, quantities, ratings
  • DATE — dates, for event dates, deadlines
  • ASSOCIATION — relationship between tables (one-to-many), for selecting values from another table

Choosing field type:

  • Use STRING for fields that will be searched (faster)
  • Use TEXT for long texts (comments, descriptions)
  • Use ASSOCIATION for organizing structured data with relationships

Records and Data

Record — a specific row of data in a table that contains values for all model fields.

How saving works:

  1. Data is collected in a scenario through "Wait for Response" or "Message with Keyboard" blocks
  2. Saved in variables of type model_name:field_name (e.g., customer:name)
  3. Action custom_modules__set is used to create a record
  4. Record becomes available for use in other parts of the system

Relationships Between Tables

ASSOCIATION — a field type that allows creating relationships between different data models.

How it works:

  1. Two models are created (e.g., "Priorities" and "Tasks")
  2. An ASSOCIATION type field is added to one model
  3. Relationship (one-to-many) with another model is configured
  4. When creating a record, a dropdown list with values from the related table is available

Example:

  • Model "Tasks" has a priority field of type ASSOCIATION
  • This field is linked to model "Priorities"
  • When creating a task, you can select a priority from the list ("High", "Medium", "Low")

Extending Client Contacts

Custom Data can be used to add additional fields to the Clients table.

How it works:

  1. A model is created with the "Use for extending contact fields" option
  2. A reg_user_id field of type INTEGER with unique: true parameter is added
  3. Other fields to be displayed in the Clients table are added
  4. Data from the Custom Data table automatically appears in the Clients table

Example:

  • Model client_expansion with fields: reg_user_id, date_of_birth, loyalty_card_number
  • Data from this model is displayed in the Clients table for the corresponding client

Approach Options

Simple Tables vs Structured Data

Simple tables:

  • ✅ Pros: Easy to create and use, fast data access
  • ❌ Cons: No relationships between data, possible information duplication

Structured data with relationships:

  • ✅ Pros: Data organization with relationships, data integrity
  • ❌ Cons: More complex setup, requires understanding of structure

When to use:

  • Simple tables — for surveys, feedback, simple directories
  • Structured data — for complex business processes with relationships between entities

Automatic Saving vs Actions

Automatic saving from blocks:

  • ✅ Pros: Easy setup, automatic saving after input
  • ❌ Cons: Limited flexibility, not suitable for complex scenarios

What is automatic saving: This is a feature of "Wait for Response" and "Message with Keyboard" blocks that allows automatically saving user responses to a Custom Data table. Data is saved not immediately, but after executing an action in the scenario. Learn more: How to Save Data from Scenario to Custom Data

Actions (custom_modules__set):

  • ✅ Pros: Flexibility, ability to collect multiple fields before saving, validation
  • ❌ Cons: Requires additional setup

When to use:

  • Automatic saving — for simple scenarios with one field
  • Actions — for complex scenarios with multiple fields and validation

Standard Actions vs Custom Actions

Standard actions (custom_modules__set, custom_modules__get, custom_modules__update):

  • ✅ Pros: Ready solutions, cover most needs, easy to use
  • ❌ Cons: Limited functionality for complex scenarios

Custom actions:

  • ✅ Pros: Full flexibility, ability to integrate with external systems, complex business logic
  • ❌ Cons: Requires development, code maintenance

When to use:

  • Standard actions — for most scenarios (CRUD operations, search, filtering)
  • Custom actions — for CRM integrations, complex validation, bulk operations

Adopted Solutions

Flexible Data Structure

Custom Data allows creating any data structures adapted to specific business processes. This provides maximum flexibility without the need to change standard system tables.

Integration with Scenarios

Custom Data is fully integrated with bot scenarios, allowing:

  • Automatic saving of data from input blocks
  • Using data in messages through variables
  • Searching and filtering data in scenarios
  • Cascading search with dependency on previous selections

Extending Standard Tables

Custom Data can extend standard system tables (e.g., Clients) by adding additional fields without changing the base structure. This ensures compatibility with standard system functions.

Support for Different Data Types

The system supports different data types (text, numbers, dates, relationships), allowing storing any kind of information and organizing complex data structures.


Implications for Users and Implementation

For Integrators

When working with Custom Data, it's important to:

  1. Design and create models — think about structure, create a model with needed fields
  2. Populate data — fill models with data manually or through import for use in scenarios
  3. Choose correct field types — STRING for search, TEXT for long texts, ASSOCIATION for relationships
  4. Use standard actions — for most scenarios, standard actions are sufficient
  5. Organize data — group models, use unique fields for search

For Administrators

When managing Custom Data, it's important to:

  1. Control access — configure access rights to models, restrict access to sensitive data
  2. Monitor usage — track which models are used and how, analyze load

Common Errors

Error: Creating a model without a thought-out structure
Problem: Changes needed after creation, which may lead to data loss
Solution: Always think about model structure before creating, use AI Magic for help

Error: Using TEXT fields for search
Problem: Search on TEXT fields is slow
Solution: Use STRING fields for search, TEXT only for long texts

Error: Lack of unique fields
Problem: Cannot reliably find a record
Solution: Add unique fields (email, phone, ID) for reliable search

Error: Creating custom actions for simple operations
Problem: Unnecessary complexity, code maintenance
Solution: Use standard actions for most scenarios

Recommendations

  1. Start with simple tables — use simple structures for first steps
  2. Use standard actions — they cover most needs
  3. Organize data — group models, use clear names
  4. Document structure — add descriptions to models and fields
  5. Test before use — check structure and data before integrating into scenarios

Related Documents

  • Integrator Hub: Navigation through all instructions — central page for integrators
  • How-to: Create Model — instruction for creating a model
  • How-to: Save Data from Scenario — how to save data automatically
  • How-to: Use custom_modules__set — creating a record through action
  • How-to: Use custom_modules__get — getting a record
  • How-to: Create Association Between Tables — organizing structured data
  • How-to: Extend Client Contacts — adding fields to Clients table
  • Reference: Terminology Reference — definitions of terms Custom Data, Model, Field, Record