Controls

16 input types from simple text fields to dynamic data-driven selects.

What Are Controls?

Controls are the input widgets you use to build your forms. Each control is a specific type of input — a text box, a dropdown menu, a date picker, a file upload, and so on. When you add a field to your form in the form builder, you choose which control to use for that field.

Bosca includes 16 built-in controls that cover the most common form input needs. You can also mix and match them freely — a single form can use any combination of controls.

All 16 Controls

ControlDescription
Text InputSingle-line text entry for short values like names, emails, and titles
Text AreaMulti-line text entry with configurable height, ideal for descriptions, comments, and longer responses
Number InputNumeric entry with optional minimum and maximum limits to constrain the range of accepted values
SelectDropdown menu with predefined options — users pick one value from a list you define
CheckboxA yes/no toggle for consent fields, opt-ins, and simple true/false questions
SwitchAn on/off toggle — a visual alternative to the checkbox that works well for settings and preferences
Date PickerCalendar-based date selection so users can pick a date from a visual calendar
Tag InputEnter multiple values as tags — useful for skills, categories, keywords, or any list of items
Radio GroupChoose one option from a visible list of choices — all options are displayed at once, unlike a dropdown
Color PickerSelect a color value using a visual color chooser
Image UploadUpload and preview an image file — shows a thumbnail of the selected image before submission
File UploadUpload any file type — you can restrict which file formats are accepted (e.g., only PDFs)
GraphQL SelectA dropdown that loads its options dynamically from your platform's data — for example, a list of categories, content items, or users that always reflects the current state
API Script SelectA dropdown that loads its options from a custom script endpoint, with support for search-as-you-type filtering
Work Ops SelectChoose Work Ops entities such as projects, task types, priorities, and statuses — used in Work Ops forms for task creation
Profile SelectChoose a user profile with search-as-you-type lookup — useful for assigning tasks or selecting contacts

Choosing the Right Control

Most fields have a natural control choice. Here are some guidelines:

  • For short text (names, emails, titles) — use Text Input
  • For longer text (descriptions, comments) — use Text Area
  • For choosing from a short list (3-5 options) — use Radio Group so all options are visible
  • For choosing from a longer list (6+ options) — use Select to save space with a dropdown
  • For yes/no questions — use Checkbox or Switch
  • For dates — use Date Picker to ensure consistent date formatting
  • For multiple values — use Tag Input so users can add as many items as needed

Dynamic Controls

Most controls use a fixed list of options that you define when building the form. However, two controls load their options dynamically from live data:

  • GraphQL Select — Pulls options directly from your platform's data. If you add a new category or content item to your system, it automatically appears in the dropdown without any form changes. This ensures the form always offers up-to-date choices.
  • API Script Select — Pulls options from a custom endpoint. This is useful when you need options from an external system or want custom logic to determine what appears in the dropdown.

Both dynamic controls support search-as-you-type, so users can quickly find the option they need even in large lists.

Use dynamic controls whenever your options might change over time. For example, a "Select a project" dropdown should use Work Ops Select or GraphQL Select so new projects appear automatically — rather than maintaining a static list that needs manual updates.

Custom Controls

Beyond the 16 built-in controls, your development team can create additional custom controls tailored to your specific needs. Custom controls appear alongside the built-in ones in the form builder once they are registered with the platform. Contact your development team if you need a specialized input type that is not covered by the built-in controls.

For how to configure validation rules on your controls, see Validation. For how to add controls to your form layout, see the Builder page.