This content provides an early look at an upcoming extension to the SEEK API. You may use it to scope integration effort, but the features described are not fully implemented and may be adjusted ahead of a production release.
Please check with your SEEK contact before starting any build work described here.
The SEEK Questionnaire Panel is built on operations available through our GraphQL endpoint.
You can programmatically retrieve recommended questions, define custom questions and privacy policies, and create questionnaires.
This allows you to build your own custom user interface for questionnaires.
- Evaluate whether you can embed the SEEK-built Questionnaire Panel, which is a simpler alternative to creating your own implementation.
- SEEK recommends using a browser token to manage questionnaires directly from a hirer’s browser. For the browser token to work, you will need to include the
mutate:application-questionnaires query:application-library-question-suggestions query:application-questionnaires
scope in your request. - You can also manage questionnaires from your backend using a partner token.
The
applicationLibraryQuestionSuggestions
query returns a list of suggested SEEK library questions based on a partial PositionProfile
.
This can be used to interactively suggest application questions to a hirer while they’re posting a job ad.You should invoke the query whenever a hirer updates one of these fields:
While only the position’s title, category and location are required, providing position descriptions will increase suggestion relevance.
query (
$positionProfile: ApplicationLibraryQuestionSuggestions_PositionProfileInput!
$schemeId: String!
$first: Int
) {
applicationLibraryQuestionSuggestions(
schemeId: $schemeId
positionProfile: $positionProfile
first: $first
) {
id {
value
}
applicationLibraryQuestion {
text
id {
value
}
preferenceSelection {
typeCode
message
}
responseTypeCode
responseChoice {
id {
value
}
text
}
}
}
}
Each suggested
applicationLibraryQuestion
contains the details of a question from SEEK’s library.
A hirer may select up to 8 suggested questions for inclusion in their questionnaire.You should present the hirer with an appropriate input control to record their preferred response choices to each selected question,
which drives scoring of questionnaire submissions.
The
preferenceSelection
field describes how you should present the response choice selection.The following samples provide a visual representation of how you should present the hirer view for each scenario.
The accompanying candidate view approximates how SEEK will present the question on our application form per the
responseTypeCode
;
it exists for illustrative purposes only and does not need to be shown within your software.SingleChoice
indicates that the hirer can select a single preferred response choice.
A radio group or dropdown should be used.For a question with a
SingleSelect
candidate response:Hirer view
Candidate view
MultiChoice
indicates that the hirer can select multiple preferred response choices.
A checkbox group should be used.For a question with a
SingleSelect
candidate response:Hirer view
Which of the following statements best describes your right to work in Australia?
I will accept any of these answers
Candidate view
For a question with a
MultiSelect
candidate response:Hirer view
Which of the following Microsoft Office products are you experienced with?
I will only accept this combination of answers
Candidate view
Which of the following Microsoft Office products are you experienced with?
Range
indicates that the hirer can select two response choices representing the minimum and maximum preferred choices.
A set of two dropdowns should be used.For a question with a
SingleSelect
candidate response:Hirer view
What is your expected annual base salary?
I will accept between this range
to
Candidate view
The minimum dropdown should implement the following rules:
- The last option should be disabled
The maximum dropdown should implement the following rules:
- The first option should be disabled
- The selected minimum and preceding options should be disabled
- The selection should be reset if the minimum is greater than or equal to it
If a hirer is unable to find a relevant question from SEEK’s library,
they may wish to provide their own question.
A hirer may create up to 3 custom questions for inclusion in their questionnaire.
We recommend supporting the same question types as the SEEK-built Questionnaire Panel:
- Free text
- Yes/no
- Single select
- Multi select
However, you may choose to omit complex selection types if there is limited demand from your hirers.
This is a question
free text
The candidate can write a free text response
Component
Copy
[
{
"componentTypeCode": "Question",
"question": {
"componentTypeCode": "Question",
"questionHtml": "",
"responseTypeCode": "FreeText"
}
}
]
The above sample generates the corresponding
ApplicationQuestionnaireComponentInput
to supply to questionnaire creation.If your software stores a link to the hirer’s privacy policy,
you can present a checkbox that requires candidates to accept the privacy policy as part of the application form.
The description and URL of the privacy policy should be populated by your backend,
as the hirer shouldn’t need to tailor these details per job ad.
Component
Copy
[]
The above sample generates the corresponding
ApplicationQuestionnaireComponentInput
to supply to questionnaire creation.The
createApplicationQuestionnaire
mutation creates a new questionnaire.
You can include SEEK library questions from the applicationLibraryQuestionSuggestions
query, custom questions, and a privacy consent component.If a library question was suggested via the
applicationLibraryQuestionSuggestions
query,
you should supply its ApplicationLibraryQuestionSuggestion.id
as input to the createApplicationQuestionnaire
mutation.The
applicationQuestionnaire
query retrieves a previously created questionnaire by its identifier.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
}
}
}
}
}