Applicant Tracking System integration API introduction
Applies to these Dynamics 365 apps:
This topic describes the Dynamics 365 Human Resources Applicant Tracking System (ATS) integration API. The intent of the API is to enable streamlined integrations between Dynamics 365 Human Resources and partnering ATSs.
The integrated experience begins in Human Resources when a hiring manager creates a recruiting request. When the request is activated, the ATS pulls the detail for the request to create a recruiting project. Then it follows the recruiting pipeline to select and hire a candidate for the position(s). Finally, the ATS completes the round-trip integration by sending the selected candidate’s record into Human Resources. The candidate record can then go through more onboarding validations and workflows to create the employee record.
To enable the integration, Human Resources has added the following components:
- Functionality to create a recruiting request.
- An expanded candidate profile and related workflows.
- An integration API opening up the new functionality to integrating applications.
For more information about setting up and using the recruiting request and candidate functionality, see Recruit job candidates.
This API is built on Microsoft Dataverse (formerly Common Data Service). All RESTful interaction with this API is done via the Microsoft Dataverse Web API, which uses OData. This API is a subset of the Dataverse Web API. The Dataverse Web API defines characteristics such as authentication, SLAs, batch, concurrency control, and error handling.
For more general information about the Microsoft Dataverse Web API, see:
- What is Microsoft Dataverse?
- Use the Microsoft Dataverse Web API
- Microsoft Dataverse developer guide
The above documentation includes detail and developer guidance on using the Dataverse Web API, such as managing authentication, performing operations, using Postman with the API, and using change tracking or delta tokens with the API.
The data model for the ATS integration API described in this document includes option sets that provide enumerated values associated with entity properties. For detail on working with option sets in the Dataverse Web API, see Create and update option sets using the Web API. Option sets are defined for each Dataverse environment.
Virtual tables for Human Resources in Dataverse
The endpoints for the ATS integration API use the virtual table platform capabilities of Microsoft Dataverse. By default, the virtual tables and their associated API endpoints are not deployed for Human Resources environments, enabling organizations to determine which OData endpoints will be exposed for the environment. To use the API, the virtual tables for the Human Resources entities must be generated for the environment.
For information on generating the virtual tables for the API, see Configure Dataverse virtual tables.
The data model is centered around two main entities:
- RecruitingRequest represents a request to an ATS to recruit for one or more open positions.For an example query, see Example query for Recruiting request.
- CandidateToHire represents details of a candidate who has accepted an offer for a position. Person represents the individual who is the candidate. A person can have multiple roles in the company, such as candidate, worker, employee, or contractor. For an example query, see Example query for Candidate to hire.
The following diagram illustrates relationships within the API. Several types have foreign keys to other, pre-existing entities in Human Resources that aren't illustrated here. This document provides information on entities that are specific to recruiting integration scenarios. However, there are many other entities in the Dataverse Web API for Dynamics 365 Human Resources that may also be relevant to your integration. For example, you may also need detail for workers, jobs, positions, or other entities not defined here. Many of these entities are referenced in foreign key relationships or navigation properties.
Recruiting request and related entities and option sets
- Recruiting request
- Recruiting request position
- Recruiting request skill
- Recruiting request education
- Recruiting request location
- Job exempt status
- Recruiting request position status
- Recruiting request status
- Regulatory job category
Candidate to hire and related entities and option sets
- Candidate to hire
- Person education
- Person professional experience
- Person address
- Party contact
- Person skill
- Rating level
- Person certificate
- Certificate type
- Person screening
- Screening types
- Person identification number
- Applicant integration result
- Blank Yes No
- Completion status
- Contact type
- Education credit basis
- Marital status
- Months of year
- No Yes
- Period unit
- Screening frequency
- Screening frequency generate from
- Skill level type