Admin UI

Interview Management

Recruiter-facing features for the interview detail page: pipeline progress timeline, candidate invite sending, and manual assessor trigger.

The interview detail page (/admin/interviews/:id) provides a full view of an interview lifecycle. Three recruiter tools are built into this page: the Pipeline Progress timeline, the Send Invite action, and the Trigger Assessment button.

Pipeline Progress Timeline

Every interview detail page shows a Pipeline Progress card in the right sidebar. It displays the four lifecycle phases of an interview — Planning, Approval, Interview, and Assessment — with a real-time status indicator derived from the current workflow state.

PhaseActive WhenDone When
PlanningRECEIVED, INFO_NEEDED, VALIDATING_SKILLS, GENERATING_PLANPENDING or any later state
ApprovalPENDINGAPPROVED, SCHEDULED, IN_PROGRESS, COMPLETED, ASSESSED
InterviewIN_PROGRESSCOMPLETED, ASSESSMENT_PENDING, ASSESSED
AssessmentASSESSMENT_PENDING or COMPLETED (no assessment yet)Assessment record present

The timeline automatically reflects INFO_NEEDED (HITL waiting state) by showing a sub-label under Planning. Rejected interviews show the Approval phase in red. The Run ID is displayed above the timeline for cross-referencing with agent logs.

The pipeline progress is derived entirely from the workflow state stored in the database — no additional API calls are made. It updates whenever you click Refresh on the detail page.

Send Invite

The Send Invite button appears in the action bar at the top of the detail page whenever the interview has a candidateEmail set. Clicking it opens a dialog that shows the candidate details and sends the invite.

FieldBehavior
Candidate emailMust be set on the interview — button is hidden if email is missing
TokenGenerated on first send (64-byte hex). Reused on subsequent sends — same link.
EmailBranded candidate email via configured SMTP sender
Link format{YOUR_APP_URL}/interview/join/:token
Token expiry7 days from generation (not from each send)
Copy linkAfter sending, the dialog shows the link with a Copy button for manual sharing

The invite dialog also shows the interview link after sending so recruiters can copy it manually if needed (e.g. to paste into a Slack message). Clicking Send Again reuses the same token and resends the email — no new token is generated.

The backend endpoint is POST /api/v1/interviews/:id/invite. It requires the interview:update permission. See the Interviews API reference for the full response schema.

Trigger Assessment

The Trigger Assessment button appears in the action bar when:

  • The interview has a session ID (interview was conducted)
  • No assessment record exists yet
  • The workflow state is not PENDING or PENDING_ASSESSMENT

This is useful when the Assessor Agent failed silently after the interview ended — for example, if the assessor pod was unavailable when the interview.completed Kafka event was published. Clicking the button calls POST /api/v1/a2a/interview/:id/retrigger-assessment which creates a new Assessor Agent run for the completed session.

Assessment normally runs automatically via Kafka when the interview ends. Only use the manual trigger if the assessment is missing after the interview has been completed for more than a few minutes.

Interview Detail Sections

SectionVisible WhenDescription
Hero cardAlwaysCandidate name, position, level, email, skills, assessment score if available
Pipeline ProgressAlwaysFour-phase timeline in right sidebar derived from workflow state
Info Needed alertworkflowState = INFO_NEEDEDMissing fields list with link to complete info
Plan ApprovalworkflowState = PENDINGApprove / Reject buttons for the generated plan
AI AssessmentAssessment existsFull assessment: summary, strengths/weaknesses, competency scores, question-level breakdown
Interview PlanPlan existsFull plan: competencies, questions, skills coverage, must-have/nice-to-have criteria
TranscriptSession exists and assessment has transcriptFull conversation transcript with question mapping
Status sidebarAlwaysStatus badge, timestamps, IDs, approval info, score summary
Was this page helpful?