Create Application Questions
Applicant Profile Data
By default, all candidates applying to a Talroo Apply job will be asked for the following profile building information:
- Name
- Phone
- Location - Zipcode, City, and State
- Resume
- Whether or not resume is required can be set with the
<resume_required>node within the XML Job Feed (see below)
- Whether or not resume is required can be set with the
Applicant Resume
The Talroo Apply system allows advertisers to control whether their applications require applicants provide a resume. Given the large presence of mobile based job seekers in today’s environment, by default, Talroo will not require resumes from Talroo Apply applicants.
To indicate whether a resume is required for a job’s application, you can use the <resume_required> node within the <talroo_apply> node:
- To require a resume for the application, you can pass a value of
trueor1in the<resume_required>node - To NOT require a resume for the application, you can pass a value of
falseor0in the<resume_required>node - You can also work with your Talroo POC to set a fallback value of
true, orfalseto use if the<resume_required>node is omitted from the XML feed
Example for Resume Required
<talroo_apply>
<custom_questions><![CDATA[https://example.com/custom_questions.json]]> </custom_questions>
<postUrl><![CDATA[https://example.com/postUrl]]></postUrl>
<addressCollection><![CDATA[required]]><addressCollection>
<resume_required><![CDATA[true]]><resume_required>
</talroo_apply>
Example for Resume Optional
<talroo_apply>
<custom_questions><![CDATA[https://example.com/custom_questions.json]]> </custom_questions>
<postUrl><![CDATA[https://example.com/postUrl]]></postUrl>
<addressCollection><![CDATA[required]]><addressCollection>
<resume_required><![CDATA[false]]><resume_required>
</talroo_apply>
Applicant Address
The Talroo Apply system allows advertisers to control whether their applications require applicants provide their address.
To indicate whether an address is required for a job’s application, you can use the <addressCollection> node within the <talroo_apply> node:
- To require an address for the application, you can pass a value of
requiredin the<addressCollection>node - To allow an address be provided, but not require one for the application, you can pass a value of
optionalin the<addressCollection>node - To hide the address question for the application, you can pass a value of
offin the<addressCollection>node - Values options are case insensitive
- You can also work with your Talroo POC to set a fallback value of
required,optional, oroffto use if the<addressCollection>node is omitted from the XML feed
Example for Address Required
<talroo_apply>
<custom_questions><![CDATA[https://example.com/custom_questions.json]]> </custom_questions>
<postUrl><![CDATA[https://example.com/postUrl]]></postUrl>
<addressCollection><![CDATA[required]]><addressCollection>
<resume_required><![CDATA[false]]><resume_required>
</talroo_apply>
Example for Address Optional
<talroo_apply>
<custom_questions><![CDATA[https://example.com/custom_questions.json]]> </custom_questions>
<postUrl><![CDATA[https://example.com/postUrl]]></postUrl>
<addressCollection><![CDATA[optional]]><addressCollection>
<resume_required><![CDATA[false]]><resume_required>
</talroo_apply>
Example for Address Hidden
<talroo_apply>
<custom_questions><![CDATA[https://example.com/custom_questions.json]]> </custom_questions>
<postUrl><![CDATA[https://example.com/postUrl]]></postUrl>
<addressCollection><![CDATA[off]]><addressCollection>
<resume_required><![CDATA[false]]><resume_required>
</talroo_apply>
Application Questions
In addition to the profile building data listed above, customers who utilize the Talroo Apply Frame work can ask additional Application questions to better evaluate their applicants and more quickly determine whether they are a good fit for the role.
To utilize Application Questions in the Talroo Apply application flow, format them in JSON and host them at an HTTPS URL that you include in each <job> in the <custom_questions> node under the <talroo_apply> parent node.
The URLs stored within the <custom_questions> node must respond with Application Questions JSON within 4 seconds or else the job will be invalidated.
See the Job Feed Specification page for examples of the <talroo_apply> nodes.
Considerations
- Talroo supports Qualifying Questions, questions that require a correct answer or selection in order for the application to be considered qualified
- Applications that are disqualified will not be used for optimization efforts by our system. Additionally, you can chose to have disqualified applications not sent to your system.
- You can ask up to 100 questions on a single application, however, it is highly recommended to keep the Application question count to 25 and under in order to preserve conversion rates
- Data shows most job seekers do not have their resume on their mobile device – Given the large amount of mobile traffic within Talroo’s ecosystem, it is recommended to use the
<resume_required>node to make resumes optional when applicable - Talroo does not allow Application Questions to unnecessarily request personally identifiable information (PII) from job seekers
Application Questions JSON
As a reminder, Application questions should only include those not already asked as part of the profile building questions.
Below is a table outlining the individual Application Question parameters
| Name | Required? | Description | Values | Example |
|---|---|---|---|---|
id | Yes | Unique ID for this question | String | “drivers_license” |
type | Yes | Question type - If the question type is "date", the question only accepts yyyy-MM-dd format. | "textarea", "text", "select", "hierarchical", "multiselect", "date", "file", "information", "pagebreak" | “select” |
question | Yes | Question text shown to applicant. Not required for "information" and "pagebreak" question type | Any string | “Do you have a driver’s license?” |
text | No | HTML Supported text shown to user. Required for "information" question type | Any string | “The following questions are optional” |
options | No | List of options available to applicant. Required for "select" and "multiselect" type questions | JSON | [{"value": "1", "label": "Yes", "correct": true}, {"value": "0", "label": "No"}] |
value | No | Value corresponding to each option returned for questions with dropdown menus. Required for "select" and "multiselect" type questions | Any string | “1” |
label | No | Text show to applicants for options in any dropdown menu Required for "select" and "multiselect" type questions | Any string | “Yes” |
correct | No | See Qualifying Questions: This parameter is only accepted for "select" and "multiselect" "type" questions. Talroo requires all questions utilizing this feature to have a correct answer provided by the candidate in order to mark the application as qualified. By default, Talroo will send all applications to you. Omit this parameter, if you do not need to filter applications from Talroo's side. | true | true |
required | No | If set to true, the question is required, which produces a non-empty text field or selection. Omit this parameter to define questions as optional. If a question is optional and the candidate chooses not to answer, Talroo sends an answer value of "". Required if "select" type question has an option marked as "correct" | true | true |
format | No | The accepted format of the input. If used with a "text" type question, the value of this field only accepts "integer", "decimal", "numeric_text". See text question type below for more. | “integer”, “decimal”, “numeric_text” | integer |
limit | No | For "text" and "textarea" type questions, the character limit for the answer. | Positive integer | 100 |
min | No | For "integer" or "decimal" format questions, the minimum value for the answer. For "date" type questions, the date that the answer must be on or after. | Any integer for "format": "integer", any decimal for "format": "decimal", any date for "type": "date" in yyyy-MM-dd format | 0, 1970-01-01 |
max | No | For "integer" or "decimal" format questions, the maximum value for the answer. For "date" type questions, the date that the answer must be on or before. | Any integer for "format": "integer", any decimal for "format": "decimal", any date for "type": "date" in yyyy-MM-dd format | 100, 2100-01-01 |
condition | No | Marks question as conditional, revealing it based on the answer to a previous "select" question. Specify the "id" of the previous question and the option "value" that activates it. | JSON | {"id": "parent1", "value": 0} |
Question Types
textarea
A question that displays a multi-line text entry field. Used for questions with long-form answers.
Example
{
"id": "work_environment",
"question": "Describe your ideal work environment:",
"type": "textarea"
}
text
A question that displays a single-line text entry field. Used for questions with shorter answers. The following format specifications are supported:
- No format
- Integer: Displays whole numbers
- Numeric text: Allows for numbers with leading zeroes; does not allow for decimals; does not allow negative numbers
- Decimal: Displays numbers with decimals; allows for leading zeroes.
Example (decimal format)
{
"id": "gpa",
"question": "What was your GPA?",
"type": "text",
“format”: “decimal”
}
select
Allows applicants to select single answer from a dropdown menu of answers.
Example
{
"id": "work_eligibility",
"question": "Are you eligible to work in the United States?",
"type": "select",
"required": true,
"options": [
{
"label": "No",
"value": "no"
},
{
"label": "Yes",
"value": "yes",
"correct": true
},
{
"label": "Yes, with sponsorship",
"value": "sponsorship",
"correct": true
}
]
}
multiselect
Allows applicants to select multiple answers from a list of answers.
Example
{
"id": "availability",
"question": "Please select all shifts you are available to work:",
"type": "multiselect",
"options": [
{
"label": "Morning",
"value": "0"
},
{
"label": "Afternoon",
"value": "1"
},
{
"label": "Evening",
"value": "2"
},
{
"label": "Night",
"value": "3"
}
]
}
Conditional
A question that does or does not appear based on responses to previous questions.
For example, in collected work experience, you might ask if the applicant still works at the provided company.
If they answer no, they would be asked for the end date of their employment.
Example
{
"id": "end_date_one",
"condition": {
"id": "currently_work_here",
"value": "0"
},
"question": "End date",
"required": false,
"type": "date"
}
Hierarchical
Show additional questions and question choices based on previously selected answers. Useful for defining answer choices for subsequent questions based on an applicant's answer.
Example
{
"id": "has_rn_license",
"question": "Do you have a Registered Nurse license?",
"required": true,
"type": "hierarchical",
"options": [
{
"label": "No",
"value": "0"
},
{
"label": "Yes",
"value": "1"
}
],
"hierarchicalOptions": [
{
"condition": {
"id": "has_rn_license",
"value": "0"
},
"id": "nursing_school",
"question": "Are you currently attending nursing school?",
"options": [
{
"label": "No",
"value": "0"
},
{
"label": "Yes",
"value": "1"
}
]
},
{
"condition": {
"id": "nursing_school",
"value": "1"
},
"id": "nursing_school_graduation",
"question": "When are you expected to graduate?",
"required": true,
"options": [
{
"label": "Within the next six months",
"value": "0"
},
{
"label": "Within the next year",
"value": "1"
},
{
"label": "More than a year from now",
"value": "2"
}
]
},
{
"condition": {
"id": "has_rn_license",
"value": "1"
},
"id": "rn_license_time",
"question": "Have you had your RN license for more than six months?",
"options": [
{
"label": "No",
"value": "no"
},
{
"label": "Yes",
"value": "yes"
}
]
}
]
}
date
A question used to in take a date answer.
User’s provide answers in MM/dd/yyyy format.
Data will be returned in yyyy-MM-dd format.
Example
{
"id": "start_date_one",
"question": "Start date",
"required": true,
"type": "date"
}
file
Allows applicants to submit files via a file upload interface. This can be used for certifications, cover letters, portfolios etc.
We only support up to two file type questions.
Supported file types: .docx, .doc, .pdf, .html, .htm, .txt, .rtf.
There is a 7mb limit on applicant submitted files.
Example
{
"id": "cover_letter",
"question": "Please attach a cover letter.",
"required": false,
"type": "file"
}
Information
Used to display informative or explanatory text.
Does not require a response from applicant.
The following HTML tags are supported: <a>, <b>, <p>, <br>, <li>, <ul>, <ol>
Example
{
"id": "information_question",
"text": "While it is not strictly necessary, it is highly recommended to provide a cover letter to highlight the reasons on why you would make a great candidate for this position.",
"type": "information"
}
pagebreak
Use this question type to group questions on to a single page. All questions between two pagebreaks will be shown on the same page to the applicant.
Like other questions, ids for pagebreak type questions must be unique.
While it is not required, it is highly recommended to utilize pagebreak questions to group related questions and improve the application experience.
Example
{
"id": "page1_open",
"type": "pagebreak"
},
...
{
"id": "page1_close",
"type": "pagebreak"
}
Qualifying Questions
Qualifying Questions are application questions that require certain answers for the application to be considered qualified.
These answers are indicated as part of a question’s parameters, and at this time is only supported for select and multiselect question types.
Applications not considered qualified will not be used for optimization efforts by our system.
By default, applications not considered qualified will not be sent you, however, you can work with your Talroo POC to override this setting at the campaign level so that we send both qualified and unqualified applications.
Qualifying Questions perform exceptionally well when paired with our Target CPA bidding strategy.
Select Example: With the following question, only applicants who indicate “Yes” or “Yes, with sponsorship”, will be considered qualified.
{
"id": "work_eligibility",
"question": "Are you eligible to work in the United States?",
"type": "select",
"required": true,
"options": [
{
"label": "No",
"value": "no"
},
{
"label": "Yes",
"value": "yes",
"correct": true
},
{
"label": "Yes, with sponsorship",
"value": "sponsorship",
"correct": true
}
]
}
Multiselect Example: With the following question, applicants who select any of the first three answers, "BLS", "ACLS", or "PALS", will be considered qualified.
{
"id": "certifications",
"question": "Please select which of the following certifications you have:",
"type": "multiselect",
"required": true,
"options": [
{
"label": "BLS",
"value": "BLS",
"correct": true
},
{
"label": "ACLS",
"value": "ACLS",
"correct": true
},
{
"label": "PALS",
"value": "PALS",
"correct": true
},
{
"label": "None of the above",
"value": "none"
}
]
}
Application Question JSON Schema
Below is an example of a JSON containing all question types.
All Application Question JSONs returned by the endpoints contained within the <custom_questions> node should follow this schema.
Example Question JSON
[
{
"id": "page1_open",
"type": "pagebreak"
},
{
"id": "previous_company",
"limit": 100,
"question": "What company did you work for previously?",
"required": true,
"type": "text"
},
{
"id": "currently_work_here",
"question": "I currently work here",
"required": false,
"type": "select",
"options": [
{
"label": "No",
"value": "0"
},
{
"label": "Yes",
"value": "1"
}
]
},
{
"id": "start_date_one",
"question": "Start date",
"required": true,
"type": "date"
},
{
"id": "end_date_one",
"condition": {
"id": "currently_work_here",
"value": "0"
},
"question": "End date",
"required": false,
"type": "date"
},
{
"id": "page1_close",
"type": "pagebreak"
},
{
"id": "page2_open",
"type": "pagebreak"
},
{
"id": "school_years",
"question": "How many years of nursing school did you attend?",
"type": "text",
"format": "numeric_text"
},
{
"id": "gpa",
"question": "What was your GPA?",
"required": true,
"type": "text",
"format": "decimal"
},
{
"id": "page2_close",
"type": "pagebreak"
},
{
"id": "page3_open",
"type": "pagebreak"
},
{
"id": "has_rn_license",
"question": "Do you have a Registered Nurse license?",
"required": true,
"type": "hierarchical",
"options": [
{
"label": "No",
"value": "0"
},
{
"label": "Yes",
"value": "1"
}
],
"hierarchicalOptions": [
{
"condition": {
"id": "has_rn_license",
"value": "0"
},
"id": "nursing_school",
"question": "Are you currently attending nursing school?",
"options": [
{
"label": "No",
"value": "0"
},
{
"label": "Yes",
"value": "1"
}
]
},
{
"condition": {
"id": "nursing_school",
"value": "1"
},
"id": "nursing_school_graduation",
"question": "When are you expected to graduate?",
"required": true,
"options": [
{
"label": "Within the next six months",
"value": "0"
},
{
"label": "Within the next year",
"value": "1"
},
{
"label": "More than a year from now",
"value": "2"
}
]
},
{
"condition": {
"id": "has_rn_license",
"value": "1"
},
"id": "rn_license_time",
"question": "Have you had your RN license for more than six months?",
"options": [
{
"label": "No",
"value": "no"
},
{
"label": "Yes",
"value": "yes"
}
]
}
]
},
{
"id": "page3_close",
"type": "pagebreak"
},
{
"id": "page4_open",
"type": "pagebreak"
},
{
"id": "desired_hours",
"question": "How many hours would you like to work a week?",
"required": false,
"type": "text",
"format": "integer",
"min": "0",
"max": "80"
},
{
"id": "availability",
"question": "Please select all shifts you are available to work:",
"type": "multiselect",
"options": [
{
"label": "Morning",
"value": "0"
},
{
"label": "Afternoon",
"value": "1"
},
{
"label": "Evening",
"value": "2"
},
{
"label": "Night",
"value": "3"
}
]
},
{
"id": "work_environment",
"question": "Describe your ideal work environment:",
"type": "textarea"
},
{
"id": "page5_close",
"type": "pagebreak"
},
{
"id": "page6_open",
"type": "pagebreak"
},
{
"id": "work_eligibility",
"question": "Are you eligible to work in the United States?",
"type": "select",
"required": true,
"options": [
{
"label": "No",
"value": "no"
},
{
"label": "Yes",
"value": "yes",
"correct": true
},
{
"label": "Yes, with sponsorship",
"value": "sponsorship",
"correct": true
}
]
},
{
"id": "page6_close",
"type": "pagebreak"
},
{
"id": "page7_open",
"type": "pagebreak"
},
{
"id": "information_question",
"text": "While it is not strictly necessary, it is highly recommended to provide a cover letter details and highlight into highlight the reasons on why you would make a great candidate for this position.",
"type": "information"
},
{
"id": "recent_example_work",
"question": "Please attach a cover letter.",
"required": false,
"type": "file"
},
{
"id": "page7_close",
"type": "pagebreak"
}
]