Technical Articles
Configuring application status for candidate search results table in Successfactors Recruiting
Hi Successfolks!
Trust everyone is keeping safe during this challenging times. I am back with another quick treat. This might add value to your day to day candidate sourcing activities in Successfactors recruiting.
Background: The standard candidate search functionalities in SFSF recruiting does not have a filter to identify the candidates who are currently in an application status. For an organization, where the recruiting activities are distributed across different teams, its possible that a recruiter will add a candidate to a requisition who is already in the final stages of another requisition.
It’s possible to open the candidate profile and look for the jobs applied portlet, however its not a good experience for the recruiters to open each candidate profile at a time when they mass forward candidates to a requisition. Based one of my customer’s request, we tried to check if it’s possible to include a flag in the candidate search results table which would give the recruiters the status of a candidate based on the existing job application.
Workaround: We used intelligent services to build a custom integration that updates the application status, requisition id on the candidate profile and make it visible in the candidate search list. After the deployment of the PoC, the recruiters could navigate through the search results faster and it increased their productivity in candidate sourcing.
I thought of sharing the approach below for the benefit of other customers:
- Add new custom fields to the candidate profile to save the current application status and the requisition id. These custom fields will be added to the candidate search filters also.
- Use the intelligent services event “Update of Job Application Status” to trigger a custom integration which will update the values from the job application to the custom fields created above. So, whenever a candidate is moved across the talent pipeline the field values in the candidate profile will be updated to show the latest status to the recruiters.
Limitation and prerequisites:
- It is possible a candidate can belong to multiple requisitions at the same time. So, it’s possible that if the candidate is moved to a lower status in the talent pipeline in one requisition, it will reset the status because of the recent update even if the candidate is on an advanced status in another requisition. To handle this, we will need custom logic in the field mapping which is explained later. As a prerequisite, the applicant status configuration should be set up in such a way that the status-id is organized in ascending order. The value in the status-id should be organized so that the higher value indicates an advanced status in the talent pipeline.
- This workaround is suitable only for customers using the same application status configuration for all the job requisition templates.
- This integration will not trigger when you forward a candidate as a new application to any requisition. This is because the update of job application is not fired. The event will be triggered only when the candidate is moved across the talent pipeline after adding them to requisition.
- I did not perform extensive performance testing for parallel execution by simultaneous recruiter actions on the same candidate.
- For existing candidates with an application, a data migration will be required to update the current application status in the custom fields.
Configuration Steps:
- Candidate profile template update: Add the following fields in the candidate profile template:
- CustAppID
- CustAppStatus
- CustAppStatusID
- CustReqId
- The custom fields above are added to the Candidate Search Display Option so that these fields can be enabled in the candidate search tool.
- Run the ODATA API Meta-data refresh in the Successfactors System.
- Create a custom integration for the event in the intelligent service center:
- Navigate to the intelligent service center and click the event “Update of Job Application Status”
- Click on Custom Activities–> Integration
- Click “Create a new integration”
This will navigate you to the integration center to create a new integration which will be triggered whenever there is an update to the candidate application status (progression of candidates through the talent pipeline).
- Choose the following options to define the integration destination. Then click “Create”.
- Provide any name for the Integration:
- Click Next and configure the field mapping and custom calculations for the newly created candidate profile fields as below:
- Candidate Entity–>Candidate ID field mapped to JobApplication–>Candidate
- Candidate Entity–>Recent Application ID field mapped to JobApplication–>Application ID
- Switch to the detail view and add a custom calculation for the Candidate–> Application Status field. This custom calculation will update the value based on the priority list (e.g, if a candidate is already in any requisition, the current application status will only be changed if it’s higher than the existing application status).
- Here we are comparing the current application status-id with the old application status-id. If it’s greater than the old application id, the new value of the application status name will be updated in the candidate profile.
- Switch to the detail view and add a custom calculation for the Candidate–>Requisition ID field. This custom calculation will update the value based on the priority list. (e.g., if a candidate is already in any requisition, the current requisition id will only be changed if the new application status is higher than the existing application status).
- Here we are comparing the current application status-id with the old application status-id. If it’s greater than the old application id, the new value of the requisition id will be updated in the candidate profile.
5. Click Next –> Next –> Save the integration.
6. After that click “Go to ISC”:
- Select the Integration configured above and click Add Integration. This will add integration to the flow.
- The integration will be added to the event flow and will be triggered every time a candidate status is changed in the recruiting talent pipeline.
Testing:
- Add a candidate to a requisition as a new application.
- Move the candidate to a new status in the talent pipeline.
- Go to the candidate search screen and search the candidate.
- Verify if the application status and requisition data is available in the candidate search.
- The custom fields can also be used as a filter condition in the candidate search.
I hope this adds value to your recruiting process. Happy implementing and using Successfactors.
Thanks and regards,
Soumyajit Roy
This is a great solution for a frequent request from recruiters!
I would like to call-out that if your users are used to changing a candidate's status by making the selection in the candidate status drop-down field on the application, then clicking "Save" on the application, this will not trigger the "Update of Job Application Status" Intelligent Services event.
https://userapps.support.sap.com/sap/support/knowledge/en/2775469
https://launchpad.support.sap.com/#/notes/2851325
I became aware of this when working on an automatic background check initiation integration project where background screens failed to initiate. We instead built the integration through the Update of Job Application trigger to capture all status change events.
Best regards,
Angie
Hi Angie,
Thanks for reading and providing your valuable comment on this blog. Thanks for pointing out the limitation with the Update of Job Application status event. I did choose the event "Update in Job Application Status" event for the prototype as it caters to the maximum number of ways a candidate can be advanced in the recruiting process. We can trigger the same integration for Update in Job Application event as well with minor changes. This should cater to the scenario that you have mentioned.
Thanks and regards,
Roy
Hi Roy,
Thanks for sharing this with us. It would be also good to have some insides about, how the candidate search behaves when the candidate has more then one active application on several job requisitions? (So one candidate profile with several active applications)
Thank you and kind regards
Johannes
Hi Johannes,
Thanks for your comment. There is no difference in candidate search based on applications. Each candidate will have only one line item in the candidate search regardless of the number of applications. The idea here is to show the current status of the candidate in the search results.
Hope this helps.
Thanks,
Roy