For Administrators & Creators: This documentation is for users who design and create form templates. If you just need to send forms to contacts, see Forms.
Understanding Form Templates
A Form Template is the blueprint for your forms. It defines:- Form structure: Steps, fields, and validation
- Portal experience: Welcome page, form pages, confirmation page
- Notifications: Invitations, reminders, completion emails
- Automations: Actions triggered when forms are submitted
- Appearance: Branding, layout, and styling
- Behavior: Conditional logic, calculations, integrations
Template Versioning
Form Templates support versioning, which allows you to iterate on designs while keeping existing forms stable.How Versioning Works
- Create a template - Starts as version 1
- Make changes - Edit in draft mode
- Publish version - Lock this version for use
- Create new version - Continue iterating
- Publish when ready - New forms use latest published version
Version Properties
- Version number: Auto-incremented integer (1, 2, 3…)
- Published status: Published versions can be used in Form Presets
- Deprecated status: Mark old versions as deprecated
- Active version: Form Presets link to latest published version by default
Existing forms always use the version they were created with. Publishing a new version doesn’t change existing forms - only newly created forms use the new version.
Template Structure
Basic Information
| Field | Description | Required |
|---|---|---|
| Name | Template identifier (max 64 chars) | Yes |
| Slug | URL-friendly identifier | Auto-generated |
| Version | Version number | Auto |
| Locale | Default language (2-char code) | Yes |
| Description | What this template is for (max 1000 chars) | No |
Multi-Language Support
Templates support multiple languages through thelocales and strings configuration:
Locales Array
Portal Pages
Form templates include three main portal pages that contacts see:1. Welcome Page
The first page contacts see when opening the form. Configuration options:- Header image
- Title text
- Welcome message (HTML supported)
- Start button text
- Help button and text
- Privacy policy link
2. Submit (Review) Page
Shown after all form steps are completed, before final submission. Configuration options:- Images for valid/invalid states
- Titles for valid/invalid states
- Messages and instructions
- Button text
- Confirmation message
3. Ending Page
Shown after successful form submission. Configuration options:- Confirmation image
- Thank you title
- Closing message
- UX rating widget (optional)
- Redirect URL (optional - redirect after N seconds)
Form Steps
The core of your template is the form itself, composed of steps and elements.Creating Steps
Each step is a page in the form. Steps contain elements (fields) that collect data. Step structure:- id: Unique identifier (required)
- label: Step name shown to users
- enable: Show/hide the step (can use conditional logic)
- elements: Array of form elements
Conditional Steps
Use JSON expressions to show/hide steps based on data:Form Elements
Elements are the building blocks of your form - the actual input fields and content.Element Structure
Common Element Properties
| Property | Description | Required |
|---|---|---|
| id | Unique identifier within step | Auto (from key or type) |
| key | Data storage key | Recommended |
| type | Element type | Yes |
| title | Label shown to user | No |
| required | Must be filled | No (default: false) |
| help | Help text | No |
| placeholder | Placeholder text | No |
Element Types
Visual Elements
Visual Elements
No data collection - for display only
- card: Content card with title and text
- image: Display an image
- paragraph: Text content block
Text Input
Text Input
Type: Options:
textSingle-line or multi-line text input.multiline: Enable textarearows: Number of rows (for textarea)maxlength: Character limitpattern: Regex validation
Checkbox
Checkbox
Type:
checkboxSingle checkbox for yes/no or agreement.Multiple Checkboxes
Multiple Checkboxes
Type:
checkboxesMultiple options with checkboxes.Radio Buttons / Dropdown
Radio Buttons / Dropdown
Date & DateTime
Date & DateTime
Type:
date or datetimeDate picker for selecting dates.File Upload
File Upload
Type: Options:
fileFile upload field.accept: Allowed file typesmultiple: Allow multiple filesmaxFiles: Maximum number of filesmaxSize: Maximum file size in bytes
Rating
Rating
Type:
ratingStar or numeric rating input.Toggle
Toggle
Type:
toggleSwitch/toggle input.Hidden Field
Hidden Field
Submit Button
Submit Button
Conditional Elements
Show/hide elements based on other field values:Variables
Variables allow you to define global values, static or computed, accessible throughout the form.Defining Variables
Object format (no dependencies):Using Variables
Reference variables anywhere in the form using{variable_name}:
Automations
Automations are actions that trigger automatically based on form events.Automation Structure
Automation Triggers
Available event triggers:responses:created- Form response is created (draft)responses:updated- Form response is updatedresponses:completed- Form is completed/submittedresponses:declined- Form is declinedrequests:expired- Form expires without completionmanual- Triggered manually by team member
Automation Actions
- Email
- SMS
- Webhook
Send an email.Available in email content:
- Form data:
{data.field_key} - User info:
{user.email},{user.given_name}, etc. - Form reference:
{reference} - Variables:
{variable_name}
Automation Delays
Add delays before triggering automations:Notifications
Notifications are emails sent to contacts about the form itself (not from automations).Notification Types
To Contact:- Invitations: When form is sent
- Reminders: If form not completed
- Confirmation: When form is submitted
- On submission: Notify team when form completed
- On bounce: Notify if email bounces
Notification Configuration
Invitation Template
Configure the invitation email template:Publishing Templates
Publish Process
- Create and test your template
- Validate all steps and elements work correctly
- Set published: true
- Template version is locked
- Can now be used in Form Presets
Template Validation
Before publishing, ensure:- All steps have submit buttons or auto-submit elements
- Required fields are clearly marked
- Conditional logic works as expected
- All images and assets load
- Multi-language strings are complete (if using)
- Automations are correctly configured
- Test submission works end-to-end
Best Practices
Design mobile-first
Design mobile-first
Most contacts will complete forms on mobile devices. Test your forms on small screens and ensure they’re easy to use.
Keep forms short
Keep forms short
Only ask for information you truly need. Each additional field decreases completion rates.
Use multi-step wisely
Use multi-step wisely
Break long forms into logical steps, but don’t create too many steps. 3-5 steps is usually optimal.
Provide clear help text
Provide clear help text
Use the help property to explain what you need. Especially important for complex or uncommon fields.
Test before publishing
Test before publishing
Always test the complete form flow before publishing. Submit test data and verify automations work.
Use conditional logic
Use conditional logic
Only show fields that are relevant. This keeps forms clean and improves completion rates.
Set up confirmations
Set up confirmations
Always send a confirmation when forms are completed. This builds trust and provides a receipt.
Version thoughtfully
Version thoughtfully
Don’t create new versions for small changes. Batch changes together to avoid version sprawl.