Use this guide when implementing interview state machines, backend event handling, or analytics around interview completion rates.
Actors
Candidate — participates in the interview. Tracy — the AI interviewer. System — generates the final assessment and emits system-level events.Status & Event Mapping by Interview Step
Use this table to understand how each scenario affects status transitions and event triggers.1. Candidate never joins
Condition: Candidate does not join at all. Status: NULLEvent: No event is fired.
2. Candidate joins the interview
Candidate enters the interview roomThe System emits a
started event and stores the checkpoint timestamp.3. Candidate leaves mid-interview with fewer than 6 turns
Tracy waits 5 minutes to allow rejoin. If the Candidate does not return: Status remains INCOMPLETEcandidate_end_interview is triggered immediately
4. Candidate leaves mid-interview with 6+ turns
Tracy waits 5 minutes for rejoin. If the Candidate does not return: Status becomes PARTIALLY_COMPLETEcandidate_end_interview is triggered immediately
5. Candidate leaves then rejoins
If the Candidate rejoins within the 5-minute window:Rejoins do not reset status and do not trigger the
started event again.No new events are fired
6. Candidate disconnects after interview ends
Interview status is determined by total Candidate participation:- ≥ 6 turns → Status: COMPLETED
No event is fired
- < 6 turns → Status: INCOMPLETE
candidate_end_interview is fired
Key Rules and Notes
Turn count rules (critical)
Turn count rules (critical)
- Turns < 6 → Candidate considered early exit → INCOMPLETE.
- Turns ≥ 6 → Considered meaningful participation → PARTIALLY_COMPLETE or COMPLETED.
Rejoin waiting window
Rejoin waiting window
If Candidate leaves mid-interview, Tracy waits 5 minutes before confirming early exit.
Intervew tokenized URL persistance
Intervew tokenized URL persistance
As of Nov 23, 2025 two conditions for the tokenized URLs exist:\
- The URL can be clicked multiple times by a candidate to retake the interview\
- The URL expires in 30 days from date of creation