Forms Documentation
Complete guide to creating, managing, and using forms in ContactList.
Overview
Forms in ContactList allow you to collect data from users through a customizable interface. You can create forms with drag-and-drop, add various field types, set up conditional logic, and automatically sync submissions to email lists.
Key Features
- Visual Form Builder: Drag-and-drop interface for easy form creation
- 15+ Field Types: Text, email, number, file upload, and more
- Conditional Logic: Show/hide fields based on user responses
- Multi-Step Forms: Break long forms into manageable steps
- File Uploads: Accept file attachments with validation
- Real-Time Submissions: View submissions as they come in
- Email Notifications: Get notified when forms are submitted
- Form Embedding: Embed forms anywhere on your website
- Auto-Sync to Lists: Automatically add submissions to email lists
Creating Forms
Step 1: Access the Form Builder
- Navigate to Forms in the sidebar
- Click the "Create Form" button (top right)
- You'll be taken to the form builder
Step 2: Set Basic Information
- Form Title: Enter a descriptive name (e.g., "Contact Form", "Newsletter Signup")
- Description: Optional description for internal reference
- Notification Email: Email address where you'll receive submission notifications
- Defaults to your account email
- You can disable email notifications if desired
Step 3: Add Fields
The form builder has three main areas:
- Left Sidebar: Field library - drag fields from here
- Center Canvas: Your form preview - drop fields here
- Right Panel: Field properties - configure selected fields
To add a field:
- Find the field type in the left sidebar
- Drag it onto the canvas
- Or click the field type to add it at the bottom
To configure a field:
- Click the field on the canvas to select it
- Use the right panel to configure:
- Label
- Placeholder text
- Required status
- Validation rules
- Options (for select/radio fields)
To reorder fields:
- Drag fields up or down on the canvas
- Or use arrow buttons in the properties panel
Step 4: Save Your Form
- Click "Save" button (top right)
- Choose form status:
- Draft: Not visible to users, still editing
- Active: Live and accepting submissions
- Archived: Hidden from main list, data preserved
Field Types
Text Fields
Text
- Use Case: Single-line text input
- Examples: Name, Company, Address
- Properties: Label, placeholder, required, min/max length, pattern validation
- Use Case: Email address input
- Examples: Email, Contact Email
- Properties: Automatic email validation, required
- Auto-Sync: Can automatically sync to email lists
Number
- Use Case: Numeric input
- Examples: Age, Quantity, Price
- Properties: Min/max value, decimal places
Phone
- Use Case: Phone number input
- Examples: Phone, Mobile, Work Phone
- Properties: Format validation, required
URL
- Use Case: Website URL input
- Examples: Website, Portfolio URL
- Properties: URL format validation
Multi-Line Fields
Textarea
- Use Case: Multi-line text input
- Examples: Message, Comments, Description
- Properties: Min/max length, rows (height)
Rich Text
- Use Case: Formatted text input with toolbar
- Examples: Detailed feedback, formatted content
- Properties: Toolbar options, allow images
Selection Fields
Select (Dropdown)
- Use Case: Single choice from multiple options
- Examples: Country, Category, Priority
- Properties: Options list, default value, required
Radio
- Use Case: Single choice with visible options
- Examples: Gender, Rating, Plan Selection
- Properties: Options list, required
Checkbox
- Use Case: Single checkbox (yes/no)
- Examples: "I agree to terms", "Subscribe to newsletter"
- Properties: Checked by default, required
Date & Time Fields
Date
- Use Case: Date selection
- Examples: Birth Date, Event Date, Deadline
- Properties: Min/max date, date format
Time
- Use Case: Time selection
- Examples: Preferred Time, Meeting Time
- Properties: Time format (12/24 hour)
DateTime
- Use Case: Date and time selection
- Examples: Appointment, Event Start Time
- Properties: Date and time format
Special Fields
File Upload
- Use Case: File attachments
- Examples: Resume, Document, Image
- Properties:
- Max file size (in bytes)
- Allowed file types (e.g., "image/*", "application/pdf")
- Max number of files (for multiple uploads)
- Supported Types: Images, PDFs, documents, etc.
Section
- Use Case: Visual separator/header
- Examples: "Personal Information", "Contact Details"
- Properties: Title, description, styling
- Note: Not a data field, just for organization
Calculated Field
- Use Case: Auto-calculated values
- Examples: Total Price, Discount Amount, Score
- Properties:
- Formula (e.g., "field1 + field2", "field1 * 0.1")
- Fields used in formula
- Note: Read-only, calculated automatically
Form Configuration
Field Properties
Each field has configurable properties:
Basic Properties
- Label: Text shown above the field
- Placeholder: Hint text inside the field
- Required: Whether field must be filled
- Help Text: Additional instructions below field
Validation
- Min Length: Minimum characters required
- Max Length: Maximum characters allowed
- Pattern: Regex pattern for format validation
- Custom Message: Error message for validation failure
- Min/Max Value: For number fields
- Date Range: For date fields
Options (Select/Radio)
- Add multiple options
- Set default selected option
- Reorder options
Field Ordering
- Drag fields to reorder
- Use arrow buttons in properties panel
- Order affects submission data structure
Conditional Logic
Conditional logic lets you show or hide fields based on user responses.
Setting Up Conditional Logic
- Select the field you want to conditionally show/hide
- In the properties panel, find "Conditional Logic"
- Choose action:
- Show If: Field appears when condition is met
- Hide If: Field is hidden when condition is met
- Configure condition:
- Field: Which field to check
- Operator: equals, not equals, contains, not contains, greater than, less than, isEmpty, isNotEmpty
- Value: What to compare against
Examples
Example 1: Show Company Field for Businesses
- Field: "Are you a business?"
- Operator: equals
- Value: "Yes"
- Action: Show "Company Name" field
Example 2: Show Discount Code for VIP Members
- Field: "Membership Type"
- Operator: equals
- Value: "VIP"
- Action: Show "Discount Code" field
Best Practices for Conditional Logic
- Keep conditions simple and clear
- Test all conditional paths
- Provide clear labels for conditional fields
- Don't create circular dependencies
Multi-Step Forms
Break long forms into multiple steps for better user experience.
Creating Multi-Step Forms
- Add all fields to your form
- Click "Steps" button (top right)
- Click "Add Step"
- Configure each step:
- Step Title: Name of the step (e.g., "Personal Information")
- Description: Optional step description
- Fields: Select which fields belong to this step
- Order: Step sequence number
- Assign fields to steps:
- Drag fields into step sections
- Or select fields and assign to step
- Configure form settings:
- Show Progress Bar: Visual progress indicator
- Allow Back Navigation: Let users go back to previous steps
Best Practices
- Keep 3-5 steps maximum
- 3-5 fields per step
- Use clear step titles
- Show progress bar for long forms
- Allow users to go back
Form Settings
Access form settings by clicking the "Settings" button (top right).
Submission Settings
- Allow Multiple Submissions:
- Yes: Users can submit multiple times
- No: One submission per user (tracked by email or IP)
- Require Authentication:
- Yes: Users must sign in to submit
- No: Anyone can submit (public form)
- Redirect URL: Where to redirect after successful submission
- Leave empty for default success message
- Example: "https://yoursite.com/thank-you"
- Submit Button Text: Customize button text
- Default: "Submit"
- Examples: "Send Message", "Join Now", "Get Started"
Display Settings
- Show Progress Bar: For multi-step forms, shows completion percentage
- Auto-Save: Automatically save form progress, users can resume later
Email Notifications
- Notification Email: Where to send submission notifications
- Email Notifications Enabled: Toggle on/off
- Notification Format: Summary of all fields, includes submission timestamp, includes user information (if available)
Sharing & Embedding
Getting Your Form URL
- Open your form
- Click "Share" or "Copy Link" button
- You'll get a URL like:
https://form.contactlist.io/forms/[formId]/submit - Copy and share this URL anywhere
Sharing Options
- Direct Link: Share the URL directly, works on any device, mobile-responsive
- Email: Include link in emails, use in email campaigns, track clicks from email
- Social Media: Share on Twitter, Facebook, LinkedIn, use in social media posts, track engagement
- QR Code: Generate QR code from URL, print on flyers, posters, use at events
Embedding Forms
Option 1: Iframe Embed
- Click "Embed" button
- Copy the iframe code:
<iframe src="https://form.contactlist.io/forms/[formId]/submit" width="100%" height="600" frameborder="0"> </iframe> - Paste into your website's HTML
Option 2: Script Tag (Recommended)
- Click "Embed" button
- Copy the script tag code
- Paste before closing
</body>tag - Add a container div where you want the form:
<div id="contactlist-form-[formId]"></div>
Embedding Best Practices
- Responsive Design: Forms are mobile-responsive by default
- Custom Styling: Forms inherit some styles from your site
- Loading: Forms load asynchronously
- Security: Forms are served over HTTPS
Viewing Submissions
Accessing Submissions
- Go to Forms in sidebar
- Click on a form
- Click "Submissions" tab
- See all submissions in a table
Submission Details
Each submission shows:
- Submission ID: Unique identifier
- Submitted At: Date and time
- Submitted By: User email (if authenticated)
- Source: Web, mobile, etc.
- All Field Data: Values for each field
- File Attachments: Downloadable files
Submission Actions
- View: Click submission to see full details
- Export: Export all submissions as CSV
- Filter: Filter by date, field values
- Search: Search submissions
- Delete: Remove submission (with confirmation)
Exporting Submissions
- Go to form submissions
- Click "Export" button
- Choose format: CSV
- Download file
- Open in Excel, Google Sheets, etc.
CSV Format:
- One row per submission
- Columns for each field
- Includes timestamp and metadata
Form Integrations
Auto-Sync to Email Lists
Automatically add form submissions to email lists:
- Create or open your form
- Go to "Integrations" tab
- Click "Connect to Email List"
- Select email list
- Map form fields to subscriber fields:
- Email field → Subscriber email
- First Name field → Subscriber firstName
- Last Name field → Subscriber lastName
- Optional: Assign to subscriber groups
- Enable "Auto-Sync"
- Save
How It Works:
- When form is submitted
- Email is extracted from form
- Subscriber is created/updated in list
- Other fields mapped to subscriber metadata
- Subscriber added to selected groups (if any)
Webhooks
Get real-time notifications when forms are submitted:
- Go to form "Integrations" tab
- Click "Add Webhook"
- Enter webhook URL
- Select events:
submission.created: New submissionsubmission.updated: Submission updated
- Add optional secret for verification
- Enable webhook
- Save
Webhook Payload:
{
"event": "submission.created",
"formId": "form_id",
"submissionId": "submission_id",
"data": {
"field1": "value1",
"field2": "value2"
},
"submittedAt": "2024-01-01T00:00:00Z",
"submittedBy": "user@example.com"
}Best Practices
Form Design
- Keep It Short: Only ask for essential information, remove unnecessary fields, use conditional logic to show relevant fields
- Clear Labels: Use descriptive field labels, add helpful placeholder text, include help text for complex fields
- Logical Order: Start with easy questions, group related fields, end with optional information
- Mobile-Friendly: Forms are responsive by default, test on mobile devices, keep fields simple on mobile
Field Configuration
- Use Appropriate Field Types: Email field for emails (not text), Number field for numbers, Date field for dates
- Set Validation Rules: Required fields for essential data, format validation (email, phone, URL), length limits where appropriate
- Provide Defaults: Pre-fill common values, set default selections, use placeholders for guidance
Submission Handling
- Thank You Page: Set redirect URL, thank users for submission, set expectations (when will you respond)
- Email Notifications: Enable for important forms, use clear notification email, include all relevant information
- Auto-Sync: Connect to email lists, keep subscriber lists updated, use groups for organization
Common Use Cases
Contact Form
Fields:
- Name (Text, required)
- Email (Email, required)
- Subject (Text, required)
- Message (Textarea, required)
Settings:
- Email notifications enabled
- Redirect to thank you page
- Auto-sync to "Contacts" email list
Newsletter Signup
Fields:
- Email (Email, required)
- First Name (Text, optional)
- Interests (Checkboxes, optional)
Settings:
- Auto-sync to "Newsletter" email list
- Add to "Subscribers" group
- Simple, one-field focus
Next Steps
Now that you understand forms, check out:
- Email Marketing Guide - Connect forms to email lists
- Data Collections Guide - Store form submissions in collections
- Automation Guide - Automate actions based on form submissions