DEV Community

Cover image for Client Intake Form Design: Fields, Files, and Kickoff Workflow State
Lovanaut
Lovanaut

Posted on

Client Intake Form Design: Fields, Files, and Kickoff Workflow State

A client intake form fails in two different places: the field schema, or the state behind it. Most write-ups only cover the first.

The field schema

A cross-industry intake form needs five groups of fields, not fifteen ad-hoc questions:

name              text, required
company           text, required
role              enum, required
goal              long text, required
budget_range      enum, required
desired_start     enum, required
hard_deadline     date, optional
files             upload, optional
consent           boolean, required
Enter fullscreen mode Exit fullscreen mode

Two decisions matter more than the rest of the list.

budget_range should be an enum, never free text. Free text returns "flexible" and "depends," which cannot be routed on. An enum of honest ranges can trigger a decline template on the low end and a priority flag on the high end.

files should be optional. Clients rarely have the brief ready on day one. A required upload field turns a five-minute form into a blocker, and the submission just does not happen. Treat missing files as a tracked follow-up, not a validation error.

The workflow state model

The form only produces a row. What turns that row into a started engagement is a small state machine behind it:

new       -> response exists, no owner assigned
reviewed  -> owner has read goal, budget, and files
scheduled -> kickoff meeting is booked
started   -> onboarding has begun, engagement is live
Enter fullscreen mode Exit fullscreen mode

The failure mode to design against is new with no transition. A shared inbox where everyone can see the response but no one owns it behaves exactly like an unread row in a spreadsheet, regardless of how good the form looked.

Assign an owner the moment a response lands, even by round robin. Move to reviewed only after someone has actually read the goal and budget field, not just glanced at the subject line. scheduled and started follow naturally once ownership and review are real states instead of implied ones.

The form and the state machine are two different build problems. Solve both, or the intake form just becomes a nicer-looking version of the same unowned inbox.

Client Intake Form Guide -- Goals, Budget, Files, and the Kickoff Workflow

Top comments (0)