Applicant Tracking System integration API introduction

Applies to these Dynamics 365 apps:
Human Resources

This article 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.

ATS integration flow.

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:

  1. Functionality to create a recruiting request.
  2. An expanded candidate profile and related workflows.
  3. 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.

Microsoft Dataverse

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:

The above documentation includes detail and developer guidance on using the Dataverse Web API, such as managing authentication, performing operations, and using change tracking or delta tokens with the API.

Option sets

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.

Data model

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.

ATS Integration API data model.

Example query:

Entities:

Option sets:

Example query:

Entities:

Option sets:

See also

Recruit job candidates
What is Microsoft Dataverse?
Use the Microsoft Dataverse Web API
Create and update option sets using the Web API