Enables business administrators to create, manage, and utilize multiple forms, introducing new question types, sections, and weightage to enhance the user experience and data collection capabilities.
Type Forms are deprecated
There will be no form types from now onward in the form builder. A form that is created will have no specific type and can be used in any case (pre-chat, survey, quality management). The new UI is here Form Builder UI
Key Features
Question Types
INPUT
alphaNumeric (Alpha Numeric Character)
alphaNumericSpecial (Alpha Numeric Special Character)
email (Email)
number (Number)
phoneNumber (Phone 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
mcqs (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 adding multiple sections
Weightage
Questionnaire weightage formula being used on section to question level =>, for example, if 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)
Allow businesses to set weightage from form level to question’s option level.
Weightage values range from 0% to 100%
Weightage only applies to Multiple Choices (MCQs) and Dropdown (dropdown) type questions.
Prompts with questions
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.
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
Questions Types
Detailed schema for all possible question types in a form with screenshots.
Value Type (Question)
Attribute Type (HTML)
Question Schema
Question Screenshots
alphaNumeric
alphaNumericSpecial
email
number
phoneNumber
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)
}
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)
}
}
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)
}
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)
}
]
}
]
}
}
Boolean Type Questions with/without emoji enable
mcqs (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, // It may be Null or Object with keys value null in it
"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, // It may be Null or Object with keys value null in it
"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'
]
}
}
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, // It may be Null or Object with keys value null in it
"optionWeightage": null // Null or Number (weightage for checkbox options)
},
{
"label": "Two", // String
"value": null, // Null (value is not specified for checkbox options)
"optionStyle": null, // It may be Null or Object with keys value null in it
"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'
]
}
}
Checkboxes Type Question with Category Enabled
dropdown (Multiple Choice → 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, // It may be Null or Object with keys value null in it
"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, // It may be Null or Object with keys value null in it
"optionWeightage": 10 // Number (weightage can be enabled in case of mcq)
}
// More objects can be added here
]
}
]
}
}
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": "5-star-rating", // String (5-star-rating)
"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)
}
]
}
]
}
}