Add application form field
add_screening_form_fieldAdd one field to the application form of a job position. Exactly one of two kinds per call:
preBuiltField: a field the product already knows how to ask (phoneNumber, linkedinUrl, resumeFile, selfiePhoto, neighborhoodLocation, birthday, sexAssignedAtBirth, pretendedSalary, currentSalary, willingToRelocate), with its label, widget and validation. Which ones a form accepts depends on how the position collects applications; the error lists them.label+type: a custom question, withlabelas the candidate reads it. A select or multiselect takes at least 2options.
The field's flags, unit and expected answer (required, isKnockout, expectedAnswer, currency/period) are set in the same call. A new field is required unless required is false. A knockout must be required and have a complete expected answer.
willingToRelocate is a yes/no question ("do you live in the job's area or are you willing to relocate there?"); once the form carries it, it replaces the automatic residence requirement derived from the position's location, and its expectedAnswer takes booleanValue. pretendedSalary collects an amount and takes currency and period together; its expectedAnswer uses operator/value or operator "between" with min and max. currentSalary also takes currency and period together, has no expected answer and cannot be a knockout.
The response reports criteriaVersionChanged: when true, the position's existing scores were computed against the previous form.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"jobDescriptionId": "<jobDescriptionId>"
},
"name": "add_screening_form_field"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Type of the new custom field | |
| label | No | The question, as the candidate reads it. For a new custom field; requires type. | |
| period | No | Period the amounts cover. Required together with currency. | |
| options | No | Choices for a select or multiselect field. At least 2 are required. | |
| currency | No | ISO currency code the amounts are expressed in (e.g. USD). Required together with period. | |
| required | No | Whether the candidate must answer this field | |
| isKnockout | No | Whether an answer outside the expected one disqualifies the candidate automatically | |
| maxDistanceKm | No | Maximum commute distance in kilometres, for the "neighborhoodLocation" field only | |
| preBuiltField | No | Name of a pre-built field to switch on. Mutually exclusive with label/type. | |
| expectedAnswer | No | The expected answer. Setting it turns the expectation on. A knockout also needs the field to be required. | |
| jobDescriptionId | Yes | The job position ID |