Using this webhook, you can customize the hire form that the recruiter fills out in Comeet when changing a candidate's status to Hired. This allows you to require the recruiter to provide details that are not managed in Comeet but are required for creating the new employee profile. Using this webhook is optional.
Request
Comeet will make this request to the endpoint that you define. The payload of the request includes the hired candidate's details as defined here. If needed, use this information to customize the form that will be presented to the recruiter.
{
"comeet_id": "19E.98",
"person_uid": "05.E4A",
"first_name": "Bobby",
"middle_name": "Robert",
"last_name": "Chauck",
"email": "[email protected]",
"time_created": "2016-08-10T13:30:02Z",
"phone": "07-4442321",
"mobile_phone": "052-8644246",
"id_number": "5454-2233-1",
"linkedin_url": "https://www.linkedin.com/in/bobby-hauck-06b0735",
"hired_date": "2016-10-16",
"start_date": "2016-10-23",
"source": {
"name": "JobmeHR",
"type": "Agency",
"comeet_id": "101E.27"
},
"resume": {
"name": "bobby_cv.docx",
"url": "https://comeet-xxx.amazonaws.com/65c0a9ff2166g"
},
"picture": {
"url": "https://comeet-xxx.amazonaws.com/e43123cff1231g0"
},
"links": [
{
"url": "http://www.personalportfolio.com"
}
],
"files": [
{
"name": "Offer letter.pdf",
"url": "https://comeet-xxx.amazonaws.com/e4376598f1231g0",
"type": "offer_letter"
}
],
"offer_fields": [
{
"PTO": "25"
},
{
"Car type": "Mini"
}
],
"opening": {
"description": "For team A",
"reason": "new",
"custom_fields": {
"Department": "Sales",
"Type": "Management"
}
},
"position": {
"comeet_id": "34D.98",
"name": "Automation QA",
"public_name": "Automation QA Engineer",
"description": "<div>QA Automation Engineer - Remote working<br><br>We are looking for a QA Automation Engineer who is excited by the opportunity to build modern, open source software for financial institutions, government regulators, and others taking on the challenges of interoperability and financial inclusion. Here, as QA Automation Engineer, you’ll get the chance to work on something truly unique, that has real, lasting impact in real-time payments, and financial inclusion of the poor.<br><br>Our mission is to improve lives by accelerating universal access to reimagined financial services. It is our belief that technology is the key to driving this access for the most vulnerable and disadvantaged people.<br><br></div>",
"requirements": "<ul><li>Agile software development experience (Kanban, Scrum)</li><li>Experience with testing and authoring test automation for both REST and SOAP based web services</li><li>Experience working with Selenium using page object modelling</li></ul>",
"department": "R&D",
"position_id": "AQA_011",
"location": "New York",
"employment": "Full-time",
"employee_type": "Headcount",
"seniority": "Senior",
"hiring_manager": {
"first_name": "David",
"last_name": "Black",
"email": "[email protected]"
},
"leading_recruiter": {
"first_name": "Brandon",
"last_name": "Liao",
"email": "[email protected]"
},
"custom_fields": {
"custom field": "value",
"custom field 2": "value 2"
}
},
"custom_fields": {
"custom field": "value",
"custom field 2": "value 2"
}
}
Response
The response must contain a set of questions in a JSON format as described below. You can use the candidate and position data that is sent in the request to customize the options presented in the form.
- Successful response: return HTTP code 200.
- Handling errors: return the appropriate HTTP code for the error. The payload must include a clear and actionable description of the problem that will be shown to the user. See the required data structure here.
- Note that this request will timeout after 40 seconds. For a positive user experience, the typical response time should be no more than 2 seconds.
Name | Type | Description |
---|---|---|
questions | array of objects | |
questions[].uid | string | Unique identifier for the question, defined by your system. This identifier is subsequently provided with the request to create the new employee |
questions[].title | string | The title of the question that is presented to the user |
questions[].is_required | boolean | true - the question is requiredfalse - the question is optional |
questions[].type | string | One of the followingSHORT_ANSWER – an input field for free form textDROPDOWN – select from a given list of optionsDATE_PICKER – select a dateSEARCH_DROPDOWN – select from a list of options. Use this option instead of a dropdown when there's a long list of options, for example, when selecting the direct manager out of a list of employees. See the documentation below for more details. |
questions[].options | array of objects | For questions of type DROPDOWN only - define the options that the user should select from.For other question types - must include an empty array. |
questions[].options[].title | string | The text of the dropdown option that is presented to the user |
questions[].options[].uid | string | Unique identifier for this option, defined by your system. The identifier of the selected option is subsequently provided with the request to create the new employee |
{
"questions": [
{
"uid": "1",
"title": "Nickname",
"is_required": false,
"type": "SHORT_ANSWER",
"options": []
},
{
"uid": "2",
"title": "Date of birth",
"is_required": true,
"type": "DATE_PICKER",
"options": []
},
{
"uid": "3",
"title": "Department",
"is_required": true,
"type": "DROPDOWN",
"options": [
{
"title": "Finance",
"uid": "1"
},
{
"title": "Product",
"uid": "2"
}
//...
]
},
{
"uid": "4",
"title": "Direct manager",
"is_required": true,
"type": "SEARCH_DROPDOWN",
"options": []
}
]
}
Search dropdown
Use this question type instead of a dropdown when there's a long list of options, for example when selecting the direct manager out of a list of employees.
Request
When the user types two characters or more, Comeet will make a POST request to the same URL that you define for the Request hire questionnaire. This request will be made with the additional query string param action=search
.
POST https://api.hrisapp.com/comeet/request_hire_questionnaire?action=search
{
"search_term": "John",
"field_uid": "4"
}
Response
Return the relevant options for the user's input in an array of objects. Only the top 10 options will be displayed in the dropdown.
Name | Type | Description |
---|---|---|
title | string | Presented to the user in the dropdown |
uid | string | The UID of the selected option is provided in the Create an employee request |
[
{
"title": "John Robert",
"uid": "1"
},
{
"title": "John Ventora",
"uid": "2"
},
//...
]