Create and manage public and internal forms that create items in Timill Platform.
Creating Forms#
- Navigate to Group Settings → Forms
- Click Create Form
- Configure:
- Title
- Description
- Item type to create
- Field mappings
- Set visibility (public/internal)
- Save
Form Configuration#
Basic Settings#
| Setting | Description |
|---|---|
| Title | Form display title |
| Description | Form instructions |
| Item Type | Which item type to create |
| Visibility | Public or internal only |
| Thank You Message | Message after submission |
Field Mapping#
Map form fields to item fields:
- Select form field
- Choose target item field
- Set required status
- Configure default values
Supported Field Types#
| Form Field | Item Field |
|---|---|
| Text input | Title, description |
| Textarea | Description |
| Number input | Number fields |
| Date picker | Date fields |
| Dropdown | Select fields |
| Multi-select | Multi-select fields |
| User select | User fields |
| File upload | Attachments |
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#
| Theme | Description |
|---|---|
| Default | Clean, minimal design |
| Card | Card-based layout |
| Split | Two-column layout |
| Custom CSS | Custom 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:
| Rule | Description |
|---|---|
| Required | Field must be filled |
| Valid email format | |
| URL | Valid URL format |
| Min/Max Length | Text length limits |
| Custom Regex | Pattern matching |
Conditional Logic#
Show/hide fields based on responses:
- Select field to conditionally show
- Set condition (field + value)
- Configure dependency
Submissions#
Viewing Submissions#
- Navigate to Group Settings → Forms → [Form]
- Click Submissions tab
- View all submissions
- Export to CSV
Submission Tracking#
For internal forms:
- Track who submitted
- Timestamp of submission
- IP address (for public forms)
Embedding Forms#
Public Form Links#
Get shareable link:
- Go to form settings
- Copy public URL
- 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:
- Get reCAPTCHA site key and secret
- Configure in form settings
- 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:
- Scripted Widgets — Form display customization