Job Object
- React
- HTML
<Widget
    candidate={/* ... */}
    config={/* ... */}
    job={{
        jobID: 'jis99wj4-4a09s-kmsc-9jkd-98d773kkd42',
        title: 'Sales Manager',
        logo: 'https://widget.myinterview.com/assets/img/myinterview_logo_red.svg',
        language: 'en',
        questions: [
        {
            question: 'Please walk us through your resume',
            description: '',
            attempts: 2,
            duration: 120,
            thinkingTime: 0,
            videoQuestion: 'https://www.youtube.com/watch?v=UWIWAYM5DGI',
        }
        ],
    }}
/>
<body>
  <myinterview-widget></myinterview-widget>
  <script>
    document.querySelector("myinterview-widget").widgetConfig = {
        candidate: {...},
        config: {...},
        job: {
            jobID: 'jis99wj4-4a09s-kmsc-9jkd-98d773kkd42',
            title: 'Sales Manager',
            logo: 'https://widget.myinterview.com/assets/img/myinterview_logo_red.svg',
            language: 'en',
            questions: [
            {
                answerType: 'video',
                question: 'Please walk us through your resume',
                description: '',
                attempts: 2,
                duration: 120,
                thinkingTime: 0,
                videoQuestion: /* 'https://...' */,
            }
        ],
    }
  </script>
</body>
Parameters List
| Param | Type | Required | Description | 
|---|---|---|---|
| jobID | String | true if no questions or title passed | Link to a job created on our dashboard or internal reference | 
| title | String | false | Customise the title of the job | 
| language | String | false | Language of the interface | 
| logo | String | false | Customise the logo displayed inside the widget | 
| questions | Object[] | true if no existing jobID passed | Customise the questions asked to candidates | 
jobID
There are 2 uses for jobID:
- Using an existing jobID from our dashboard. This way you can create the questions from our dashboard and we will automatically fetch the questions created there. You can grab it directly from your job in the myInterview dashboard.
- Passing a custom jobID, this jobID will aggregate all the candidates. As a consequence, a job will be created under the myInterview dashboard to view all the candidates.
This jobID is passed back in the webhook too.
jobID: "ak6jf1sbikj3zcx6vzx3";
title
Title of the job displayed next to the logo on the header of the widget.
Can also be used to create a job in the dashboard with this title in case it doesn't yet exist.
In case there is no jobID provided and the title is passed, we will use the title to create a new job if none with is found this name.
In case there is no jobID provided and we find an existing job with this name, we will fetch that job including its questions.
title: "Sales Manager 2024";
language
By default, the widget is in English.
If you wish to use another language, you can change it using this parameter. Current supported languages are:
- Spanish: 'es'
- Portuguese: 'pt'
- French: 'fr'
- German: 'de'
- Hebrew: 'he'
- Korean: 'ko'
- Chinese: 'cn'
language: "fr";
logo
Logo of the company displayed on the header of the widget
logo: "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png";
questions
If you want to pass custom questions instead of loading them from the job, you need to pass this object
| Param | Type | Required | Default | Description | 
|---|---|---|---|---|
| answerType | 'video'|'text'|'single_choice'|'multiple_choice' | false | video | Candidate's answer type | 
| question | String | true | '' | Text of the question | 
| description | String | false | '' | Displayed below the question to provide more insights | 
| attempts | Number | false | 3 | How many takes can the candidate have at the maximum for this question (Only for videoquestions) | 
| duration | Number | false | For videoquestion:60. For others:0 | Time in seconds of the maximum recording ( 0 - unlimited ) | 
| thinkingTime | Number | false | 0 | If 0, unlimited preparation time before recording, if more than 15, it will be the time they can prepare their answer after seeing the question in seconds | 
| videoQuestion | String | false | '' | To ask a question using a video in addition to the text. We recommend to use non-private Youtube, Vimeo or Facebook videos (more providers are supported, don't hesitate to ask us). Alternatively you can use any publicly accessible mp4 URL. | 
| config | Object | false | {} | Config for text/single_choice/multiple_choicequestions | 
Question's config
Config for 'text' / 'single_choice' / 'multiple_choice' questions
| Param | Type | Required | Default | Description | 
|---|---|---|---|---|
| minChars | Number | false | 1 | Minimum number of characters required for textquestions | 
| maxChars | Number | false | - | Maximum number of characters for textquestions | 
| answers | Option[] | false | [] | The answer options for single_choice/multiple_choicequestions | 
Answer Option
Option object for single_choice / multiple_choice questions
| Param | Type | Required | Default | Description | 
|---|---|---|---|---|
| id | String | true | '' | Answer's ID - must be unique | 
| label | String | true | '' | The answer option text | 
// example with one question
questions: [
  {
    question: "Text of the question",
    description:
      "Subtitle of the question to provide more explanations to candidates",
    attempts: 3,
    duration: 90,
    thinkingTime: 0,
    videoQuestion: "https://vimeo.com/698499292",
  },
];
// example with 2 questions
questions: [
    {
      answerType: "text",
      question: "Text of the question",
      description:
        "Subtitle of the question to provide more explanations to candidates",
      duration: 0,
      thinkingTime: 0,
      videoQuestion: "https://vimeo.com/698499292",
      config: {
        minChars: 10,
        maxChars: 500,
      },
    {
      answerType: "single_choice",
      question: "Text of the question",
      description:
        "Subtitle of the question to provide more explanations to candidates",
      duration: 90,
      thinkingTime: 0,
      videoQuestion: "https://vimeo.com/698499292",
      config: {
        answers: [
          {
            id: "589049d6-b115-4c3c-8e30-3800d47363ee",
            label: First option
          },
          {
            id: "7ab74cb8-4637-4930-a7ad-35587e7064f2",
            label: Second option
          },
          {
            id: "0d36559b-0dbf-45ff-9e43-024de179d57d",
            label: Third option
          },
        ]
      },
  },
];