Journey builder
Deep dive on journey nodes, candidate emails, versioning, preview, and attaching journeys to positions.
Journeys are ordered, visual flows candidates complete asynchronously — video responses, assessments, document uploads, references, culture quizzes, and branching logic. Recruiters build journeys in the visual flow editor and attach them to positions.
Key routes
| Action | Path |
|---|---|
| Journey list | /dashboard/journeys |
| Create journey | /dashboard/journeys/create |
| Edit journey (visual builder) | /dashboard/journeys/[id]/edit |
| Journey detail / sessions | /dashboard/journeys/[id] |
| Session detail | /dashboard/journeys/[id]/sessions/[sessionId] |
Builder overview
Open Dashboard → Journeys → Create journey or edit an existing flow. The Visual Flow Builder (components/journey-builder/visual-flow-builder) provides:
- Drag-and-drop node placement on a canvas
- Connect nodes: click output dot (right) → input dot (left)
- Conditional edges — green (pass), red (fail/reject), blue (standard)
- Per-node configuration panel (right sidebar)
- Validation before save
Journey metadata
| Field | Guidance |
|---|---|
| Name | Internal label, e.g. "Engineer async screen v2" |
| Description | Shown to candidates on welcome/instruction steps |
| Estimated time | Sets expectations ("~20 minutes") |
| Allow retake / max attempts | Controls whether candidates can restart |
Node types
Nodes available in the Add node library:
| Node type | Label | Candidate experience | Recruiter output |
|---|---|---|---|
video-interview | Video Interview | Record answers per question | Clips, transcripts, AI rubric scores |
live-avatar-interview | Live Avatar Interview | AI-moderated live session | Session recording + scores (org setting: liveAvatarJourneyNode) |
culture-quiz | Culture Quiz | Values/work-style quiz | Culture alignment signals (flag: culture_fit_scoring) |
assessment | Assessment | Timed quiz or case study | Scored assessment report |
document-upload | Document Upload | PDF/image upload | Files on candidate profile |
references | References | Provide referee contacts | Reference workflow + status |
score-gate | Score Gate | Branch on prior node score | Routes pass/fail paths |
manual-review | Manual Review | Pause for recruiter | Holds candidate until released |
send-email | Send Email | Receives transactional email | Audit in activity |
end | End Journey | Completion screen | Triggers journey-complete notifications |
Additional types exist in the type system (schedule, condition, delay, webhook, coding-challenge) for advanced flows — configure via the builder when enabled for your org.
Scorable nodes
Video, assessment, culture-quiz, and score-gate nodes participate in journey overall score calculation. Non-scorable nodes (instructions, document upload, send-email) do not affect ranking unless they gate progression.
Score gate branching
Connect the pass output (green) and fail output (red) to different downstream paths. Typical pattern:
Video Interview → Score Gate → (pass) Assessment → End
→ (fail) Send Email (reject notice) → EndManual review hold
Use Manual Review when a recruiter must approve before the candidate continues — common for compliance checks or high-touch roles.
Emails
Journey sends transactional emails automatically:
| Trigger | Typical content |
|---|---|
| Invite / apply confirmation | Journey link, estimated time |
| Reminder (stalled) | Nudge to complete next step |
| Step completion | Optional progress confirmation |
| Journey complete | "Under review" / next steps |
| Send Email node | Custom template at that graph point |
Configure org-wide templates under Settings → Notifications (/dashboard/settings/notifications). Journey-level Send Email nodes can override subject/body for that step.
Email copy avoids naming internal node types to candidates — templates use category-aware placeholders.
Versioning
Editing a live journey does not retroactively change in-progress sessions. Active sessions continue on the graph version they started with; new sessions pick up the latest saved graph.
Recommended workflow for major changes:
- Duplicate the journey (save as new)
- Attach the new journey to the position for new applicants only
- Let in-flight candidates finish on the old version
- Archive the old journey when drain completes
Minor copy fixes on instruction nodes are safe; reordering or removing required nodes mid-flight can strand candidates — use manual review or support intervention.
Preview and test
There is no separate "preview URL" button in the builder today. Test flows using:
- Invite yourself —
/dashboard/candidates/invitewith a personal email on a test position - Complete the journey as a candidate in an incognito window
- Review output on
/dashboard/journey-report/[sessionId]/[candidateId] - Delete test candidates from the position pipeline when done
The builder supports readOnly mode for viewing graphs without edit affordances (used in embedded contexts).
Attaching to positions
From position settings
- Open
/dashboard/positions/[id]→ Settings tab (?tab=settings) - Select journey from dropdown or Create new
- Save — all new applicants inherit this journey
From journey editor (round trip)
When opened via ?from=position-[positionId], Back and Save & Close return to the position instead of the journeys index.
Candidate pools (auto-enroll)
On the journey edit page, optional pool auto-enroll enrolls candidates from selected pools when they start the journey. Manage pools at /dashboard/candidates/pools.
Analytics
Journey funnel metrics: Analytics → Journeys (/dashboard/analytics/journeys). Track drop-off per node, average completion time, and score distributions.
Related guides
- Assessments — building assessment content linked from assessment nodes
- Questions & scoring — video rubrics and AI scoring
- Culture fit — culture quiz node configuration
- Interviews — live interviews scheduled after journey completion

