Published on

Integrating any Applicant Tracking System with Superface

  • Tomáš Mládek
    Tomáš Mládek
    Customer Success
    Social media profiles

Applicant Tracking Systems (ATS) help companies manage and organize their hiring and recruiting processes. This means keeping track of job openings, the candidates and their status, storing and processing CVs, and much more. They can both come as simple database applications, or as parts of an entire suite of tools, and so even though they are indispensable for large organizations, companies of all sizes use and benefit from ATS software.

However, integrations with other software can be just as important as the systems themselves. Synchronizing contacts, creating and keeping track of calendar appointments, even sending e-mail are all tasks that may help streamline the hiring process if integrated into an ATS. Moreover, rapid advances in artificial intelligence bring new tools to the table every day, making integrating with existing systems even more important.

In this guide, you will learn how to use Superface to seamlessly integrate with any ATS in minutes, using a single, universal API that you never have to worry about breaking.


One of the issues with integrating different Applicant Tracking Systems is that they often use different words to describe the same (or comparable) concepts. In order to provide you with a seamless experience, we have looked at the most common terms used in the ATS domain, and decided on a common set to use throughout this guide and in our documentation.

Here’s what you need to know to integrate your application with an ATS:

RequisitionRequisition holds company internal details about job position that are relevant to your organization's personnel and financial plans, such as headcount, compensation bands.Requisition, Opportunity, Job, Position
JobJob contains all external details about a role that are meant to be seen by candidates, such as the job description, application question, and company description.Job, Posting, Job Posting, Job Opening
CandidateApplicant being tracked.Contact, Applicant, Application, Opportunity
LeadProspective candidate that the Recruiter will reach out to and inform them of the job opening, to encourage them to apply. A Lead becomes a Candidate once they apply for the job.Prospect, Sourcing Lead
CVA document containing the Candidate’s resume.Resume
CommitmentType of the contract (e.g. Full-time, Part-time, Internship)Work Type, Contract Type, Employment Type, Employment Status
Experience LevelAmount of experience required for a given job posting (e.g. Senior, Junior)Seniority, Experience, Level, Employment Level
SalaryAmount of money offered for a given Job.Compensation
RecruiterPerson responsible for the hiring process.Hiring Manager
OwnerPerson responsible for a specific Job OpeningCoordinator, Supervisor
CompanyOrganization that offers jobs and recruits candidates. Some ATSs do support management of multiple companies under a single account.Organization
StageEach Job has defined recruitment stages that the candidate has to go through. Example: Applied, Initial Interview, Tech Interview, Evaluation, OfferStatus
Stage ChangeRecord collected during the recruitment process to keep track of its history.

From the viewpoint of its user, a hiring process assisted by an ATS may look roughly like this:

  1. A Requisition is created by an internal employee (typically a department manager) to describe their need for a new hire. When the requisition is approved, hiring managers use it to craft a job description that will be used to publicly advertise the vacancy.
  2. A Job is created based on Requisition, and its information filled out, such as its title, description the required Experience Level and Commitment, its location, etc.
  3. The Job is published on a Job board. Company may advertise the open job position on multiple Job boards at the same time.
  4. Candidates submit their CVs for that particular Job. The CVs are then processed, and the candidates may be sorted and ranked.
  5. Recruiters then use this information to proceed with the hiring process – for example, by reaching out to the candidates and arranging interviews.
  6. Based on the outcome of the interview (or other events), the status of the candidate gets updated – they may be rejected, advance to a next Stage, receive ratings from Recruiters, etc. This step represents the bulk of time spent in the hiring process.
  7. Further progress is coordinated and recorded in the ATS by the relevant Recruiters, until the hiring process is concluded.

While all this is solely the task of the ATS, there are many points at which an external tool could be used to provide further data, or perform actions in response to events from the ATS. This requires integrating with the ATS, and that’s where Superface comes in.

Integration Use Cases

Superface gives you a single unified API that you can use to integrate with any ATS. You only integrate once, and you get access to all the available providers with no extra effort.

This is possible by being "use case first". This means you only need to specify what you want to accomplish (for example, “Listing all Job Openings”) and which API provider you want it from (for example, Greenhouse).

Superface takes care of the technical details, such as the different HTTP endpoints that need to be contacted, and the data formatting specific to each provider. Even if the provider organizes their concepts differently (for example, a Candidate or a Lead may be separate objects in the system), the interface your application uses stays the same.

This is what it may look like in practice:

const sdk = new SuperfaceClient();

// Load the profile
const profile = await sdk.getProfile('recruitment/list-jobs');

// Use the profile
const result = await profile.getUseCase('ListJobs').perform(
    state: 'PUBLISHED', // Only list published jobs
    provider: 'greenhouse',

// Handle the result
try {
  const data = result.unwrap();
} catch (error) {

If you want a more in-depth example, take a look at our article with a "recipe" on how to integrate an application that turn's CV to structured data with GPT-3 and updates the ATS with the results:

CV Analyzer


There is a wide variety of ATS providers, each with a different approach, benefits and drawbacks. Here are some of those that you can use with Superface:

Automate the impossible.
Superface. The LLM-powered automation agent that connects to all your systems.

Try it now