Create an AI Interview
This guide walks through creating a fully automated AI interview — from setup to getting the evaluation results.
1. Create the interview
const interview = await client.interviews.create({
type: 'ai',
jobRole: 'Senior Frontend Engineer',
candidate: {
name: 'Jane Doe',
email: 'jane@example.com',
},
// Optional: provide CV for smarter questions
candidateCV: resumeText,
// Optional: specify what to evaluate
skills: ['React', 'TypeScript', 'System Design'],
seniority: 'SENIOR',
department: 'Engineering',
// Optional: set duration (default: 30 min)
durationMinutes: 25,
// Optional: let AI generate questions based on the role
aiGenerate: true,
// Optional: add your own questions too
questions: [
'Describe a complex React architecture you built',
'How do you approach code reviews?',
],
});2. Send the join URL to the candidate
// The candidate opens this URL in their browser
const joinUrl = interview.url;
// Example: https://meetings.boooply.com/join/Boooply-AI-1234567890
// Send via your email system
await sendEmail({
to: 'jane@example.com',
subject: 'Your AI Interview is Ready',
body: `Click here to start: ${joinUrl}`,
});3. What happens during the interview
- Candidate opens the URL and allows camera/microphone
- AI interviewer greets them and starts asking questions
- AI adapts follow-up questions based on responses
- Session is recorded (video + audio)
- Interview ends when time is up or candidate finishes
4. Get the results
After the interview completes, the AI automatically analyzes the conversation:
// Check if evaluation is ready
const details = await client.interviews.get(interview.meetingCode);
if (details.meeting.counts.hasEvaluation) {
const evaluation = await client.interviews.getEvaluation(interview.meetingCode);
console.log('Recommendation:', evaluation.recommendation); // PASS | FAIL | REVIEW
console.log('Overall Score:', evaluation.overallScore); // 0-100
console.log('Communication:', evaluation.communication);
console.log('Technical:', evaluation.technical);
console.log('Culture Fit:', evaluation.cultureFit);
}
// Get the full transcript
const { transcript } = await client.interviews.getTranscript(interview.meetingCode);5. Or use webhooks
Instead of polling, set up a webhook to receive results automatically:
// Your webhook endpoint receives this payload:
{
"event": "evaluation.completed",
"data": {
"meetingCode": "Boooply-AI-1234567890",
"evaluation": {
"overallScore": 82,
"recommendation": "PASS"
}
}
}See Webhooks for setup instructions.
Last updated on