Skip to main content
Skip table of contents

Form Builder Schema

The Form Builder Schema is a tool designed to create, manage, and utilize multiple forms. Inspired by platforms like Google Forms, it introduces new question types, sections, weightage, and form type categorization to enhance the user experience and data collection capabilities.

Key Features

  • Form Types:

    • Questionnaire Form

    • Survey Form

    • Wrap-up Form

    • Pre-Conversation Form

    • Generic Form

  • Question Types:

    • INPUT

      • alphaNumeric (Alpha Numeric Character)

      • alphaNumericSpecial (Alpha Numeric Special Character)

      • email (Email)

      • number (Number)

      • password (Password)

      • positiveNumber (Positive Number)

      • url (URL)

      • ip (IP address with or without port)

      • date (Date)

      • time (Time)

      • dateTime (DateTime)

      • shortAnswer (Short Sentence)

      • file (Media File)

    • OPTIONS

      • boolean (Yes/No → Single Select

      • mcq (Multiple Choice) → Single Select

      • checkbox (Checkboxes) → Multiple Select

      • dropdown (Dropdown) → Single Select

      • 5-star-rating (5 Star Rating) → Single Select

      • nps (Net Promotor Score) → Single Select

    • TEXTAREA

      • paragraph (Long Sentences)

  • Sections

    • Allow businesses to manage questions in a section.

    • Allow adding multiple sections

    • Enable/disable Sections

  • Weightage

    • Questionnaire weightage formula being used on section to question level =>, for example, is section is assigned 50 weightage and the question is assigned 30 weightage then the formula will look like:30/100 * 50

    • Form Level Weightage (Only Allowed in Questionnaire Type Forms)

    • Question Level Weightage (Allowed only on MCQ and Dropdown Type Questions)

      1. Allow businesses to set weightage from form level to question’s option level.

      2. Weightage values range from 0 to 100 points

      3. Weightage only applies to Multiple Choices (mcq) and Dropdown (dropdown) type questions.

Questionnaire Valid Weightage Sample:
  • Form: (Questionnaire) → [100] ← Form Weightage

    • Section-1 → [30] ← Section Weightage

      • Question-1 → [20] ← Question Weightage

        • Option-1 → [100] ← Option Weightage

        • Option-2 → [50] ← Option Weightage

        • Option-5 → [0] ← Option Weightage

      • Question-2 → [40] ← Question Weightage

        • Option-1 → [100] ← Option Weightage

        • Option-2 → [0] ← Option Weightage

      • Question-3 → [40] ← Question Weightage

        • Option-1 → [100] ← Option Weightage

        • Option-2 → [50] ← Option Weightage

        • Option-3 → [0] ← Option Weightage

    • Section-2 → [40] ← Section Weightage

      • Question-1 → [50] ← Question Weightage

        • Option-1 → [100] ← Option Weightage

        • Option-2 → [50] ← Option Weightage

        • Option-3 → [0] ← Option Weightage

      • Question-2 → [50] ← Question Weightage

        • Option-1 → [100] ← Option Weightage

        • Option-2 → [50] ← Option Weightage

        • Option-3 → [0] ← Option Weightage

    • Section - 3 → [30] ← Section Weightage

      • Question-1 → [30] ← Question Weightage

        • Option-1 → [100] ← Option Weightage

        • Option-2 → [50] ← Option Weightage

        • Option-3 → [0] ← Option Weightage

      • Question-2 → [30] ← Question Weightage

        • Option-1 → [100] ← Option Weightage

        • Option-2 → [50] ← Option Weightage

        • Option-3 → [0] ← Option Weightage

      • Question-3 → [40] ← Question Weightage

        • Option-1 → [100] ← Option Weightage

        • Option-2 → [50] ← Option Weightage

        • Option-3 → [0] ← Option Weightage

  • Audio File Attachments for Question Prompts

    • Against each question, one can add Audio-type file attachments to allow businesses to fulfill IVR prompt use cases.

    • The maximum file limit is 5MB

    • File Engine Supported audio file type: mp3.

image-20240606-123554.png

Generic Form Sample

Questions Details

Detailed schema for all possible questions in forms with screenshots.

Value Type (Question)

Attribute Type (HTML)

Question Schema

Question Screenshots

  • alphaNumeric

  • alphaNumericSpecial

  • email

  • number

  • password

  • positiveNumber

  • url

  • ip

  • date

  • time

  • dateTime

  • shortAnswer

INPUT

All Input Sample Schema
CODE
{
    "_id": "65cc566711819b00328db0a9",  // String (ObjectId)
    "attributeType": "INPUT",  // String (Field type)
    "helpText": "Enter AlphaNumeric Text Here ..",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "what_is_your_name?",  // String (Unique key for the attribute)
    "label": "What is your name?",  // String (Label for the attribute)
    "valueType": "alphaNumeric",  // String (Value type which will be added by customer)
    "attributeWeightage": 10,  // Number (Overall attribute weightage for the question)
    "attributeAttachment": "https://file-server.expertflow.com/xyz"  // String (Optional media file to be attached)
}
image-20240606-132308.png

All Input type questions will have the same look and feel except for the file-type question

file (file upload)

INPUT

Input File Type Sample Schema
CODE
{
    "_id": "65cc566711819b00328db0a9",  // String (ObjectId)
    "attributeType": "INPUT",  // String (Field type)
    "helpText": "Enter AlphaNumeric Text Here ..",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "what_is_your_name?",  // String (Unique key for the attribute)
    "label": "What is your name?",  // String (Label for the attribute)
    "valueType": "file",  // String (Value type which will be added by customer)
    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String (Optional media file to be attached)
    "fileData": {
        "restrictFile": true,  // Boolean (If set to false then no file type validation will be done)
        "fileExtension": ["PNG", "JPG", "JPEG", "DOC", "MOV", "MP3"],  // Array of Strings (Allowed file extensions)
        "fileNumber": 5,  // Number (Maximum 10 and minimum 1)
        "fileSize": 5,  // Number (in MB)
        "destinationFolder": "https://file-server.expertflow.com/file/"  // String (Destination folder for the file)
    }
}
image-20240606-133927.png

Allow users to upload a multi-media file with specific validations

paragraph

TEXTAREA

Paragraph Sample Schema
CODE
{
    "_id": "65cc566711819b00328db0a9",  // String (ObjectId)
    "attributeType": "TEXTAREA",  // String (Field type)
    "helpText": "Enter Paragraph Text Here ..",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "what_is_your_name?",  // String (Unique key for the attribute)
    "label": "What is your name?",  // String (Label for the attribute)
    "valueType": "paragraph",  // String (Value type which will be added by customer)
    "attributeAttachment": "https://file-server.expertflow.com/xyz"  // String (Optional media file to be attached)
}
image-20240607-085412.png

Only Text Area Type Questions

boolean (Yes/No)

OPTIONS

Boolean Sample Schema
CODE
{
    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
    "attributeType": "OPTIONS",  // String (Field type)
    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "customer_type",  // String (Unique key for the attribute)
    "label": "Customer Type",  // String (Label for the attribute)
    "valueType": "boolean",  // String (Boolean, YES/NO Question valueType)
    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String (Optional Media File to be attached)
    "attributeWeightage": null,  // Null or Number (Overall attributeWeightage will be null or 0 in case of boolean)
    "attributeOptions": {
        "enableCategory": false,  // Boolean
        "enableStyle": true,  // Boolean (Assuming style can be enabled for boolean)
        "reverseOrder": false,  // Boolean (If 'true' attributeData will be in reversed order)
        "isMultipleChoice": false,  // Boolean (will be false in case of boolean)
        "attributeData": [
            {
                "label": "Label Name",  // String
                "values": [
                    {
                        "label": "Yes",  // String
                        "value": true,  // Boolean
                        "optionStyle": {
                            "name": "Filled Smile",  // String
                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                            "type": "filled",  // String
                            "color": null  // String
                        },
                        "optionWeightage": null  // Null or Number (weightage will be null or 0 in case of boolean)
                    },
                    {
                        "label": "No",  // String
                        "value": false,  // Boolean
                        "optionStyle": {
                            "name": "Filled Smile",  // String
                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                            "type": "filled",  // String
                            "color": null  // String
                        },
                        "optionWeightage": null  // Null or Number (weightage will be null or 0 in case of boolean)
                    }
                ]
            }
        ]
    }
}
image-20240607-085810.png

Boolean Type Questions with/without emoji enable

mcq (Multiple Choice → Single Select)

OPTIONS

Multiple Choice Sample Schema
CODE
{
    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
    "attributeType": "OPTIONS",  // String (Field type)
    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "customer_type",  // String (Unique key for the attribute)
    "label": "Customer Type",  // String (Label for the attribute)
    "valueType": "mcq",  // String (Multiple Choice, Single Select)
    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
    "attributeOptions": {
        "enableCategory": false,  // Boolean (In case of MCQ type question, category can be enabled)
        "enableStyle": false,  // Boolean (Emojis cannot be enabled for mcq)
        "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of mcq type question)
        "isMultipleChoice": false,  // Boolean (will be false in case of mcq)
        "attributeData": [
            {
                "label": "Label Name",  // String
                "values": [
                    {
                        "label": "One",  // String
                        "value": null,  // Null (value is not specified for mcq options)
                        "optionStyle": null,  // Null (optionStyle is not specified for mcq options)
                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                    },
                    {
                        "label": "Two",  // String
                        "value": null,  // Null (value is not specified for mcq options)
                        "optionStyle": null,  // Null (optionStyle is not specified for mcq options)
                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                    }
                    // More objects can be added here
                ]
            }
            // More objects will only be added in case of 'enableCategory' is 'true'
        ]
    }
}
image-20240607-090015.png

Multiple Choice Question with Attribute(Question) level weightage

checkbox (Multi-Select)

OPTIONS

Checkboxes Sample Schema
CODE
 {
    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
    "attributeType": "OPTIONS",  // String (Field type)
    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "customer_type",  // String (Unique key for the attribute)
    "label": "Customer Type",  // String (Label for the attribute)
    "valueType": "checkbox",  // String (checkbox)
    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
    "attributeWeightage": null,  // Null or Number (Overall attributeWeightage for the question type checkboxes will be 'null' or 0)
    "attributeOptions": {
        "enableCategory": false,  // Boolean (In case of checkbox type question, category can be enabled)
        "enableStyle": false,  // Boolean (Emojis cannot be enabled for checkbox)
        "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of checkbox type question)
        "isMultipleChoice": true,  // Boolean (will be true in case of checkbox)
        "attributeData": [
            {
                "label": "Label Name",  // String
                "values": [ 
                    {
                        "label": "One",  // String
                        "value": null,  // Null (value is not specified for checkbox options)
                        "optionStyle": null,  // Null (emoji is not specified for checkbox options)
                        "optionWeightage": null  // Null or Number (weightage for checkbox options)
                    },
                    {
                        "label": "Two",  // String
                        "value": null,  // Null (value is not specified for checkbox options)
                        "optionStyle": null,  // Null (emoji is not specified for checkbox options)
                        "optionWeightage": null  // Null or Number (weightage for checkbox options)
                    }
                    // More objects can be added here
                ]
            }
            // More objects will only be added in case 'enableCategory' is 'true'
        ]
    }
}
image-20240607-104709.png

Checkboxes Type Question with Category Enabled

dropdown (Single Select)

OPTIONS

Dropdown Sample Schema
CODE
{
    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
    "attributeType": "OPTIONS",  // String (Field type)
    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "customer_type",  // String (Unique key for the attribute)
    "label": "Customer Type",  // String (Label for the attribute)
    "valueType": "dropdown",  // String (dropdown)
    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
    "attributeOptions": {
        "enableCategory": false,  // Boolean (In case of Dropdown type question, category can be enabled)
        "enableStyle": false,  // Boolean (Emojis cannot be enabled for dropdown)
        "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of dropdown type question)
        "isMultipleChoice": false,  // Boolean (will be false in case of dropdown)
        "attributeData": [
            {
                "label": "Label Name",  // String
                "values": [
                    {
                        "label": "One",  // String
                        "value": null,  // Null (value is not specified for dropdown options)
                        "optionStyle": null,  // Null (optionStyle is not specified for dropdown options)
                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                    },
                    {
                        "label": "Two",  // String
                        "value": null,  // Null (value is not specified for dropdown options)
                        "optionStyle": null,  // Null (optionStyle is not specified for dropdown options)
                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                    }
                    // More objects can be added here
                ]
            }
        ]
    }
}
image-20240607-103648.png

Dropdown Type Question with Attribute (Question) level Weightage

5-star-rating (5-Star Rating)

OPTIONS

5 Star Rating Sample Schema
CODE
{
    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
    "attributeType": "OPTIONS",  // String (Field type)
    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "customer_type",  // String (Unique key for the attribute)
    "label": "Customer Type",  // String (Label for the attribute)
    "valueType": "rating",  // String (rating)
    "ratingType": "star",  // String (Other options are: rating_bar, linear_scale, smiley_outline, smiley_filled)
    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
    "attributeOptions": {
        "enableCategory": false,  // Boolean (In case of Dropdown type question, category can be enabled)
        "enableStyle": true,  // Boolean (Emojis can not be enabled for dropdown)
        "reverseOrder": false,  // Boolean (Reverse Order can be 'true' in case of rating type question)
        "isMultipleChoice": false,  // Boolean (will be false in case of dropdown)
        "attributeData": [
            {
                "label": "Label Name",  // String
                "values": [
                    {
                        "label": "Very Dissatisfied",  // String
                        "value": 1,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                            "type": "filled",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null (weightage can be null)
                    },
                    {
                        "label": "Dissatisfied",  // String
                        "value": 2,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                            "type": "filled",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null (weightage can be null)
                    },
                    {
                        "label": "Neutral",  // String
                        "value": 3,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                            "type": "filled",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null (weightage can be null)
                    },
                    {
                        "label": "Satisfied",  // String
                        "value": 4,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                            "type": "filled",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null (weightage can be null)
                    },
                    {
                        "label": "Very Satisfied",  // String
                        "value": 5,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                            "type": "filled",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null (weightage can be null)
                    }
                ]
            }
        ]
    }
}
image-20240607-103902.png

5 Star Rating Type Question with emoji enabled

nps → (Net Promoter Score)

OPTIONS

NPS Sample Schema
CODE
{
    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
    "attributeType": "OPTIONS",  // String (Field type)
    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
    "isRequired": true,  // Boolean (Check if field is required or not)
    "key": "customer_type",  // String (Unique key for the attribute)
    "label": "Customer Type",  // String (Label for the attribute)
    "valueType": "nps",  // String (Boolean, checkbox, mcq, dropdown, rating, nps)
    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
    "attributeOptions": {
        "enableCategory": false,  // Boolean
        "enableStyle": false,  //Boolean
        "reverseOrder": false, //Boolean
        "isMultipleChoice": false,  // Boolean (Only true in case of checkboxes)
        "attributeData": [
            {
                "label": "",  // String
                "values": [
                    {
                        "label": "Very Dissatisfied",  // String
                        "value": 0,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 1,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 2,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 3,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 4,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 5,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 6,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 7,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 8,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 9,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    },
                    {
                        "label": "",  // String
                        "value": 10,  // Number
                        "optionStyle": {  // Object
                            "name": "Filled Smile",  // String
                            "media": null,  // String
                            "type": "nps",  // String
                            "color": "#ffffff"  // String
                        },
                        "optionWeightage": null  // Null or Number
                    }
                ]
            }
        ]
    }
}
image-20240607-104215.png

NPS Type Question

Form Schema Restrictions

Restrictions

Questionnaire Form

Survey Form

Wrap-up Form

Pre-Conversation Form

Generic

Sections

By default, sections will be enabled, and toggle disabled.

By default, sections will be disabled but can be enabled.

🚫

By default, sections will be disabled and toggle disabled.

🚫

By default, sections will be disabled, and toggle disabled

By default, sections will be enabled but can be disabled

Weightage

By default, weightage will be enabled, and toggle disabled.

🚫

Form-level weightage is always disabled, the toggle is disabled

Only available on MCQs and Dropdown type question's attribute level.

🚫

Weightage is always disabled, the toggle is disabled

🚫

Weightage is always disabled, the toggle is disabled

By default disabled, but can be enabled.
* Given weightage will only apply/ be available for single select MCQs/dropdown type questions (weightage calculation will only apply on these), should be fine if enabled.

Muliple Choice Categories

🚫

Default/Always disabled, toggle disabled.

🚫

Default/Always disabled, toggle disabled.

Default enabled can be disabled.

🚫

Disabled by default

Enabled by default, can be disabled.

Single Select

Allowed by default
Dropdown and MCQs

Multi Select

🚫

🚫

🚫

Disabled by default

Question types Available per Form Type

Value Type (Question Type)

Attribute Type (HTML)

Form Type

  • alphaNumeric

  • alphaNumericSpecial

  • email

  • number

  • password

  • positiveNumber

  • url

  • ip

  • date

  • time

  • dateTime

  • shortAnswer

INPUT

PRE-CONVERSATION SURVEY GENERIC

file (file upload)

INPUT

PRE-CONVERSATION SURVEY GENERIC

paragraph

TEXTAREA

PRE-CONVERSATION SURVEY GENERIC

boolean (Yes/No)

OPTIONS

PRE-CONVERSATION SURVEY GENERIC

mcq (Multiple Choice → Single Select)

OPTIONS

PRE-CONVERSATION SURVEY GENERIC WRAPUP QUESTIONNAIRE

checkbox (Multi-Select)

OPTIONS

GENERIC WRAPUP

dropdown (Single Select)

OPTIONS

PRE-CONVERSATION SURVEY GENERIC WRAPUP QUESTIONNAIRE

5-star-rating (5-Star Rating)

OPTIONS

SURVEY GENERIC

nps → (Net Promoter Score)

OPTIONS

SURVEY GENERIC

Complete Form Type Schemas

TYPE

SCHEMA

QUESTIONNAIRE

Questionnaire Type Form
CODE
{
    "id": "65b248c710e57100322c5f88",
    "formType": "Questionaire",
    "formTitle": "Pre-Chat Form Testing",
    "formDescription": "",
    "enableSections": true,
    "enableWeightage": true,
    "formWeightage" : 0, // null in case enableWeightage is false
    "section": 
      [
        {
          "sectionName": "Section Name",
          "sectionKey": "section_name",
          "sectionWeightage": 100,
          "attributes": 
          [
            // MCQ Multiple Choice Single Select
            {
                "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                "attributeType": "OPTIONS",  // String (Field type)
                "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                "isRequired": true,  // Boolean (Check if field is required or not)
                "key": "customer_type",  // String (Unique key for the attribute)
                "label": "Customer Type",  // String (Label for the attribute)
                "valueType": "mcq",  // String (Multiple Choice, Single Select)
                "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
                "attributeOptions": {
                    "enableCategory": false,  // Boolean (In case of MCQ type question, category can be enabled)
                    "enableStyle": false,  // Boolean (Emojis cannot be enabled for mcq)
                    "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of mcq type question)
                    "isMultipleChoice": false,  // Boolean (will be false in case of mcq)
                    "attributeData": [
                        {
                            "label": "Label Name",  // String
                            "values": [
                                {
                                    "label": "One",  // String
                                    "value": null,  // Null (value is not specified for mcq options)
                                    "optionStyle": null,  // Null (optionStyle is not specified for mcq options)
                                    "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                },
                                {
                                    "label": "Two",  // String
                                    "value": null,  // Null (value is not specified for mcq options)
                                    "optionStyle": null,  // Null (optionStyle is not specified for mcq options)
                                    "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                }
                                // More objects can be added here
                            ]
                        }
                        // More objects will only be added in case of 'enableCategory' is 'true'
                    ]
                }
            },

            //  Dropdown Type Question
            {
                "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                "attributeType": "OPTIONS",  // String (Field type)
                "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                "isRequired": true,  // Boolean (Check if field is required or not)
                "key": "customer_type",  // String (Unique key for the attribute)
                "label": "Customer Type",  // String (Label for the attribute)
                "valueType": "dropdown",  // String (dropdown)
                "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
                "attributeOptions": {
                    "enableCategory": false,  // Boolean (In case of Dropdown type question, category can be enabled)
                    "enableStyle": false,  // Boolean (Emojis cannot be enabled for dropdown)
                    "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of dropdown type question)
                    "isMultipleChoice": false,  // Boolean (will be false in case of dropdown)
                    "attributeData": [
                        {
                            "label": "Label Name",  // String
                            "values": [
                                {
                                    "label": "One",  // String
                                    "value": null,  // Null (value is not specified for dropdown options)
                                    "optionStyle": null,  // Null (optionStyle is not specified for dropdown options)
                                    "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                },
                                {
                                    "label": "Two",  // String
                                    "value": null,  // Null (value is not specified for dropdown options)
                                    "optionStyle": null,  // Null (optionStyle is not specified for dropdown options)
                                    "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                }
                                // More objects can be added here
                            ]
                        }
                    ]
                }
            },

          ]
      }
   ]
}

SURVEY

Survey Type Form
CODE
{
    "id": "65b248c710e57100322c5f88",
    "formType": "Survey",
    "formTitle": "Survey Form Testing",
    "formDescription": "",
    "enableSections": true,
    "enableWeightage": false,
    "section": 
          [
            {
              "sectionName": "Section Name",
              "sectionKey": "section_name",
              "sectionWeightage": null, or 0 because in case of survey weightage is disabled
              "attributes": 
              [
                // Boolean Type Question (YES/NO)
                {
                    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                    "attributeType": "OPTIONS",  // String (Field type)
                    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                    "isRequired": true,  // Boolean (Check if field is required or not)
                    "key": "customer_type",  // String (Unique key for the attribute)
                    "label": "Customer Type",  // String (Label for the attribute)
                    "valueType": "boolean",  // String (Boolean, YES/NO Question valueType)
                    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String (Optional Media File to be attached)
                    "attributeWeightage": null,  // Null or Number (Overall attributeWeightage will be null or 0 in case of boolean)
                    "attributeOptions": {
                        "enableCategory": false,  // Boolean
                        "enableStyle": true,  // Boolean (Assuming style can be enabled for boolean)
                        "reverseOrder": false,  // Boolean (If 'true' attributeData will be in reversed order)
                        "isMultipleChoice": false,  // Boolean (will be false in case of boolean)
                        "attributeData": [
                            {
                                "label": "Label Name",  // String
                                "values": [
                                    {
                                        "label": "Yes",  // String
                                        "value": true,  // Boolean
                                        "optionStyle": {
                                            "name": "Filled Smile",  // String
                                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                                            "type": "filled",  // String
                                            "color": null  // String
                                        },
                                        "optionWeightage": null  // Null or Number (weightage will be null or 0 in case of boolean)
                                    },
                                    {
                                        "label": "No",  // String
                                        "value": false,  // Boolean
                                        "optionStyle": {
                                            "name": "Filled Smile",  // String
                                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                                            "type": "filled",  // String
                                            "color": null  // String
                                        },
                                        "optionWeightage": null  // Null or Number (weightage will be null or 0 in case of boolean)
                                    }
                                ]
                            }
                        ]
                    }
                },
                
                // 5 Star Rating Type Question  (5-star-rating, Emoji-Filled)
                {
                    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                    "attributeType": "OPTIONS",  // String (Field type)
                    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                    "isRequired": true,  // Boolean (Check if field is required or not)
                    "key": "customer_type",  // String (Unique key for the attribute)
                    "label": "Customer Type",  // String (Label for the attribute)
                    "valueType": "rating",  // String (rating)
                    "ratingType": "star",  // String (Other options are: rating_bar, linear_scale, smiley_outline, smiley_filled)
                    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
                    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                    "attributeOptions": {
                        "enableCategory": false,  // Boolean (In case of Dropdown type question, category can be enabled)
                        "enableStyle": true,  // Boolean (Emojis can not be enabled for dropdown)
                        "reverseOrder": false,  // Boolean (Reverse Order can be 'true' in case of rating type question)
                        "isMultipleChoice": false,  // Boolean (will be false in case of dropdown)
                        "attributeData": [
                            {
                                "label": "Label Name",  // String
                                "values": [
                                    {
                                        "label": "Very Dissatisfied",  // String
                                        "value": 1,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                                            "type": "filled",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null (weightage can be null)
                                    },
                                    {
                                        "label": "Dissatisfied",  // String
                                        "value": 2,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                                            "type": "filled",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null (weightage can be null)
                                    },
                                    {
                                        "label": "Neutral",  // String
                                        "value": 3,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                                            "type": "filled",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null (weightage can be null)
                                    },
                                    {
                                        "label": "Satisfied",  // String
                                        "value": 4,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                                            "type": "filled",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null (weightage can be null)
                                    },
                                    {
                                        "label": "Very Satisfied",  // String
                                        "value": 5,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": "https://cx-frontend.expertflow.com/unified-admin/assets/images/form-assets/emoticon-filled-1.svg",  // String
                                            "type": "filled",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null (weightage can be null)
                                    }
                                ]
                            }
                        ]
                    }
                },
                
                // NPS Net Promoter Score Question Type
                {
                    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                    "attributeType": "OPTIONS",  // String (Field type)
                    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                    "isRequired": true,  // Boolean (Check if field is required or not)
                    "key": "customer_type",  // String (Unique key for the attribute)
                    "label": "Customer Type",  // String (Label for the attribute)
                    "valueType": "nps",  // String (Boolean, checkbox, mcq, dropdown, rating, nps)
                    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
                    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                    "attributeOptions": {
                        "enableCategory": false,  // Boolean
                        "enableStyle": false,  //Boolean
                        "reverseOrder": false, //Boolean
                        "isMultipleChoice": false,  // Boolean (Only true in case of checkboxes)
                        "attributeData": [
                            {
                                "label": "",  // String
                                "values": [
                                    {
                                        "label": "Very Dissatisfied",  // String
                                        "value": 0,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 1,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 2,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 3,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 4,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 5,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 6,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 7,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 8,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 9,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    },
                                    {
                                        "label": "",  // String
                                        "value": 10,  // Number
                                        "optionStyle": {  // Object
                                            "name": "Filled Smile",  // String
                                            "media": null,  // String
                                            "type": "nps",  // String
                                            "color": "#ffffff"  // String
                                        },
                                        "optionWeightage": null  // Null or Number
                                    }
                                ]
                            }
                        ]
                    }
                },
                // MCQ Multiple Choice Single Select
                {
                    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                    "attributeType": "OPTIONS",  // String (Field type)
                    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                    "isRequired": true,  // Boolean (Check if field is required or not)
                    "key": "customer_type",  // String (Unique key for the attribute)
                    "label": "Customer Type",  // String (Label for the attribute)
                    "valueType": "mcq",  // String (Multiple Choice, Single Select)
                    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
                    "attributeOptions": {
                        "enableCategory": false,  // Boolean (In case of MCQ type question, category can be enabled)
                        "enableStyle": false,  // Boolean (Emojis cannot be enabled for mcq)
                        "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of mcq type question)
                        "isMultipleChoice": false,  // Boolean (will be false in case of mcq)
                        "attributeData": [
                            {
                                "label": "Label Name",  // String
                                "values": [
                                    {
                                        "label": "One",  // String
                                        "value": null,  // Null (value is not specified for mcq options)
                                        "optionStyle": null,  // Null (optionStyle is not specified for mcq options)
                                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                    },
                                    {
                                        "label": "Two",  // String
                                        "value": null,  // Null (value is not specified for mcq options)
                                        "optionStyle": null,  // Null (optionStyle is not specified for mcq options)
                                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                    }
                                    // More objects can be added here
                                ]
                            }
                            // More objects will only be added in case of 'enableCategory' is 'true'
                        ]
                    }
                },
    
                //  Dropdown Type Question
                {
                    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                    "attributeType": "OPTIONS",  // String (Field type)
                    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                    "isRequired": true,  // Boolean (Check if field is required or not)
                    "key": "customer_type",  // String (Unique key for the attribute)
                    "label": "Customer Type",  // String (Label for the attribute)
                    "valueType": "dropdown",  // String (dropdown)
                    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
                    "attributeOptions": {
                        "enableCategory": false,  // Boolean (In case of Dropdown type question, category can be enabled)
                        "enableStyle": false,  // Boolean (Emojis cannot be enabled for dropdown)
                        "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of dropdown type question)
                        "isMultipleChoice": false,  // Boolean (will be false in case of dropdown)
                        "attributeData": [
                            {
                                "label": "Label Name",  // String
                                "values": [
                                    {
                                        "label": "One",  // String
                                        "value": null,  // Null (value is not specified for dropdown options)
                                        "optionStyle": null,  // Null (optionStyle is not specified for dropdown options)
                                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                    },
                                    {
                                        "label": "Two",  // String
                                        "value": null,  // Null (value is not specified for dropdown options)
                                        "optionStyle": null,  // Null (optionStyle is not specified for dropdown options)
                                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                    }
                                    // More objects can be added here
                                ]
                            }
                        ]
                    }
                },   
                {
                 // All possible attributes of the type INPUT
                },
                {
                 // TEXTAREA
                },
              ]
            }
          ]

}

WRAPUP

Wrap-up Type Form
CODE
{
    "id": "65b248c710e57100322c5f88",
    "formType": "Wrap-up",
    "formTitle": "Wrap Up Form Testing",
    "formDescription": "",
    "enableSections": true,
    "enableWeightage": true,
    "section": 
      [
        {
          "sectionName": "Section Name",
          "sectionKey": "section_name",
          "sectionWeightage": 100,
          "attributes": 
            [
              // Checkboxes Type Question with Categories enabled
               {
                  "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                  "attributeType": "OPTIONS",  // String (Field type)
                  "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                  "isRequired": true,  // Boolean (Check if field is required or not)
                  "key": "customer_type",  // String (Unique key for the attribute)
                  "label": "Customer Type",  // String (Label for the attribute)
                  "valueType": "checkbox",  // String (checkbox)
                  "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                  "attributeWeightage": null,  // Null or Number (Overall attributeWeightage for the question type checkboxes will be 'null' or 0)
                  "attributeOptions": {
                      "enableCategory": false,  // Boolean (In case of checkbox type question, category can be enabled)
                      "enableStyle": false,  // Boolean (Emojis cannot be enabled for checkbox)
                      "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of checkbox type question)
                      "isMultipleChoice": true,  // Boolean (will be true in case of checkbox)
                      "attributeData": [
                          {
                              "label": "Label Name",  // String
                              "values": [ 
                                  {
                                      "label": "One",  // String
                                      "value": null,  // Null (value is not specified for checkbox options)
                                      "optionStyle": null,  // Null (emoji is not specified for checkbox options)
                                      "optionWeightage": null  // Null or Number (weightage for checkbox options)
                                  },
                                  {
                                      "label": "Two",  // String
                                      "value": null,  // Null (value is not specified for checkbox options)
                                      "optionStyle": null,  // Null (emoji is not specified for checkbox options)
                                      "optionWeightage": null  // Null or Number (weightage for checkbox options)
                                  }
                                  // More objects can be added here
                              ]
                          }
                          // More objects will only be added in case 'enableCategory' is 'true'
                      ]
                  }
              },   
            ]
        }
     ]
}

PRE-CONVERSATION

Pre-conversation Type Form
CODE
{
    "id": "65b248c710e57100322c5f88",
    "formType": "Pre-conversation",
    "formTitle": "Pre-Chat Form Testing",
    "formDescription": "",
    "enableSections": true,
    "enableWeightage": false,
    "section": 
          [
            {
              "sectionName": "Section Name",
              "sectionKey": "section_name",
              "sectionWeightage": null, or 0 because in case of survey weightage is disabled
              "attributes": 
              [
                // MCQ Multiple Choice Single Select
                {
                    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                    "attributeType": "OPTIONS",  // String (Field type)
                    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                    "isRequired": true,  // Boolean (Check if field is required or not)
                    "key": "customer_type",  // String (Unique key for the attribute)
                    "label": "Customer Type",  // String (Label for the attribute)
                    "valueType": "mcq",  // String (Multiple Choice, Single Select)
                    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
                    "attributeOptions": {
                        "enableCategory": false,  // Boolean (In case of MCQ type question, category can be enabled)
                        "enableStyle": false,  // Boolean (Emojis cannot be enabled for mcq)
                        "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of mcq type question)
                        "isMultipleChoice": false,  // Boolean (will be false in case of mcq)
                        "attributeData": [
                            {
                                "label": "Label Name",  // String
                                "values": [
                                    {
                                        "label": "One",  // String
                                        "value": null,  // Null (value is not specified for mcq options)
                                        "optionStyle": null,  // Null (optionStyle is not specified for mcq options)
                                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                    },
                                    {
                                        "label": "Two",  // String
                                        "value": null,  // Null (value is not specified for mcq options)
                                        "optionStyle": null,  // Null (optionStyle is not specified for mcq options)
                                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                    }
                                    // More objects can be added here
                                ]
                            }
                            // More objects will only be added in case of 'enableCategory' is 'true'
                        ]
                    }
                },
    
                //  Dropdown Type Question
                {
                    "_id": "65dc26ba07c232003325b8bf",  // String (ObjectId)
                    "attributeType": "OPTIONS",  // String (Field type)
                    "helpText": "Enter Customer Type Here...",  // String (Placeholder of field)
                    "isRequired": true,  // Boolean (Check if field is required or not)
                    "key": "customer_type",  // String (Unique key for the attribute)
                    "label": "Customer Type",  // String (Label for the attribute)
                    "valueType": "dropdown",  // String (dropdown)
                    "attributeAttachment": "https://file-server.expertflow.com/xyz",  // String or Null (Optional Media File to be attached otherwise "null")
                    "attributeWeightage": 10,  // Number (Overall attributeWeightage for the question)
                    "attributeOptions": {
                        "enableCategory": false,  // Boolean (In case of Dropdown type question, category can be enabled)
                        "enableStyle": false,  // Boolean (Emojis cannot be enabled for dropdown)
                        "reverseOrder": false,  // Boolean (Reverse Order cannot be 'true' in case of dropdown type question)
                        "isMultipleChoice": false,  // Boolean (will be false in case of dropdown)
                        "attributeData": [
                            {
                                "label": "Label Name",  // String
                                "values": [
                                    {
                                        "label": "One",  // String
                                        "value": null,  // Null (value is not specified for dropdown options)
                                        "optionStyle": null,  // Null (optionStyle is not specified for dropdown options)
                                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                    },
                                    {
                                        "label": "Two",  // String
                                        "value": null,  // Null (value is not specified for dropdown options)
                                        "optionStyle": null,  // Null (optionStyle is not specified for dropdown options)
                                        "optionWeightage": 10  // Number (weightage can be enabled in case of mcq)
                                    }
                                    // More objects can be added here
                                ]
                            }
                        ]
                    }
                },   
                {
                 // All possible attributes of the type INPUT
                },
                {
                 // TEXTAREA
                },
              ]
            }
          ]

}

GENERIC

Generic Type Form
CODE
{
    "id": "65b248c710e57100322c5f88",
    "formType": "Generic",
    "formTitle": "Generic Form Testing",
    "formDescription": "",
    "enableSections": true,
    "enableWeightage": false,
    "section": 
      [
        {
          "sectionName": "Section Name",
          "sectionKey": "section_name",
          "sectionWeightage": 100,
          "attributes": 
            [
              // ALL INPUT AND TEXTAREA AND OPTIONS TYPE QUESTIONS LEGAL in this type of FORM
            ]
        }
     ]
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.