Questionnaires

Questionnaires

A job ad may specify a questionnaire to include in SEEK’s native apply form. Candidates complete the questionnaire as part of their job application, and their responses are made available through the Application Export use case. Questionnaires are rendered on SEEK’s candidate website and in our mobile apps.
The SEEK API assumes that your software already has a mechanism for creating and managing custom questions. The create mutation lets you create questionnaires in the structure expected by the SEEK API and returns an ID that can be specified when posting a job ad.
HirerPartnergraphql.seek.comCreate questionnaireMap questionnaire to SEEK structureQuestionnaire IDPost job ad with questionnaire IDHirerPartnergraphql.seek.com
For an equitable screening process, a SEEK job ad presents the same questionnaire to all applicants. The ApplicationQuestionnaire object is immutable, and a live job ad cannot change its associated questionnaire. If your software supports mutable questionnaires, you may snapshot its latest state by creating a new ApplicationQuestionnaire at time of posting.

Data structure

An ApplicationQuestionnaire is represented as a immutable collection of components.
  • ApplicationPrivacyConsent allows the hirer to link to a privacy policy for candidates to consent to.
  • ApplicationQuestion allows the hirer ask a screening question:
    • FreeText is rendered as a text field
    • SingleSelect specifies choices that may be rendered as radio buttons or in a dropdown list
    • MultiSelect specifies choices that may be rendered as checkboxes
You can explore these components through our interactive questionnaire builder.

Questionnaire submission association

A candidate’s questionnaire submission can be retrieved through the Application Export use case. The submission can be correlated back to the presented questionnaire and to its individual components.
If you manage questionnaires as a holistic collection in your software, retrieve questionnaire.id to correlate the submission back to the questionnaire ID.
If you manage individual questionnaire components in your software, supply a unique reference value for each ApplicationQuestionnaireComponent during questionnaire creation. You can then retrieve responses.*.component.value from the submission to correlate each response back to its corresponding component.

Preferred choices & scoring

Each SingleSelect and MultiSelect ApplicationQuestion specifies a collection of possible choices through the responseChoice field. An ApplicationQuestionChoice can be preferenced by setting its preferredIndicator during questionnaire creation. Candidate responses are scored against these preferred choices.
These scores are provided as an advisory screening indicator for the hirer. All candidate applications will be delivered to your software; SEEK does not support knockout questions and does not reject applications based on score.

Limits

The SEEK API imposes the following limits on questionnaires:
  • 56 KiB for the create mutation input
  • 100 total components
  • 1 PrivacyConsent component
  • 2048 characters per text field
Lengthy application forms deter candidates from applying, so we encourage hirers to keep their questionnaires short and focussed. As a point of reference, SEEK’s native job posting experience recommends a maximum of five questions.

Operations

Create an application questionnaire

The createApplicationQuestionnaire mutation creates a new questionnaire.
MutationVariables
mutation($input: CreateApplicationQuestionnaireInput!) {
  createApplicationQuestionnaire(input: $input) {
    applicationQuestionnaire {
      id {
        value
      }
    }
  }
}
For detailed information on all available fields, refer to the CreateApplicationQuestionnaireInput schema definition.

Retrieve an application questionnaire

The applicationQuestionnaire query retrieves a previously created questionnaire by its identifier.
QueryVariablesResult
query($id: String!) {
  applicationQuestionnaire(id: $id) {
    id {
      value
    }
    components {
      id {
        value
      }
      componentTypeCode
      ... on ApplicationQuestion {
        questionHtml
        responseTypeCode
        value
        responseChoice {
          text
          value
        }
      }
      ... on ApplicationPrivacyConsent {
        descriptionHtml
        privacyPolicyUrl {
          url
        }
      }
    }
  }
}
Managing job ads
Questionnaires
Questionnaires