Scout SelectDeveloper Documentation
Online Interview Recorder

Schedule

Send the Scout Select bot to a meeting at a scheduled time.

Requires MANAGE_LIVE_INTERVIEW. assessmentId must belong to your organisation and must have been created via Create Assessment (a manual recording assessment) - scheduling against an AI-generated assessment fails with NOT_FOUND.

mutation ScheduleLiveInterview($input: DeveloperScheduleLiveInterviewInput!) {
  developerScheduleLiveInterview(input: $input) {
    liveInterviewSessionId
    status
    botJoinStatus
    reportId
    dashboardReportUrl
  }
}
Variables
{
  "input": {
    "assessmentId": "clv2b...",
    "candidateName": "Jordan Rivera",
    "candidateEmail": "jordan@example.com",
    "candidateDisplayName": "Jordan Rivera",
    "meetingProvider": "TEAMS",
    "meetingUrl": "https://teams.microsoft.com/l/meetup-join/...",
    "scheduledAt": "2026-08-12T15:00:00Z",
    "callbackUrl": "https://your-app.example.com/hooks/scout",
    "externalReference": "your-internal-id-12345"
  }
}
  • The candidate is looked up (matched by candidateEmail within your organisation) or created, exactly like assigning a candidate does.
  • candidateDisplayName should match the name the candidate will actually show up as in the call. It's used to attribute transcript speakers to the candidate vs. the interviewer; if omitted, or if it doesn't match closely enough, Scout Select falls back to an LLM heuristic on the transcript content itself. The resulting method is exposed on the finished report as roleAttributionMethod (name_match or llm_inference).
  • scheduledAt is ISO 8601. The bot is registered immediately when you call this mutation, but it waits until scheduledAt to actually join the meeting - you don't need to time this call precisely.
  • meetingProvider (TEAMS/ZOOM/MEET/WHATSAPP, defaults to TEAMS) is for labeling only - the bot joins any of the four from meetingUrl alone.
  • callbackUrl and externalReference work exactly like assessment webhooks
  • The immediate response reflects registration state, not meeting state - status will be SCHEDULED and botJoinStatus will be PENDING on a normal successful call. Use Status or the webhook to track progress from there.