Form Builder
The form builder lets you visually design the intake form that data subjects see when they submit a privacy request — no JSON editing required. You can add fields, configure their properties, set up conditional visibility rules, reorder fields with drag-and-drop, and preview the form as the end user will see it.
For the equivalent JSON-based approach, see Configuration.
Accessing the form builder
- Navigate to Properties in the Admin UI sidebar.
- Select the property you want to configure.
- Under the privacy request action, click Edit form.
The form builder opens in a three-panel layout:
- Left panel — AI assistant that can help generate or modify your form.
- Center panel — Form canvas showing all fields. This is where you add, reorder, and preview fields.
- Right panel — Properties panel for configuring the currently selected field.
Adding fields
Click the Add field button above the form canvas. Fields are organized into two categories:
Identity fields
Identity fields collect standard identifying information and map directly to the privacy request's identity inputs:
| Field | Maps to |
|---|---|
| Name | identity_inputs.name |
identity_inputs.email | |
| Phone | identity_inputs.phone |
Each identity field can only be added once. Once added, you can configure whether the field is required or optional.
Custom fields
Custom fields collect additional information specific to your use case. The following field types are available:
| Field type | Description |
|---|---|
| Text | Single-line free-text input. |
| Select | Single-choice dropdown. |
| Multi-Select | Multi-choice dropdown allowing multiple selections. |
| Radio | Radio button group showing all options at once. |
| Location | Country/region picker using ISO 3166 codes. |
| Date | Date picker in ISO 8601 (YYYY-MM-DD) format. |
| File Upload | File attachment with size and type constraints. |
Configuring field properties
Select a field in the canvas to open its properties in the right panel. The available settings depend on the field type.
Common properties
All fields support:
| Property | Description |
|---|---|
| Label | Display text shown to the data subject. |
| Required | Whether the field must be filled before submitting. |
| Placeholder | Hint text shown inside the empty input. |
Text field properties
| Property | Description |
|---|---|
| Default value | Pre-filled value. |
| Hidden | If enabled, the field is not shown to the user but its default value is still submitted. Useful with Query param key for passing values via URL. |
| Query param key | URL query parameter name used to pre-populate the field when the Privacy Center is opened via a deep link. |
Select, Multi-Select, and Radio properties
| Property | Description |
|---|---|
| Options | The list of choices available to the data subject. Use the options editor to add, remove, and reorder items. |
| Default value | Pre-selected option(s). |
Location properties
| Property | Description |
|---|---|
| IP geolocation hint | When enabled, pre-fills the field based on the user's IP address. |
Date properties
| Property | Description |
|---|---|
| Min | Earliest selectable date (YYYY-MM-DD). |
| Max | Latest selectable date (YYYY-MM-DD). |
File Upload properties
| Property | Description |
|---|---|
| Max file size | Maximum upload size in bytes. Defaults to 10 MB (10,485,760 bytes). |
| Allowed file types | Accepted file extensions (e.g., pdf, jpg, png). See Attachments for the full list of supported types. |
Reordering fields
Drag and drop fields in the canvas to change their display order. The order you set here is the order data subjects will see when filling out the form.
Conditional visibility
You can configure fields to appear only when certain conditions are met — for example, showing a "Tell us more" text area only when a specific option is selected.
To add a visibility condition:
- Select the field you want to conditionally show.
- In the properties panel, find the Visibility section.
- Add one or more conditions using:
| Setting | Description |
|---|---|
| Source field | The field whose value is evaluated. |
| Operator | The comparison to perform. |
| Value | The value to compare against (not required for all operators). |
Supported operators
| Operator | Meaning |
|---|---|
| Equals | Source field value equals the specified value. |
| Does not equal | Source field value does not equal the specified value. |
| Contains | Source field value contains the specified string. |
| Is set | Source field has been filled in. |
| Is empty | Source field has not been filled in. |
You can add multiple conditions to a single field. When multiple conditions are present, the field is shown only when all conditions are met.
For the JSON-based equivalent, see Conditional Display and Validation.
Edit vs. Preview mode
The form canvas has two modes:
- Edit mode (default) — All fields are displayed regardless of visibility conditions. You can select, configure, and reorder fields.
- Preview mode — Shows the form exactly as the end user will see it, with visibility conditions active. Fields are hidden or shown based on the values you enter in the preview.
Use Preview mode to verify that your conditional visibility rules work as expected before saving.
Saving the form
Click Save to persist your changes. The form builder validates your configuration before saving:
- No duplicate field names — each field must have a unique identifier.
- At least one identity field — the form must include at least one identity field (e.g., Email).
- At least one required identity field — at least one identity field must be marked as required.
When saved, the form builder writes the configuration to the property's underlying custom_privacy_request_fields JSON, identity_inputs, and field_order settings. Changes are reflected immediately in the Privacy Center for that property.
Some advanced configuration options — such as hidden fields with default_value and query_param_key — are also available through the form builder. For the full set of JSON attributes, see Configuration.
Field type mapping
If you work with both the form builder and JSON configuration, the table below maps between the two:
| Form Builder | config.json field_type | Notes |
|---|---|---|
| Text | text | |
| Select | select | |
| Multi-Select | multiselect | |
| Radio | radio | Radio button group showing all options at once. |
| Location | location | Country/region picker using ISO 3166 codes. |
| Date | date | Date picker in ISO 8601 (YYYY-MM-DD) format. |
| File Upload | file | See Attachments for upload configuration. |