Add question
Add one question of any field type to a form.
MCP tool fillout_write → add_question
write
Adds a question to a page of a form and returns its ID. Use it for fields that need more than a label, such as a signature, a file upload or a rating. Choice types take options. The change reaches respondents only after publish_form. This call is undone by update_question or by restoring an earlier version from the editor's edit history, so it runs without asking first.
Parameters
| Name | Type | Description |
|---|---|---|
| form_id string required | string | Form ID from list_forms. |
| label string required | string | The question text. |
| type enum required | enum | Field type: Address, AudioRecording, Calcom, Calendly, Captcha, Checkbox, Checkboxes, ColorPicker, CurrencyInput, DatePicker, DateRange, DateTimePicker, Dropdown, EmailInput, FileUpload, ImagePicker, LocationCoordinates, LongAnswer, Matrix, MultiSelect, MultipleChoice, NumberInput, OpinionScale, Password, Payment, PhoneNumber, Ranking, RecordPicker, ShortAnswer, Signature, Slider, StarRating, Subform, SubmissionPicker, Switch, Table, TimePicker or URLInput. |
| options array | array | Answer options, for Dropdown, MultipleChoice, Checkboxes and similar types. |
| required boolean | boolean | Make the question required. Default: false. |
| page string | string | Name of the form page to add it to. Default: the last form page. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "fillout_write",
"arguments": {
"operation": "add_question",
"arguments": {
"form_id": "form_8c41d2",
"label": "label",
"type": "Field type: Address"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"form_id": "fpj3Kd9xQw2L",
"question": {
"id": "q_rating",
"name": "How was the session?",
"type": "StarRating",
"required": false
}
},
"isError": false
}