Form Editor
Visual dashboard editor for building and previewing custom signup forms without code.
The Authsome Dashboard includes a visual form editor that lets non-technical users create, modify, and preview custom signup forms. The editor produces FormConfig records (see Custom Schemas) and publishes them to the Authsome engine.
Overview
The form editor provides a drag-and-drop interface for building signup forms. It is available in the Authsome Dashboard under Settings > Forms for each application. The editor consists of three panels:
- Field palette — available field types that can be added to the form
- Form canvas — the current form layout with fields in display order
- Properties panel — configuration for the selected field (label, validation, options)
Adding fields
To add a field to the form:
- Click a field type in the palette (text, email, select, checkbox, etc.)
- The field appears at the bottom of the form canvas
- Click the field to configure it in the properties panel
- Set the field's key, label, placeholder, and validation rules
Field properties
When a field is selected, the properties panel shows:
| Property | Description | Required |
|---|---|---|
| Key | The metadata key used to store the value in User.Metadata | Yes |
| Label | Display text shown above the input | Yes |
| Placeholder | Hint text inside the input | No |
| Description | Helper text shown below the input | No |
| Default value | Pre-filled value for the field | No |
| Required | Whether the field must be filled | No |
| Min length | Minimum text length | No |
| Max length | Maximum text length | No |
| Pattern | Regex validation pattern | No |
For select, radio, and checkbox fields, an additional Options section lets you add, remove, and reorder choices:
Options:
+ Engineering → engineering
+ Marketing → marketing
+ Sales → sales
[Add option]Each option has a display label and a stored value.
Removing fields
To remove a field:
- Hover over the field on the canvas
- Click the trash icon that appears
- Confirm the deletion
Removing a field from the form does not delete existing user metadata that was collected with that field. Historical data remains in User.Metadata.
Reordering fields
Fields can be reordered by dragging them on the form canvas. The Order value on each FormField is automatically updated to match the visual order. Fields are displayed to users in ascending order.
Preview
The editor includes a live preview panel that renders the form exactly as users will see it during signup. The preview:
- Applies the current branding configuration (logo, colors, fonts)
- Shows all fields with their labels, placeholders, and help text
- Reflects validation indicators (required markers, character limits)
- Updates in real-time as you make changes
Preview modes
| Mode | Description |
|---|---|
| Desktop | Full-width form layout |
| Tablet | Medium-width responsive layout |
| Mobile | Narrow-width mobile layout |
Switch between modes using the device icons in the preview toolbar.
Publishing changes
Form changes are not applied immediately. The editor works on a draft that must be published:
Edit: Make changes to fields, validation rules, or ordering. Changes are saved as a draft automatically.
Preview: Review the form in the preview panel. Test different viewport sizes.
Publish: Click "Publish" to create a new active FormConfig version. The previous version is deactivated and the new version becomes the active form for signups.
Publishing creates a new FormConfig with an incremented Version number. The previous active config remains in the database (deactivated) for audit purposes and can be restored if needed.
Reverting to a previous version
To revert to a previous form version:
- Navigate to Settings > Forms > Version History
- Select the version you want to restore
- Click "Restore this version"
- The selected version is cloned and published as a new active version
Integration with UI components
The form editor generates FormConfig records that the Authsome UI consumes to render signup forms. The UI components:
- Fetch the active FormConfig via
GET /v1/auth/forms/active - Render each
FormFieldusing the appropriate input component based onType - Apply client-side validation rules from the
Validationobject - Submit metadata values alongside the standard signup fields
React component usage
If you are using the Authsome UI React components:
import { AuthForm } from "@authsome/ui";
function SignupPage() {
return (
<AuthForm
appId="myapp"
formType="signup"
onSuccess={(result) => {
// result.user, result.sessionToken
router.push("/dashboard");
}}
/>
);
}The AuthForm component automatically fetches the active form configuration, renders the custom fields, applies branding, and handles submission.
Custom rendering
If you need full control over form rendering, fetch the config and render manually:
import { useFormConfig } from "@authsome/ui";
function CustomSignupForm() {
const { config, loading } = useFormConfig("myapp", "signup");
if (loading) return <Spinner />;
return (
<form onSubmit={handleSubmit}>
{/* Standard fields */}
<input name="email" type="email" required />
<input name="password" type="password" required />
{/* Dynamic custom fields */}
{config.fields.map((field) => (
<DynamicField key={field.key} field={field} />
))}
<button type="submit">Sign Up</button>
</form>
);
}Dashboard access
The form editor is available to users with the admin role for the application. Organization owners and admins can edit forms for their organization's apps.
| Permission | Action |
|---|---|
forms:read | View form configurations |
forms:write | Create and update form configurations |
forms:publish | Publish form changes (make active) |
forms:delete | Delete form configurations |