> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heymilo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> Form-based screening — candidates complete a tailored set of questions; HeyMilo evaluates answers instantly so you can determine fit and next steps.

# Form Interviews

<video src="https://storage.googleapis.com/heymilo-pub-docs/videos/Form%20-%20New.mp4" controls />

**What you get:** Candidates complete a short online form (questions you choose). You get instant pass/fail on dealbreakers and structured answers — so you filter early, cut back-and-forth, and only move qualified people to voice or SMS. No AI conversation; they just submit. Usually 2–5 min.

## When to use it

Use form screening when you want to:

* **Confirm eligibility before interviews**: Licenses, certifications, years of experience, so you don’t waste time on people who don’t meet the basics.
* **Collect the same info from everyone**: Structured answers (yes/no, multiple choice, dates, numbers) so you can compare fairly.
* **Ask for files**: Portfolios, certs, IDs; candidates upload right in the form.
* **Auto-stop unqualified candidates**: Turn on **Include in dealbreaker** so anyone who fails doesn’t move to the next stage.

**Fits well for:** Healthcare, culinary, skilled trades, compliance-heavy or contract roles, and senior roles where you need proof of experience.

## Add form screening

### Step 1 — Add the stage

When you’re building your interviewer (or editing one), go to **Interview Stages** and add **Form Screening**. Click the card to open its setup.

<Frame caption="Add Form Screening, then click the card to configure.">
  <img src="https://mintcdn.com/heymilo/WAfs-PZSSNm0t483/images/form-add-stage.png?fit=max&auto=format&n=WAfs-PZSSNm0t483&q=85&s=417f9c6e4e54f99b37a91c45da4170ed" alt="Interview Stages builder with a Form Screening stage added to the interview flow" className="mx-auto" width="1024" height="473" data-path="images/form-add-stage.png" />
</Frame>

### Step 2 — Enforce eligibility criteria

Under **Qualification Requirements** in the Form Screening setup you’ll see **Enforce Criteria**:

* **ON**: Only candidates who meet your requirements move on; everyone else is auto-disqualified. Use this when the form should act as a real filter.
* **OFF**: Everyone moves forward; you still see answers but don’t filter by them.

**Recommendation:** Turn it **ON** so you only spend time on qualified candidates in later stages.

<Frame caption="Form Screening setup — Enforce Criteria and Cheat prevention toggles under Qualification Requirements.">
  <img src="https://mintcdn.com/heymilo/MUf6_mKJc64Nfrp1/images/form-screening-settings.png?fit=max&auto=format&n=MUf6_mKJc64Nfrp1&q=85&s=66af40ba374d946b45165394d8828171" alt="Form Screening modal with Enforce Criteria and Cheat prevention toggles" className="mx-auto" style={{ width:"72%" }} width="1024" height="472" data-path="images/form-screening-settings.png" />
</Frame>

### Step 3 — Turn on cheat prevention

Right below Enforce Criteria is the **Cheat prevention** toggle: hide the question when candidates leave the tab and flag repeated departures for review.

With it on, the form actively discourages candidates from looking up answers or pasting from another window:

1. **Candidates are told upfront.** Before the form starts, they see a notice that the form is monitored and that leaving the window is recorded.

<Frame caption="Candidates see this notice before a monitored form starts.">
  <img src="https://mintcdn.com/heymilo/MUf6_mKJc64Nfrp1/images/form-cheat-prevention-notice.png?fit=max&auto=format&n=MUf6_mKJc64Nfrp1&q=85&s=9579b37329bc903114f601424073891a" alt="Before you start notice telling candidates the form is monitored and departures are recorded" className="mx-auto" style={{ width:"60%" }} width="968" height="832" data-path="images/form-cheat-prevention-notice.png" />
</Frame>

2. **Leaving hides the question.** If they switch to another tab, window, or app mid-question, the question is hidden until they return, and the departure is recorded. They see a warning with how many departures they have left.

<Frame caption="The candidate gets a warning each time the window loses focus.">
  <img src="https://mintcdn.com/heymilo/MUf6_mKJc64Nfrp1/images/form-left-form-warning.png?fit=max&auto=format&n=MUf6_mKJc64Nfrp1&q=85&s=a1ac110f3ea85e506cae65c9ac6f8d99" alt="You left the form warning showing the departure was recorded and how many departures remain" className="mx-auto" style={{ width:"62%" }} width="1024" height="591" data-path="images/form-left-form-warning.png" />
</Frame>

3. **Too many departures ends the form.** After three departures, the form ends early and the answers submitted so far go to your team for review. The candidate sees that the form was ended because the window lost focus.

Every departure is logged with a timestamp on the candidate profile (see [Review form results](#step-10--review-form-results) below), so a single accidental tab switch is easy to tell apart from a pattern.

<Note>
  **Cheat prevention vs. cheat detection.** Cheat prevention changes how the form behaves for the candidate (hidden questions, departure limits). Cheat **detection** for forms, such as flagging AI-generated answer text, runs automatically in the background — there is no toggle. Detected AI text shows up on the candidate's **Verify** tab, alongside Form Focus. Detection is enabled per workspace, so if you don't see it, contact your CS Manager or [support@heymilo.ai](mailto:support@heymilo.ai).
</Note>

### Step 4 — Add and manage form questions

Everything lives under **Questions & Scoring** → **Application Form Questions**. You can use HeyMilo’s starter questions or build your own — all editable.

**Question types you can add:** Short answer (free text), Multiple choice (single or multiple), Numeric (number or slider; min/max/range), Date (before/after/range), File upload (choose formats and single vs multiple files).

**Format your question text:** The question editor includes a rich-text toolbar so you can **bold**, *italicize*, strikethrough, add code, blockquotes, or line breaks — useful for longer questions, multi-part prompts, or making key terms stand out.

**Important:** New questions are **Required** by default, but **dealbreakers are off** until you turn them on. If a question should actually screen people out, check **Include in dealbreaker** for that question.

<Frame caption="Add and edit form questions.">
  <img src="https://mintcdn.com/heymilo/XjZwa3vAj28S2Ghm/images/gitbook/fdgfdgreq-0860aa.jpeg?fit=max&auto=format&n=XjZwa3vAj28S2Ghm&q=85&s=52fb2eee7a92eaa5f9adb6be49e70a8b" alt="Application Form Questions" width="2952" height="1550" data-path="images/gitbook/fdgfdgreq-0860aa.jpeg" />
</Frame>

### Step 5 — Required qualifications (dealbreakers)

Turn any question into a **dealbreaker**: if the candidate doesn’t meet your ideal answer, they’re auto-disqualified and don’t move to the next stage. That way you only run voice/SMS (or resume) on people who already passed the basics.

**Examples:** Minimum years of experience, valid certification or license, portfolio or document upload, minimum skill rating.

<Frame caption="Mark questions as dealbreakers so failures don’t move on.">
  <img src="https://mintcdn.com/heymilo/XjZwa3vAj28S2Ghm/images/gitbook/fasdsafweww-0ec370.jpeg?fit=max&auto=format&n=XjZwa3vAj28S2Ghm&q=85&s=27080dfaaf095fc8a367d18fe995d25e" alt="Required qualifications" className="mx-auto" style={{ width:"70%" }} width="426" height="92" data-path="images/gitbook/fasdsafweww-0ec370.jpeg" />
</Frame>

### Step 6 — Ideal answers and evaluation

For each question you set the **ideal answer** (e.g. minimum value, specific choice, valid file) and whether it's a **dealbreaker**.

**Examples:** Numeric — “minimum 3 years experience.” Slider — “minimum 7/10 proficiency.” File upload — “valid PDF showing required work.”

* ​**Required**: Candidate must answer the question to submit (on by default).
* ​**Include in dealbreaker**: Candidate must meet the ideal answer to move on. Off by default; turn on per question for hard filters.

HeyMilo evaluates as soon as they submit.

<Frame>
  <img src="https://mintcdn.com/heymilo/sHXFU6KoKA_Ru_R4/images/Screenshot-2026-05-05-at-5.20.43-PM.png?fit=max&auto=format&n=sHXFU6KoKA_Ru_R4&q=85&s=8a1ddb3f00cf00cb6294ae58c4284e83" alt="Screenshot 2026 05 05 At 5 20 43 PM" title="Screenshot 2026 05 05 At 5 20 43 PM" className="mx-auto" style={{ width:"66%" }} width="1070" height="1334" data-path="images/Screenshot-2026-05-05-at-5.20.43-PM.png" />
</Frame>

### Step 7 — Reorder questions

Drag and drop to change order. **Why it matters:** Put your hardest requirements first so candidates who don’t qualify exit early; put easier questions before big file uploads so more people get through. Order doesn’t change scoring, but it **does** improve completion rates and experience.

<Frame caption="Reorder to improve completion and experience.">
  <img src="https://mintcdn.com/heymilo/XjZwa3vAj28S2Ghm/images/gitbook/gfdagewafew-666261.jpeg?fit=max&auto=format&n=XjZwa3vAj28S2Ghm&q=85&s=d5028dfd18ec67a3a8849135dd27728f" alt="Reorder form questions" className="mx-auto" style={{ width:"67%" }} width="1390" height="1304" data-path="images/gitbook/gfdagewafew-666261.jpeg" />
</Frame>

### Step 8 — Test before activating

Click **Test Now** and go through the form as a candidate. You’ll spot unclear questions, check that dealbreakers behave the way you expect, and confirm file uploads work.

<Frame caption="Test the form as a candidate before going live.">
  <img src="https://mintcdn.com/heymilo/XjZwa3vAj28S2Ghm/images/gitbook/feafewfew-7092ad.jpeg?fit=max&auto=format&n=XjZwa3vAj28S2Ghm&q=85&s=db1084615937b436dddcf01e41da3ba5" alt="Test form" className="mx-auto" style={{ width:"55%" }} width="1002" height="660" data-path="images/gitbook/feafewfew-7092ad.jpeg" />
</Frame>

### Step 9 — Activate and use in your workflow

Once you save and activate, candidates get the form when they enter your flow, answers are evaluated instantly, and only those who pass move on. Add resume, SMS, or voice/video as later stages if you need them.

### Step 10 — Review form results

Open any candidate and go to the **Form** tab. You’ll see pass/fail, which criteria they met or failed, their exact answers, any uploaded files, and clear explanations — so you can decide quickly and consistently.

<Frame caption="Form tab — pass/fail, answers, uploads, dealbreaker explanations.">
  <img src="https://mintcdn.com/heymilo/MUf6_mKJc64Nfrp1/images/form-tab-results.png?fit=max&auto=format&n=MUf6_mKJc64Nfrp1&q=85&s=2c2dee700aeb9c1e91d7b539459c9edf" alt="Form Submission results showing overall pass/fail and per-question dealbreaker results" className="mx-auto" width="1024" height="700" data-path="images/form-tab-results.png" />
</Frame>

If cheat prevention was on, the **Verify** tab shows a **Form Focus** panel: every time the candidate left the form window, with a timestamp and what happened (switched tab, moved to another window or app). Departures are recorded for context only — they don't change the candidate's score, so use them alongside the answers to make your call.

<Frame caption="Verify tab — Form Focus lists each departure with a timestamp.">
  <img src="https://mintcdn.com/heymilo/MUf6_mKJc64Nfrp1/images/form-verify-form-focus.png?fit=max&auto=format&n=MUf6_mKJc64Nfrp1&q=85&s=054207106038fc369fe74a2163fb6591" alt="Verify tab showing Form Focus departures with timestamps and identity verification checks" className="mx-auto" width="1024" height="725" data-path="images/form-verify-form-focus.png" />
</Frame>

## Things to remember

* **Order helps completion**: Hard requirements first, then easier questions, then uploads. More candidates finish.
* **Add hints**: If a question could be unclear, add a hint so candidates know what you’re looking for; you get better answers.
* **File uploads cost more**: Use them where they really add value (e.g. certs, portfolios).
* **Form locks once candidates apply**: Edit questions only before anyone has started. After that, the form is locked so scoring stays consistent.

## Next steps

* [How Scoring Works](../../getting-started/log-in/how-scoring-works)
* [Configuring Your AI Interviewer](../../getting-started/log-in/configuring-your-ai-interviewer)
