🎯 HrFlow.ai Scoring & Searching O.E.M integration
How to enable Searching and Scoring experience within your ATS, CRM or ERP.
Introduction
The purpose of this article outline the data exchange formats and setup necessary to build an OEM Matching (Scoring + Searching) integration between HrFlow.ai and a partner CRM.
This Matching integration can either be:
- Match profiles to a job offer.
- Match job offers to a profile.
For the sake of simplicity we will outline here the Profiles Scoring, but the same can be applied on Jobs
HrFlow.ai indexes the partner job offers and profiles data (parsed data from resumes + other data in the CRM). Levearging the Scoring and Searching APIs, matching requests can be retrieved within seconds.
The goal is that the recruiter stays on the ATS, CRM or ERP and scores all the profiles or jobs.
Here is an example of Talentsoft which is a partner that uses HrFlow.ai Scoring.
Data Indexing
Initial data import
An initial import is necessary in order to retrieve the historical data (profiles and job offers) in the CRM and index them in HrFlow.ai to make them available for scoring and searching.
To do this, it is necessary to follow a pulling process, by using two webservices :
- A webservice that returns all the available jobs in the partner database
- A webservice that returns all the available profiles in the partner database
Continuous synchronization
Once the initial data import is over, the continuous synchronization will be handled by a webhooks' mechanism.
==Update data flow==
HrFlow.ai->Partner: Request updated profiles
Note right of Partner: Partner updating webservice content
Partner-->HrFlow.ai: List of lately updated profiles ordered by modification date
Note left of Partner: Partner responds
HrFlow.ai->HrFlow.ai: Updated profiles
Note left of HrFlow.ai: Scoring Source
Webhooks
The CRM must provide:
- An endpoint that allows to retrieve a profile object (structured data) given its unique reference in the CRM.
- An endpoint that allows to retrieve a job object (structured data) given its unique reference in the CRM.
HrFlow.ai provides six webhooks endpoints corresponding to the following events:
Event Name | Description |
---|---|
profile_create | Triggered when a new profile is created. |
profile_update | Triggered when a profile's content is modified. |
profile_archive | Triggered when an applicant is deleted or when a deletion is requested. |
job_create | Triggered when a new job offer is created. |
job_update | Triggered when a job offer's content is modified. |
job_archive | Triggered when a job offer is deleted. |
When one of those events is triggered, the CRM needs to send an HTTP POST payload to the webhook's configured URL.
Webhooks payloads
- Authentification : TBD
- Body :
{
"reference": "ITEM-CRM-UNIQUE-REFERENCE",
"event_type": "event_name",
"event_date": "2022-03-01T14:21:58Z",
"Accept": "application/json",
"Content-Type": "application/json",
"Host": "api-workflows.hrflow.ai"
}
Ping call
When you create or setup a new webhook, you'll need to test or check if it works correctly. This API will help you to call your ping endpoint for the selected event with a static payload.
Scoring Profiles with respect to a given Job
The idea is to display the profiles with their respective match scores arranged in sequence (e.g. starting with those with the best match with the given job).
Within the CRM, in the Matching screen, the user can set his filtering criteria (see the list of criteria taken by the HrFlow.ai Scoring API) and upon validation, a request is performed to retrieve the most relevant candidates for the job and that match the criteria selected.
The partner uses the Scoring API to perform a GET request and get a list of profiles references with the corresponding scores.
Display Scoring results on the CRM screen
The Scoring API returns a list of references along with scores. The partner can therefore use the references to display the corresponding profiles on the screen along with their matching scores.
Scoring criteria
Scoring response
The response is provided in JSON format and must contain the list of candidates sorted by decreasing relevance to the search.
The response includes the following fields:
Updated 4 months ago