Skip to content
Answer Stack
Open menu

Does the recruiting stack integrate: ATS, CRM, interview scheduling, and job boards?

✓ Verified Last reviewed by AnswerStack Next review due Oct 21, 2026

Every claim is sourced below

Yes for the mainstream systems, though each piece connects through a different mechanism and only some of those connections run in both directions. Job distribution uses either an XML feed the board crawls on a schedule or a posting API: Indeed refreshes crawled feeds four times a day at six hour intervals [6], and LinkedIn tells partners to pick one method rather than both because running both creates duplicate postings [8]. Interview scheduling reads and writes Google Calendar or Outlook 365, and self-scheduling in Greenhouse Recruiting is limited to stages containing a single interview [3]. Because a recruiting CRM and an ATS both store people, duplicate handling matters: a Greenhouse merge overwrites the candidate_id that API and HRIS integrations rely on, and cannot be undone [4]. Connections to assessment, background check, offer, and HRIS vendors are event driven, with the ATS posting a request and the vendor calling a webhook when a status changes [11][13].

What does an integrated recruiting stack actually connect?

Five separate connections sit behind that question, and each uses a different mechanism. Jobs travel outward to boards through either an XML feed the board crawls or a posting API the ATS calls [8]. Applications travel back inward, either from a form the ATS hosts or from a board posting to an endpoint your system exposes [7]. Interview scheduling reads and writes a work calendar, in practice Google Calendar or Outlook 365 [3]. Assessment, background check, and offer vendors exchange requests and results over an API, with webhooks carrying status changes back [11][13]. At hire, a subset of candidate data moves into an HRIS or onboarding platform and becomes employee data [12].

The ATS holds the system of record for hiring

Candidate data lives in the ATS as a person record with one or more application records attached, and every other system writes into that structure or reads from it. The split matters because one person can apply to several jobs, so the person and the application carry separate histories. Merge's recruiting data model uses the same shape, exposing candidates, applications, and jobs as related objects [10].

What a marketplace listing does not tell you

A logo on an integration marketplace confirms only that a connection exists. The better signal is which objects a partner may read and write, which SmartRecruiters publishes as separate Application, Assessment, Job Board, and Offer APIs [11].

Recruiting integrations are built five ways, and most stacks run several at once.

Approach How it connects Where it fits What to check
Native module inside the ATS Scheduling, CRM, or offers sit in the same database, so no data moves Teams wanting one vendor and one support path Whether it matches a specialist tool's depth, such as interviewer pools [5]
Certified marketplace app The partner builds it, the ATS reviews it, a customer turns it on with settings [13] Background checks, assessments, other standard workflows Whether certification covers writing status back or only ordering [13]
Open API and webhooks Your developers call the ATS API and subscribe to events it emits [10][11] Custom logic, internal tools, reporting warehouses Rate limits, version support, and who maintains the code [10]
Unified API middleware One normalized API in front of many ATS platforms [10] Software teams shipping one integration to many customers Which fields are normalized, and which need custom mapping [10]
Job feed or job posting API XML the board crawls on a schedule, or a call to its posting API [6][8] Publishing and expiring jobs across boards Refresh interval, required fields, and whether both methods duplicate posts [6][8]

No approach is inherently better. Native modules remove data movement but tie you to one roadmap, certified apps cover common paths cheaply, and middleware mostly suits software companies rather than employers.

Where does candidate data live when both an ATS and a recruiting CRM hold people?

Both systems store people, and that overlap causes most recruiting data problems. An ATS holds applicants, while a recruiting CRM holds people who have not applied: sourced prospects, event contacts, silver medalists, and anyone in a nurture campaign. The same human often exists in both, under two identifiers and two job titles.

Two architectures, two different problems

Where the CRM is a module of the same platform, the person record is shared and there is nothing to sync. Where the CRM is a separate product, the two systems have to agree on a match key, almost always email address. Greenhouse Recruiting flags a possible duplicate when a profile matches your organization's Duplicate tag settings, for example the same email address, phone number, LinkedIn profile URL, or name [4].

A merge is not a reversible cleanup step

Merging combines the values from both records and logs conflicts in the candidate's activity feed, which sounds harmless until you read what it does to identifiers. Greenhouse documents that manually merging profiles overwrites the candidate_id used through its API and HRIS integrations, that the secondary profile's ID stops appearing in the app and in the API, and that candidates cannot be un-merged [4]. Any system holding the old identifier then points at a record that no longer resolves, so deduplicate before ordering a background check or pushing a hire onward.

How does interview scheduling integrate with calendars?

Scheduling integrations read free and busy data from a work calendar and write the interview event back, which is why Google Calendar and Outlook 365 are the connections that matter [3]. Each interviewer connects their own calendar, and that per person step is the first quiet failure point, because someone who never connected appears completely free.

Self-scheduling covers less ground than most buyers assume

Candidate self-scheduling sends a link the candidate uses to book against interviewer availability, and Greenhouse notes that self-scheduled interviews work with Google Calendar and Outlook 365 and can attach a Google Meet, Zoom, or Microsoft Teams link automatically [3]. The limit is scope: the feature applies only to stages containing one interview, such as a hiring manager screen, so panels and multi-interview loops still go through standard scheduling [3].

Panels, interviewer load, and time zones

Panel scheduling is a constraint problem rather than a calendar lookup, since the system has to find one window that satisfies several people and their limits. Ashby handles this with interviewer pools that pull people in dynamically, daily or weekly interviewer limits, multi-day scheduling for panels split across dates, and automatic generation of candidate schedules for complex loops [5].

Rescheduling is the workflow that fails most often

A reschedule is a delete plus a create executed across at least three systems: the interview record in the ATS, a calendar event on every interviewer's calendar, and the video conference link. Any system that received the create but not the delete keeps a stale event, which is how a candidate joins a call with an interviewer who believes it was cancelled. Ashby's two way event syncing reduces that exposure by updating its record when the work calendar changes [5], and testing a reschedule during evaluation matters more than testing a first booking.

How do job boards, job distribution, and the apply flow actually connect?

Boards ingest jobs two ways, and you have to pick one. LinkedIn documents an XML feed that sends jobs when a customer creates them and a Job Posting API that posts them directly, with explicit guidance to use one or the other to avoid duplication [8]. It also separates free basic jobs, gathered from applicant tracking systems and aggregators, from paid promoted jobs posted through the API into purchased job slots [8].

Feeds refresh on the board's schedule, not yours

Indeed's Job Sync XML feed defines your jobs and how they appear, and requires elements including title, an ISO-8601 date, a unique reference number, a requisition ID, the job URL, company, location, and a description matching the career site [6]. Indeed refreshes a crawled URL or FTP feed four times a day at six hour intervals, and an Indeed hosted FTP as often as every two hours when it receives a new file [6]. A requisition can stay visible for hours after it closes in the ATS.

Hosted apply and redirect are a real trade-off

The apply flow decides both completion rate and data quality. Greenhouse offers five careers page options, from a redirect to a Greenhouse hosted board, through an iframe embed and an API driven board with the application still hosted by Greenhouse, to a fully API driven build with the form on your own site [1]. Indeed Apply sits at the other end, keeping the candidate on Indeed and posting the application to a URL you specify in the feed as JSON carrying name fields, a Base64 encoded resume, screener answers, and analytics marking it organic, sponsored, or an Indeed Targeted Ad [7]. Indeed states that jobs using its Easily apply option receive 12% more clicks [7]. Fewer steps generally produce more completed applications, while a form you host collects custom questions a board profile does not carry, so compare completions per click rather than raw counts.

How do assessment, background check, offer, and HRIS connections work?

These connections share one pattern: the ATS sends a request, the vendor works asynchronously for minutes or days, and a webhook carries the result back. SmartRecruiters exposes to partners an Application API, an Assessment API for requests and results, a Job Board API in XML, an Offer API, and webhooks, reached through a partner API key or an OAuth flow [11].

Background checks carry compliance weight along with the data

Checkr gives partners two ordering paths, and the difference is who touches candidate personal information. In the recommended hosted flow, the partner calls the invitations endpoint and Checkr emails the candidate to collect information and consent, creating the report once the invitation is completed [13]. In the self hosted flow, the partner collects the personal data directly and accepts more of the compliance responsibility [13]. This is not legal advice; United States background screening is governed by the Fair Credit Reporting Act plus state and local law, and software does not move that obligation off the employer.

The move into an HRIS at hire is a field mapping exercise

Hire is where recruiting data becomes employee data, and the field set is smaller than people expect. Workable exports to connected HRIS and onboarding platforms automatically when a candidate reaches the hired stage, moving photo, first and last name, personal email address, job title, start date, the resume as a PDF, LinkedIn URL, and user status [12]. Everything payroll and benefits need beyond that gets collected during onboarding. Write the field map down before go live, because a preferred name overwriting a legal name and a start date that changes after the export fired are the two failures that show up most often.

What actually breaks in a recruiting integration?

Integration failures in recruiting are rarely outages; they are quiet data problems that surface weeks later in a report nobody trusts.

Duplicate candidate records

Duplicates appear whenever two systems can create a person, and the cleanup carries consequences: a Greenhouse merge overwrites the candidate_id used by API and HRIS integrations, removes the secondary ID from the app and the API, and cannot be undone [4].

Status that never writes back

Many integrations push one direction only, so a rejection in the ATS never reaches the sourcing tool and a recruiter keeps working a candidate who is already out. LinkedIn's Recruiter System Connect closes that loop, and it shows what two way sync costs: partners must be approved by LinkedIn, sign an agreement, complete five development modules, and pass certification [9].

Scheduling collisions

Availability is only as accurate as the calendars actually connected [3], and pools with daily and weekly limits reduce collisions by making interviewer load visible to the scheduler [5].

Lost source attribution

Greenhouse attributes a candidate's source using a tracking link built from the job post URL plus a source token appended as a query parameter such as gh_src [2]. When a board rewrites the destination URL, or the candidate searches the job title and arrives another way, the application lands with no source or the wrong one, and cost per hire by channel comes from that field.

Resume parsing that disagrees between systems

The same resume can produce different fields in the board, the ATS, and a screening tool, because each runs its own parser. Indeed states that it does not send every JSON field in every request, so a receiver has to treat missing fields as empty [7].

What should you ask a vendor before you sign?

Ask about mechanics rather than about the marketplace, because every marketplace looks complete from the outside.

  • Which direction does each integration move, and what event triggers it? A connection firing only at hire behaves very differently from one syncing on every status change.
  • Which objects and fields are included, and can you see the field map in writing, as Workable publishes for its hired stage export [12]?
  • Who built the integration and who supports it when it fails? A partner app, a middleware connector, and your own code have different escalation paths [11][13].
  • What are the API rate limits and versioning policy, and how much notice comes before an old version is retired [10]?
  • How does scheduling handle a reschedule and a cancellation across every calendar and video link involved [5], and does self-scheduling cover panels or only single interview stages [3]?
  • How is candidate source captured for each channel, and what happens when the tracking token is stripped [2]?
  • What is the duplicate matching rule, and can a merge be reversed [4]?
  • Where do integration errors appear, and does anyone get notified [13]?

One point applies to the whole category: no mandatory data standard governs recruiting integrations. HR Open Standards describes itself as the only independent, non-profit, volunteer led organization developing specifications for human resource data exchange [14], and adoption is partial, which is why unified API providers exist to normalize vendor differences [10].

This answer was assembled from vendor and platform documentation read directly on the dates shown rather than from summaries or comparison sites. Each behavior came from the primary source that owns it: Greenhouse support documentation for careers page options, tracking links, self-scheduling, and candidate merging; Ashby's product pages for panel scheduling and interviewer pools; Indeed and LinkedIn partner documentation for job ingestion and apply flows; SmartRecruiters, Workable, Checkr, and Merge documentation for partner and API models. No vendor reviewed, sponsored, or approved this record.

Integration behavior changes faster than most published guidance, and field lists, rate limits, refresh intervals, and partner program availability can all change without notice. Treat every figure here as accurate on the verification date and confirm it against current vendor documentation before you build. Corrections from recruiting operations practitioners and vendors are welcome.

This answer was written and reviewed by the AnswerStack Editorial Team, which has no commercial stake in the products, companies, or methods discussed. Every claim is cited inline and verified on the dates shown.

Sources

Choose a careers page integration option

Greenhouse Support

Primary source Verified Jul 21, 2026 Supports: the five careers page options spanning redirect to a Greenhouse hosted board, iframe embed, API driven board with hosted application, embedded board and form, and fully API driven board

“Make a quick and simple change to the code on your website that redirects to your job board on Greenhouse.”

Tracking links overview

Greenhouse Support

Primary source Verified Jul 21, 2026 Supports: source attribution mechanics: a tracking link is the job post URL plus a source token appended as a query parameter such as gh_src

“A source token is a combination of numbers and letters at the end of your URL that uniquely identifies the source.”

Candidate self-scheduling overview

Greenhouse Support

Primary source Verified Jul 21, 2026 Supports: self-scheduling supports Google Calendar and Outlook 365, attaches Google Meet, Zoom, or Microsoft Teams links, allows a single date and time based on interviewer availability, and applies only to stages with a single interview

“Self-scheduled interviews can be integrated with Google Calendar and Outlook 365.”

Merge duplicate candidate profiles

Greenhouse Support

Primary source Verified Jul 21, 2026 Supports: duplicate detection by email, phone, LinkedIn URL, or name; merging overwrites the candidate_id used by API and HRIS integrations; the secondary ID disappears from app and API; merges cannot be undone

“Manually merging candidate profiles will overwrite the candidate_id field used to identify candidates when utilizing our API or HRIS integrations in Greenhouse Recruiting.”

Scheduling features

Ashby

Primary source Verified Jul 21, 2026 Supports: interviewer pools, interviewer preferences and daily or weekly limits, multi-day scheduling, automatic generation of multiple schedules for panels and loops, two-way event syncing, and a scheduling view spanning interviewers, candidate availability, and time zones

“Group interviewers into pools and dynamically pull them in during the scheduling process.”

Job Sync XML feed reference

Indeed Partner Docs

Primary source Verified Jul 21, 2026 Supports: required XML feed elements including title, ISO-8601 date, referencenumber, requisitionid, url, company, location fields, email, and description; refresh four times a day at six hour intervals, and as often as every two hours for Indeed hosted FTP

“For XML that Indeed crawls on a URL or hosts on an FTP server you provide, Indeed refreshes the job data four times a day at six-hour intervals, starting from the time of the last request.”

Direct employer integration with Indeed Apply

Indeed Partner Docs

Primary source Verified Jul 21, 2026 Supports: applications delivered as JSON POST to a postUrl, Base64 encoded resume files in txt, pdf, doc, docx, or rtf, screener answers, organic versus sponsored versus Indeed Targeted Ad analytics, the HTTP 2XX acknowledgment requirement, missing JSON fields, and the 12% more clicks figure for Easily apply

“To process applications programmatically, specify a URL that accepts POST requests from Indeed Apply.”

Job Posting Overview

LinkedIn Talent Solutions (Microsoft Learn)

Primary source Verified Jul 21, 2026 Supports: two ingestion methods (Job Posting API and XML feeds), the instruction to use one or the other to avoid duplication, and the split between free basic jobs and paid promoted jobs including job slots

“To avoid duplication, use either of the above solutions to ingest jobs on LinkedIn.”

Recruiter System Connect Overview

LinkedIn Talent Solutions (Microsoft Learn)

Primary source Verified Jul 21, 2026 Supports: two-way candidate synchronization between an ATS and LinkedIn Recruiter, syncing candidates, applications, and notes so the in-ATS indicator is accurate, plus partner approval, API agreement, five development modules, and certification

“Recruiter System Connect synchronizes customers' candidate information between your ATS and LinkedIn Recruiter.”

Recruiting (ATS) Unified API overview

Merge

Primary source Verified Jul 21, 2026 Supports: unified API model with normalized common models for candidates, applications, and jobs, field expansion into related objects, the recommendation to combine webhooks with polling using modified_after, and per minute rate limits of 100, 400, and 600 by plan tier

“Launch: 100 / minute (per Linked Account), Professional: 400 / minute, Enterprise: 600 / minute.”

Partners overview

SmartRecruiters Developer Documentation

Primary source Verified Jul 21, 2026 Supports: partner APIs exposed to marketplace partners including Application, Assessment, Job Board (XML), and Offer APIs, webhooks for event driven integration, and partner API key plus OAuth authorization flows

“The Marketplace API provides access to the Application API, Assessment API, Job Board API, Offer API, and Webhooks.”

HRIS and onboarding integration for partners

Workable

Primary source Verified Jul 21, 2026 Supports: automatic export at the hired stage and the specific fields transferred: photo or avatar, first and last name, personal email, job title, start date, resume PDF, LinkedIn URL, and user status

“After connecting, data exports happen automatically when candidates reach the hired stage.”

Checkr Partner Developer Guides

Checkr

Primary source Verified Jul 21, 2026 Supports: OAuth account connection, the hosted invitation flow versus the self hosted reports flow, webhook retry schedule of every minute for ten minutes then every hour for 24 hours, and the required integration review before production

“Checkr sends an invitation email to the candidate to provide their information and consent, and once the invitation is completed a Report is automatically created.”

HR Open Standards

HR Open Standards Consortium

Independent Verified Jul 21, 2026 Supports: the absence of a single mandatory recruiting data standard and the existence of voluntary consensus specifications for HR data exchange

“the only independent, non-profit, volunteer-led organization dedicated to the development and promotion of a standard suite of specifications to enable human resource related data exchanges”

Revision history

2 revisions since publication
v1.1 Reviewed and re-verified.
v1.0 Published after editorial review.