Intake Form Builder¶
Create intake forms visually using the drag-and-drop form builder.
Opening the Form Builder¶
- Navigate to your project
- Click Editor in the workspace header
- Select an intake form from the sidebar, or open it from Settings → Visual Editors → Intake Form Editor
Building a Form¶
Adding Fields¶
Use the Add Field palette on the left: - Input fields: Text, Number, Email, Phone, Date, etc. - Layout elements: Headings, Paragraphs, Dividers - Special fields: File Upload, Rating, Scale
Reordering Fields¶
- Drag and drop: Grab a field card and drag it to a new position
- Arrow buttons: Use the up/down arrows on each field card
Field Properties¶
Click a field to edit its properties in the right panel: - Label: Display name shown to users - Type: Field input type - Required: Whether the field must be filled - Placeholder: Hint text shown in empty fields - Maps To: Link to issue properties (title, description, priority, etc.)
Publishing¶
Click Publish to make your form live. The editor validates all fields before publishing.
Sharing Forms¶
Public Link¶
Every published form gets a public URL that anyone can access without logging in:
Find the link in Settings → Intake Forms → your form → Share.
If your organization has a custom slug, the URL includes it:
Embedding in External Sites¶
Embed a form on any website using an iframe:
<iframe
src="https://your-domain.com/intake/YOUR_FORM_SLUG/embed"
width="100%"
height="600"
frameborder="0"
style="border: none; border-radius: 8px;">
</iframe>
The embed endpoint serves a minimal, standalone version of the form without navigation or headers — designed to look native inside your site.
CORS: The embed endpoint sets permissive CORS headers so the iframe works from any origin.
Requiring Authentication¶
By default, forms are public. To require users to log in before submitting:
- Open the form in the editor
- Set
require_auth: truein the YAML settings block, or toggle Require authentication in the form settings panel
Authenticated forms show a login prompt to anonymous visitors.
Submission Routing¶
Field Mapping¶
Map form fields to issue properties so submissions automatically create issues:
| Maps To | Effect |
|---|---|
title |
Sets the issue title |
description |
Sets the issue description |
priority |
Sets priority (low, medium, high, critical) |
assignee |
Assigns to a user by email |
issue_type |
Sets the issue type |
labels |
Adds labels (comma-separated) |
Notifications¶
Enable notify_on_submission: true in settings to send notifications when forms are submitted. Notifications go to the project owner and any configured watchers.
YAML Reference¶
intake_form:
key: bug_report
name: Bug Report
settings:
submit_label: Submit Bug
require_auth: false
notify_on_submission: true
confirmation_message: "Thanks! We'll look into this."
fields:
- id: title
type: string
label: Summary
required: true
placeholder: "Brief description of the bug"
maps_to: title
- id: severity
type: select
label: Severity
required: true
options: [low, medium, high, critical]
maps_to: priority
- id: description
type: markdown
label: Steps to Reproduce
required: true
maps_to: description
- id: screenshot
type: file
label: Screenshot (optional)
See the Intake Form JSON Schema for all available field types and options.