To schedule a interview in Talview Workflow Tools (WFT) application,please follow the below steps.

Prerequisites

  1. An workflow with Technical Round needs to be pre configured.

Interview Schedule Technical Steps

1. Authentication

  • Use this guide to generate an access_token.
  • The token generated will go in Authorization header for all API calls.

2. Schedule API

Every invitation send to Talview System, must follow below the payload structure. Request header definition:
MethodPOST
Hosthttps://supergraph.talview.com
Route/api/rest/external/workflow/schedule
Content typeapplication/json
Request payload definition: Standard
AttributeMandatoryData TypeDescription
organizer_emailyesStringOrganizer of interview email address
interviewersyesArray of StringArray of emails of the interviewers
candidate_emailyesStringCandidate’s email address
candidate_reference_idyesStringCandidate’s ID in External System
timezonenoStringThe timezone to be used for the schedule
candidate_namenoStringCandidate’s name (first + last ) name
start_timeyestimestampzStart time of the interview. ISO 8601 format: yyyy-MM-dd’T’HH:mm:ss.SSSZ
statusyesStringStatus to manage schedule: Possible values: 1. SCHEDULE 2. CANCEL 3. UPDATE
callback_urlyesStringUrl of External Service to be used for sending the reports,scores,playbacy video,etc..
durationyesNumberDuration of interview in minutes Possible values: 30 | 45 | 60 | 90 | 120, default: 30
meeting_idnoNumberMeeting_id in Talview System
(Used when doing CANCEL/UPDATE actions)
workflow_step_idyesStringTalview Workflow ID
workflow_step_reference_idnoStringWorkflowStep ID from external client system
( Note : Need to send either workflow_reference_id or workflow_step_reference_id )
Sample response payload:
  1. Success response: HTTP status code - 201
    {
      "meeting_id": 1293,
      "candidate": { "external_id": 2932, "email": "abc@xyz.com" },
      "meeting_status" : "SCHEDULED"
    }
    
    
  2. Error response: HTTP status code - 422
    {
    	"errors": [{
    		"field": "start_time",
    		"message": "Start time cannot be in the past"
    	}]
    }
    
    
  3. Error response: HTTP status code - 400
    {
    	"errors": [{
    		"field": "start_time",
    		"message": "Start time cannot be blank"
    	}]
    }
    
Sample CURL request:
curl --request POST \
  --url https://supergraph.talview.com/api/rest/external/workflow/schedule \
  --header 'Authorization: Bearer <:access_token:>' \
  --data '{
   "status": "SCHEDULE",
   "meeting_id": null,
   "workflow_step_id": "39121",
   "start_time": "2024-06-08T08:30:00.000Z",
   "duration": 30,
   "timezone": "Asia/Kolkata",
   "candidate_name": "candidate name",
   "candidate_email": "candidate@email.com",
   "candidate_reference_id": "CAN_LAT_10045",
   "interviewers": ["inerviewer1@email.com", "inerviewer2@email.com"],
   "organizer_email": "organizer@email.com",
   "workflow_step_reference_id" : "LA-1-1",
   "callback_url" : "https://<external_service_host_url>.com/scores"
}'