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
| Control | Description |
|---|---|
| Text Input | Single-line text entry for short values like names, emails, and titles |
| Text Area | Multi-line text entry with configurable height, ideal for descriptions, comments, and longer responses |
| Number Input | Numeric entry with optional minimum and maximum limits to constrain the range of accepted values |
| Select | Dropdown menu with predefined options — users pick one value from a list you define |
| Checkbox | A yes/no toggle for consent fields, opt-ins, and simple true/false questions |
| Switch | An on/off toggle — a visual alternative to the checkbox that works well for settings and preferences |
| Date Picker | Calendar-based date selection so users can pick a date from a visual calendar |
| Tag Input | Enter multiple values as tags — useful for skills, categories, keywords, or any list of items |
| Radio Group | Choose one option from a visible list of choices — all options are displayed at once, unlike a dropdown |
| Color Picker | Select a color value using a visual color chooser |
| Image Upload | Upload and preview an image file — shows a thumbnail of the selected image before submission |
| File Upload | Upload any file type — you can restrict which file formats are accepted (e.g., only PDFs) |
| GraphQL Select | A 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 Select | A dropdown that loads its options from a custom script endpoint, with support for search-as-you-type filtering |
| Work Ops Select | Choose Work Ops entities such as projects, task types, priorities, and statuses — used in Work Ops forms for task creation |
| Profile Select | Choose 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.
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.