Timill Platform Documentation

Working with Forms

The longer guide — visibility, themes, validation, embedding and spam protection.

Create and manage public and internal forms that create items in Timill Platform.

Creating Forms#

  1. Navigate to Group Settings → Forms
  2. Click Create Form
  3. Configure:
    • Title
    • Description
    • Item type to create
    • Field mappings
  4. Set visibility (public/internal)
  5. Save

Form Configuration#

Basic Settings#

SettingDescription
TitleForm display title
DescriptionForm instructions
Item TypeWhich item type to create
VisibilityPublic or internal only
Thank You MessageMessage after submission

Field Mapping#

Map form fields to item fields:

  1. Select form field
  2. Choose target item field
  3. Set required status
  4. Configure default values

Supported Field Types#

Form FieldItem Field
Text inputTitle, description
TextareaDescription
Number inputNumber fields
Date pickerDate fields
DropdownSelect fields
Multi-selectMulti-select fields
User selectUser fields
File uploadAttachments

Form Visibility#

Public Forms#

Accessible without login:

  • Set TIMILL_ENABLE_PUBLIC_FORMS=true
  • Forms are publicly accessible
  • No authentication required
  • Use CAPTCHA to prevent spam

Internal Forms#

Only for authenticated users:

  • Requires user login
  • User information auto-filled
  • Submission tracking enabled

Form Themes#

Available Themes#

ThemeDescription
DefaultClean, minimal design
CardCard-based layout
SplitTwo-column layout
Custom CSSCustom styling

Custom CSS#

Add custom styles:

.form-container {
    max-width: 800px;
    margin: 0 auto;
}
.form-submit-btn {
    background-color: #4a90d9;
}

Form Validation#

Field Validation#

Configure validation rules:

RuleDescription
RequiredField must be filled
EmailValid email format
URLValid URL format
Min/Max LengthText length limits
Custom RegexPattern matching

Conditional Logic#

Show/hide fields based on responses:

  1. Select field to conditionally show
  2. Set condition (field + value)
  3. Configure dependency

Submissions#

Viewing Submissions#

  1. Navigate to Group Settings → Forms → [Form]
  2. Click Submissions tab
  3. View all submissions
  4. Export to CSV

Submission Tracking#

For internal forms:

  • Track who submitted
  • Timestamp of submission
  • IP address (for public forms)

Embedding Forms#

Get shareable link:

  1. Go to form settings
  2. Copy public URL
  3. Share with anyone

Embedding in Websites#

Use iframe:

<iframe 
    src="https://your-domain.com/form/form-id" 
    width="100%" 
    height="600">
</iframe>

API Submissions#

Submit forms via API:

curl -X POST https://your-domain.com/api/forms/form-id/submit \
    -H "Content-Type: application/json" \
    -d '{"field1": "value1", "field2": "value2"}'

Spam Protection#

CAPTCHA#

Enable Google reCAPTCHA:

  1. Get reCAPTCHA site key and secret
  2. Configure in form settings
  3. Test submission

Rate Limiting#

Set submission limits:

  • Max submissions per IP per hour
  • Max submissions per user per day

Best Practices#

Design#

  • Keep forms simple (fewer fields = more submissions)
  • Use clear field labels
  • Provide helpful descriptions
  • Group related fields

User Experience#

  • Show progress indicators for long forms
  • Validate in real-time
  • Provide clear error messages
  • Test on mobile devices

Security#

  • Use CAPTCHA on public forms
  • Enable rate limiting
  • Review submissions regularly
  • Sanitize user input

See also: