Form List Live
9:41
Form Builder
All
Active
Draft
Archived
HVAC Service Intake
12 fields · 47 submissions
Active
Plumbing Emergency
8 fields · 23 submissions
Active
Electrical Estimate
6 fields · 0 submissions
Draft
Roofing Inspection v1
10 fields · 89 submissions
Archived
Form TemplatesStart from a template to save time. HVAC, plumbing, and electrical presets available.

FormList — filterable by status

useQuery(api.sdrFormBuilder.index.listForms)

Empty State
9:41
Form Builder
No Forms Yet
Create your first intake form to start collecting customer information from your SDR team.

Create Form
9:41
New Form
Form Details
FORM NAME
e.g. HVAC Service Intake
DESCRIPTION
What this form collects...
Fields
Full Name
Required
Text
Phone Number
Required
Phone
Service Type
Required
Dropdown
Property Address
Required
Address
Urgency
Optional
Radio
Notes
Optional
Long Text
16 Field TypesText, phone, email, number, currency, dropdown, multi-select, radio, checkbox, yes/no, date, time, datetime, rating, address, and long text.

FormCreate — name, description, field builder

useMutation(api.sdrFormBuilder.index.createForm)

Edit Form Live
9:41
HVAC Service Intake
Active 12 fields · 47 submissions
Analytics
Submissions
Duplicate
Fields (12)
Full Name
Text
Phone Number
Phone
Email
Email
Service Type
Dropdown
Property Address
Address

FormEdit — pre-filled, status management

useMutation(api.sdrFormBuilder.index.updateForm)


Duplicate Confirmation
9:41
HVAC Service Intake
Duplicate Form?
This will create a copy of HVAC Service Intake with all 12 fields, sections, and validation rules.
NEW FORM NAME
HVAC Service Intake (Copy)
Active 12 fields
Full Name
Text
Phone Number
Phone

DuplicateForm — modal confirm + rename

useMutation(api.sdrFormBuilder.index.duplicateForm)

Duplicate Success
9:41
Form Builder
Form duplicated successfully
All
Active
Draft
Archived
HVAC Service Intake (Copy)
12 fields · 0 submissions
Draft
HVAC Service Intake
12 fields · 47 submissions
Active
Plumbing Emergency
8 fields · 23 submissions
Active

PostDuplicate — new draft at top of list

Navigates to form list with toast


Submissions Live
9:41
Submissions
All
New
Reviewed
Converted
Sarah Mitchell
HVAC Service · 3m ago · Agent: MR
New
James Wilson
Plumbing · 1h ago · Agent: SC
Reviewed
Emily Chen
HVAC Service · 2h ago · Agent: JW
Converted
Robert Park
Electrical · Yesterday · Agent: MR
Pending
Conversion TrackingSubmissions marked as converted are linked to jobs for end-to-end attribution.

Submissions — filterable by status

useQuery(api.sdrFormBuilder.index.listSubmissions)

Submission Detail
9:41
Submission
New 3 minutes ago
HVAC Service Intake
Full NameSarah Mitchell
Phone(330) 555-0192
Emailsarah@email.com
Service TypeAC Repair
Address482 W Market St
UrgencyEmergency
Notes
AC stopped working yesterday, house is at 90°F. Need same-day service.
Agent: Marcus Rodriguez · Duration: 4m 12s

SubmissionDetail — field values + actions

useQuery(api.sdrFormBuilder.index.getSubmission)


Completed Submission
9:41
Submission Detail
HVAC Service Intake
Collects service requests from homeowners
Completed
Progress: 100%
Timeline
StartedMar 24, 2026 2:15 PM
CompletedMar 24, 2026 2:19 PM
Duration4m 12s
Last ActivityMar 24, 2026 2:19 PM
Responses (7)
Full NameFilled
Sarah Mitchell
Phone NumberFilled
(330) 555-0192
Service TypeFilled
AC Repair
UrgencyFilled
Emergency
NotesSkipped
--
Agent Notes
Customer was in a rush. AC unit completely non-functional. Scheduled for same-day emergency visit.

SubmissionDetail — completed with progress, timeline, responses

useQuery(api.sdrFormBuilder.index.getSubmissionWithForm)

Abandoned Submission
9:41
Submission Detail
Plumbing Emergency
Abandoned
Progress: 38%
Timeline
StartedMar 23, 2026 4:02 PM
AbandonedMar 23, 2026 4:04 PM
Duration1m 48s
Responses (3)
Full NameFilled
Robert Park
Phone NumberFilled
(216) 555-0847
Issue TypeFilled
Burst Pipe
AddressSkipped
--
Validation Errors
Address
Required field was not completed
Urgency
Required field was not completed

SubmissionDetail — abandoned, partial data, validation errors

submission.status === "abandoned"

In-Progress Submission
9:41
Submission Detail
Electrical Estimate
In Progress
Progress: 67%
Timeline
StartedMar 27, 2026 10:30 AM
Duration2m 15s
Last ActivityMar 27, 2026 10:32 AM
Responses (4)
Full NameFilled
Emily Chen
Panel TypeFilled
200 Amp Upgrade
Still ActiveThis submission is currently in progress. Data updates in real-time as the agent fills fields.

SubmissionDetail — in-progress, terracotta progress bar

submission.status === "in_progress"


Analytics Live
9:41
Form Analytics
HVAC Service Intake Active
7 Days
30 Days
All Time
47
Submissions
78%
Completion
3:42
Avg Time
12
Abandoned
Submissions Trend (30 days)
Drop-off Alert12 abandoned submissions in 30 days. Consider simplifying fields or adding progress indicators.

FormAnalytics — completion rate, avg time, trend

useQuery(api.sdrFormBuilder.index.getFormAnalytics)

Forms & Detail Live
9:41
Form Builder
All
Active
Draft
HVAC Service Intake
12 fields · 47 submissions
Active
Plumbing Emergency
8 fields · 23 submissions
Active
Electrical Estimate
6 fields · 0 submissions
Draft
HVAC Service Intake
Active
Analytics
Submissions
Duplicate
Fields (12)
Full Name
Text
Phone Number
Phone
Email
Email
Service Type
Dropdown
Property Address
Address
Form TemplatesStart from presets to save time — HVAC, plumbing, electrical available.
Form Builder
9:41
New Form
Form Details
NAME
e.g. HVAC Service Intake
DESCRIPTION
What this form collects...
Fields
Full Name
Text
Phone
Phone
Service Type
Dropdown
Address
Address
Field Types
Text
Phone
Email
Dropdown
Address
Rating
Drag to ReorderDrag fields to change their order in the form.
Duplicate Form
9:41
HVAC Service Intake
Fields (12)
Full Name
Text
Phone
Phone
Service Type
Dropdown
Duplicate Form?
Creates a copy of HVAC Service Intake with all 12 fields, sections, and validation rules.
NEW FORM NAME
HVAC Service Intake (Copy)
Submissions & Detail
9:41
Submissions
All
New
Reviewed
Sarah Mitchell
HVAC · 3m ago
New
James Wilson
Plumbing · 1h ago
Reviewed
Emily Chen
HVAC · 2h ago
Converted
Sarah MitchellNew
Full NameSarah Mitchell
Phone(330) 555-0192
ServiceAC Repair
UrgencyEmergency
Submission Detail (Full)
9:41
Submission Detail
HVAC Service Intake
Completed
Progress: 100%
Timeline
StartedMar 24, 2:15 PM
CompletedMar 24, 2:19 PM
Duration4m 12s
Agent Notes
Customer was in a rush. AC unit non-functional. Same-day emergency visit.
Responses (7)
Full NameFilled
Sarah Mitchell
Phone NumberFilled
(330) 555-0192
EmailFilled
sarah@email.com
Service TypeFilled
AC Repair
UrgencyFilled
Emergency
NotesSkipped
--
Form Analytics
9:41
Form Analytics
HVAC Service IntakeActive
7d
30d
All
47
Total
78%
Complete
3:42
Avg Time
12
Dropped
Submissions Trend
Field Completion
Full Name100%
Phone98%
Service Type95%
Address82%
Notes45%
Drop-off12 abandoned. Consider simplifying or adding progress indicators.
Form Builder Live
https://app.3bids.io/contractor/sdr/form-builder
Forms
Submissions
Analytics
Intake Forms
Form
Fields
Submissions
Status
HVAC Service Intake
12
47
Active
Plumbing Emergency
8
23
Active
Electrical Estimate
6
0
Draft
Roofing Inspection v1
10
89
Archived
Template LibraryStart from HVAC, plumbing, or electrical presets. Duplicate and customize to save time.
Duplicate Form
https://app.3bids.io/contractor/sdr/form-builder/duplicate
Forms
Submissions
Analytics
Intake Forms
HVAC Service Intake
Duplicate Form?
This creates a copy of HVAC Service Intake with all 12 fields, sections, and validation rules. The copy starts as a Draft.
NEW FORM NAME
HVAC Service Intake (Copy)
Submissions Dashboard
https://app.3bids.io/contractor/sdr/form-builder/submissions
Forms
Submissions
Analytics
Submissions
Contact
Form
Agent
Duration
Status
Sarah Mitchell
HVAC Service
MR
4:12
New
James Wilson
Plumbing
SC
2:38
Reviewed
Emily Chen
HVAC Service
JW
5:01
Converted
Robert Park
Electrical
MR
3:15
Pending
Submission Detail
https://app.3bids.io/contractor/sdr/form-builder/submission/abc123
Forms
Submissions
Analytics
HVAC Service Intake
Completed
Progress: 100%
Timeline
StartedMar 24, 2:15 PM
CompletedMar 24, 2:19 PM
Duration4m 12s
Last ActivityMar 24, 2:19 PM
Agent Notes
Customer was in a rush. AC unit completely non-functional. Scheduled for same-day emergency visit.
Responses (7)
Field
Value
Status
Full Name
Sarah Mitchell
Filled
Phone
(330) 555-0192
Filled
Email
sarah@email.com
Filled
Service Type
AC Repair
Filled
Address
482 W Market St
Filled
Urgency
Emergency
Filled
Notes
--
Skipped
Form Analytics
https://app.3bids.io/contractor/sdr/form-builder/analytics
Forms
Submissions
Analytics
Form Analytics
7d
30d
All
47
Submissions
78%
Completion
3:42
Avg Time
12
Abandoned
Submissions Trend — 30 Days
Field Completion Rates
Full Name100%
Phone98%
Service Type95%
Notes45%
Top Forms
HVAC Service47
Plumbing23
Electrical0
OptimizationNotes field at 45% completion — consider making it optional or adding placeholder examples.

Data Architecture

Schema tables, queries, mutations, and flows that power SDR Form Builder.

Source Files
index.tsx
Form list with status filter
screen
create.tsx
Create form + field builder
screen
[id].tsx
Edit form + status management
screen
submissions.tsx
Submissions dashboard
screen
submission/[id].tsx
Submission detail
screen
analytics.tsx
Per-form analytics
screen
Convex Queries
sdrFormBuilder.listForms
All forms with status
query
sdrFormBuilder.getForm
Single form + fields
query
sdrFormBuilder.listSubmissions
Submissions for form
query
sdrFormBuilder.getSubmission
Single submission data
query
sdrFormBuilder.getSubmissionWithForm
Submission + form fields
query
sdrFormBuilder.getFormAnalytics
Completion + timing stats
query
Convex Mutations
sdrFormBuilder.createForm
New form with metadata
mutation
sdrFormBuilder.updateForm
Edit name/description/status
mutation
sdrFormBuilder.createField
Add field to form
mutation
sdrFormBuilder.createSection
Group fields into sections
mutation
sdrFormBuilder.publishForm
Draft → published
mutation
sdrFormBuilder.deleteForm
Soft delete form
mutation
sdrFormBuilder.duplicateForm
Clone form + fields as draft
mutation
Form Status Flow
draft published archived
Submission Status Flow
new reviewed converted
Key Design Decisions

16 Field Types

Text, phone, email, number, currency, dropdown, multi-select, radio, checkbox, boolean, date, time, datetime, rating, address, long text.

Section-Based Layout

Fields organized into named sections. Drag-and-drop reordering within and across sections.

Submission → Job Pipeline

Submissions convert directly to jobs for end-to-end attribution. Agent and duration tracked.

Per-Field Analytics

Completion rate tracked per field to identify drop-off points and optimize form design.

Template Duplication

Clone published forms to create variants. Preserves fields, sections, and validation rules.