Skip to content

YAML Schemas

Aliveforms provides the YAML schema that empowers you to use GPT Chatbot tools seamlessly. You can provide this YAML schema to GPT chatbots like ChatGPT, etc and get form code generated with very less effort.


YAML Schema is deprecated. Use JSON Schemas instead Read JSON Schemas of Aliveforms

After conducting a survey on LinkedIn, we found that JSON is more popular that YAML. We have decided to make JSON the priority. The steps are basically the same, Just YAML is replaced with JSON. With JSON Schemas, It is easier to debug JSON with JSON Schemas. Read JSON Schemas of Aliveforms


YAML (YAML Ain't Markup Language) is a human-readable data serialization format that stands out for its simplicity and ease of use. YAML is designed to be easily readable by both humans and machines, making it an excellent choice for configuring forms without the need for complex syntax.

A Basic Primer for Form Types

In Aliveforms, there are 5 base types for forms

  • Polls Single screen/quiz forms with multiple choice question.
  • Generic Muli-screen forms.
  • Score Calculation Multi-screen forms with support for assigning scores to certain type for screens.
  • Ranked Quizzes Score calculation form but scoreboard is shown at end.
  • Analytical Calculation - Weight Based Multi-screen forms with support for assigning weight to options.

Based upon type for form, different entries of yaml template will be used. To copy very specific template for chatbot, Open Alivebot in form editor and click on Prompt button to copy on clipboard.

Complete YAML Schema

This is the complete schema before being deprecated.

- question: string
type: string [Information Screen|Multiple Choice|Dropdown List|Text Input|Rating|File Upload|NPS|Address|Contact
Information|Compound Inputs|Dynamic List Input|Matrix Input]
photo: string
collect: boolean [If Type is not Information Screen]
required: boolean [If Type is not Information Screen]
input type: string [If Type is Text Input or File Upload] [Any Text|Multiline Text|Date|DateTime|Email|Number|Month|Week|Password|Person
Name|Phone|Time|Url|Custom Regex]
screen title layout: string [Row|Column|Stack]
options layout: string [If Type is Multiple Choice] [Row|Column]
screen layout: string [Row|Column]
timer: boolean [If question index is not 0]
next screen: number
- correct: boolean
next question: number [-1 means no chance]
photo: string
option: string
weight: number
answerable question: boolean [If Form Type is 'Score Calculation' or 'Ranked Quiz' and Type is Text Input]
correct answer: string [If Form Type is 'Score Calculation' or 'Ranked Quiz' and Type is Text Input]
backable: boolean
change next screen: boolean
disable next button: boolean
make submit screen: boolean
invalid input message: string
input regex: string [If Type is Text Input]
multiple: boolean [Form Type is not 'Poll' and Type is Multiple Choice]
as button: boolean [If Type is Multiple Choice]
allow multiple uploads: boolean [If Type is File Upload]
previous screen index: number [-1 means no change]
score: number
maximum items: number
minimum items: number
require line 1: boolean
require line 2: boolean
require city: boolean
require region: boolean
require zip code: boolean
require country: boolean
require first name: boolean
require last name: boolean
require phone number: boolean
require email: boolean
- option: string
required: boolean
input type: string
require address line 1: boolean
require address line 2: boolean
require state: boolean
require zip: boolean
require email: boolean
- option: string
- option: string