How to Connect Your ATS, HRIS, and Payroll with Make.com: A Step-by-Step Integration Guide
HR data fragmentation is not a technology problem — it is an architecture problem. Your ATS, HRIS, and payroll platform each work as designed. The breakdown happens between them, in the manual handoffs where a recruiter exports a spreadsheet, an HR coordinator re-types it into a second system, and a payroll admin copies it into a third. Each handoff is a risk event. That is where the $27K transcription errors live.
This guide shows you exactly how to connect those systems using Make.com™ — step by step, from system audit to verified go-live. For the foundational data integrity principles that make integrations production-grade, start with Master Data Filtering and Mapping in Make for HR Automation. This satellite covers the connection layer: how you actually wire the systems together so data moves without human intervention.
Before You Start: Prerequisites
Complete every item on this list before building a single module. Skipping prerequisites is how HR integrations fail in production three weeks after launch.
- API access confirmed on all three systems. Log in to your ATS, HRIS, and payroll platform admin panels and verify that API access is enabled for your account tier. Some entry-level plans restrict API connectivity. Confirm before building.
- API credentials collected and stored. Gather your API keys, OAuth tokens, or Basic Auth credentials for each system. Store them in a password manager — not a shared spreadsheet. You will need them for Make.com™ connection setup in Step 2.
- Field mapping document drafted. List every data field that must move between systems: candidate first name, last name, email, start date, compensation, job title, department, employment type. Note the exact field name and data type (string, integer, date, boolean) in each system. Mismatched field types are the leading cause of silent data errors.
- Source of truth designated by data type. Decide in writing which system owns each data category. The ATS owns candidate and offer data. The HRIS owns active employee records. Payroll owns compensation calculations. Without this, bidirectional syncs overwrite each other in conflict loops.
- Sandbox or staging environment available. Never build directly against your production payroll or HRIS. Most enterprise HR platforms offer sandbox environments. Confirm access before Step 5.
- Time budget allocated. A single ATS-to-HRIS scenario takes 2–4 hours to build and test. A full three-system integration (ATS → HRIS → Payroll) with error handling takes 1–3 days. Plan accordingly.
Step 1 — Audit Your HR Tech Stack and Map Every Data Flow
Before you open Make.com™, document exactly what data moves between your systems, when it moves, and what triggers it. A missing trigger definition at this stage produces a scenario that never fires, or worse, fires on the wrong event.
Create a simple table with four columns: Source System | Trigger Event | Destination System | Fields Transferred. Walk through the employee lifecycle from offer acceptance to exit and fill in every row.
Common trigger events in HR integrations include:
- Candidate status changed to “Hired” in ATS → create employee record in HRIS
- New employee record created in HRIS → create payroll record in payroll platform
- Employee information updated in HRIS → push update to benefits administration portal
- Termination recorded in HRIS → deactivate payroll record and revoke system access
- Performance review submitted → flag compensation record for review in payroll
Identify which trigger events require real-time execution (new hire provisioning) versus which can run on a schedule (nightly payroll reconciliation). This distinction determines whether you build webhook-triggered scenarios or scheduled polling scenarios in Step 3.
According to McKinsey Global Institute research, workers spend a significant share of their time on data collection and processing tasks that could be automated. In HR specifically, those hours concentrate around exactly these inter-system handoffs. Asana’s Anatomy of Work research confirms that knowledge workers lose substantial productive time to work about work — status updates, data re-entry, and manual syncs — rather than the strategic tasks that require human judgment.
Step 2 — Connect Your Systems to Make.com™
With your data flow map complete, open Make.com™ and establish authenticated connections to each platform. This creates the reusable credentials that every scenario in your HR integration will reference.
Navigate to Connections in the left sidebar. Select Create a new connection and search for your ATS by name. If your ATS has a native Make.com™ app, the connection wizard walks you through OAuth or API key entry. For HRIS and payroll platforms, follow the same process.
For platforms without a native app, use the HTTP module with your API key in the Authorization header. This approach connects Make.com™ to any REST API — covering the long tail of mid-market HR platforms that predate the native app library.
After each connection is established:
- Run a test API call to confirm the connection returns data (not a 401 or 403 error).
- Check that the connected account has write permissions, not just read access. HR integrations that push data to HRIS or payroll require write scope.
- Label each connection clearly: “ATS – Production,” “HRIS – Staging,” “Payroll – Staging.” Clear labels prevent the most common and expensive mistake in integration work: running a test scenario against your production payroll system.
To understand how to fix HR data entry errors with automation, connection integrity is the first control point — a misconfigured connection silently routes data to the wrong environment before a single mapping is built.
Step 3 — Build Your Trigger Scenario (ATS Hire Event)
Start with the highest-stakes flow: candidate marked “Hired” in ATS triggers new employee record creation in HRIS. This scenario eliminates the most error-prone manual handoff in the new hire process.
Create a new scenario in Make.com™. Add your first module — the trigger. You have two options:
- Webhook trigger: Your ATS sends a real-time POST request to Make.com™ the instant a candidate status changes to “Hired.” This is the preferred approach for time-sensitive onboarding flows. In your ATS, navigate to Webhooks or Integrations and register the Make.com™ webhook URL.
- Scheduled polling trigger: Make.com™ checks your ATS every 15 minutes for candidates with a “Hired” status that were not present in the previous check. Use this if your ATS does not support outbound webhooks.
After your trigger module fires, add a Search or Get module for your HRIS to check whether an employee record with this candidate’s email already exists. This duplicate-check is the single most important guard against creating ghost employee records. For a deeper treatment of this pattern, see how to filter candidate duplicates with Make.
Branch the flow with a Router module:
- Route A (no match found): proceed to Create Employee in HRIS
- Route B (match found): proceed to Update Employee in HRIS with current ATS data
This Create-or-Update pattern prevents both duplicates and stale data from reaching your HRIS.
Step 4 — Define and Enforce Your Field Mappings
Field mapping is where most HR integrations break. The scenario runs, no error appears, and three weeks later payroll discovers that 40 employee records have null start dates because the ATS sends dates as strings (“2024-09-01”) and the HRIS expects ISO 8601 format with time zone (“2024-09-01T00:00:00Z”).
In your Create Employee module, map every field from your Step 1 audit document:
- Map ATS first name → HRIS first_name field (string to string — low risk)
- Map ATS start_date → HRIS start_date using Make.com™’s
formatDatefunction to convert format - Map ATS salary_offer → HRIS base_compensation as a number, not a string (strip currency symbols and commas if the ATS stores “$103,000”)
- Map ATS job_title → HRIS position using a text function if capitalization conventions differ
- Map ATS department_id → HRIS department using a lookup table if the two systems use different department codes
For the full toolkit of transformation functions available for this step, see how to map resume data to ATS custom fields using Make. The same mapping principles apply to any structured field transfer between HR systems.
Pay particular attention to compensation fields. David, an HR manager at a mid-market manufacturing firm, experienced a $27K payroll error when a manual ATS-to-HRIS transcription turned a $103K offer into a $130K payroll entry. The employee eventually quit. Explicit field mapping with type enforcement in Make.com™ removes human transcription from this path entirely.
Gartner research on data quality consistently identifies data entry and format inconsistency as a primary driver of downstream reporting failure. The MarTech 1-10-100 rule quantifies this: it costs $1 to verify a record at entry, $10 to clean it after the fact, and $100 to act on bad data after it has propagated through connected systems. In HR, $100-per-bad-record cost materializes as payroll corrections, compliance penalties, and mis-sent benefits communications.
Step 5 — Add Filters to Enforce Data Quality Before Records Are Created
Filters are the enforcement layer between your trigger and your action. They prevent incomplete or invalid records from flowing through to HRIS or payroll, where errors compound across every subsequent pay cycle.
Add a filter module between your trigger and your Create Employee action. Configure it to block records unless all of the following conditions are met:
- Candidate email is not empty
- Start date is a valid date (not null, not a past date more than 60 days prior)
- Compensation value is a positive number greater than zero
- Job title is not empty
- Department is mapped to a valid department code in your HRIS
For records that fail the filter, route them to an exception path: log the incomplete record to a dedicated Google Sheet with a timestamp and the specific field that failed validation. Send an alert to the HR operations Slack channel or email inbox so a human reviews and corrects the source record in the ATS.
This filter-and-log pattern transforms data quality enforcement from a reactive audit process into a proactive, automated gate. For a comprehensive approach to routing complex HR data flows with Make.com routers, the same conditional logic applies to multi-branch integration scenarios involving three or more connected systems.
Step 6 — Extend to Payroll and Benefits: Chain Your Scenarios
Once your ATS-to-HRIS scenario is verified, extend the integration to payroll. The cleanest architecture chains scenarios rather than building one monolithic workflow: your ATS-to-HRIS scenario completes successfully, then triggers a second scenario that creates the payroll record.
Use a Make.com™ webhook between scenarios to pass the newly created HRIS employee ID to the payroll scenario. This ensures the payroll record is anchored to the HRIS record ID — the organizational source of truth for active employees — rather than re-deriving it from the ATS candidate ID, which becomes irrelevant post-hire.
In your payroll Create Record module, map:
- HRIS employee_id → payroll employee_id (link records explicitly)
- HRIS base_compensation → payroll gross_salary
- HRIS pay_frequency → payroll pay_schedule (biweekly, semi-monthly, etc.)
- HRIS start_date → payroll effective_date
- HRIS employment_type → payroll worker_classification (full-time, part-time, contractor)
Worker classification mapping deserves particular attention. SHRM research documents the compliance exposure organizations face when contractor and employee classifications are misapplied in payroll systems. An automation that incorrectly maps “Contract” to “Full-Time” in payroll triggers incorrect tax withholding and benefits eligibility from day one. Add an explicit filter that holds any record with an unrecognized employment type for human review before it creates a payroll entry.
Step 7 — Build Error Handling Routes on Every Scenario
A Make.com™ scenario with no error handling is not production-ready. When an HRIS API times out or a payroll endpoint returns a 429 rate-limit error, an unhandled scenario fails silently. The new hire exists in the ATS, not in HRIS, not in payroll, and no one knows until the employee’s first payday.
For every scenario in your HR integration, right-click on the module most likely to fail (typically the Create or Update module that writes to your HRIS or payroll platform) and select Add error handler. Configure:
- Retry directive: Attempt the failed operation up to 3 times with exponential backoff (wait 5 minutes, then 15 minutes, then 45 minutes). This handles transient API outages automatically.
- Resume directive with logging: If all retries fail, log the failed bundle data to a dedicated error-tracking Google Sheet — capturing timestamp, employee name, email, and the specific error code returned by the API.
- Alert notification: Send an immediate notification to your HR ops Slack channel or email alias whenever a record enters the error log. The alert should include the employee name and a direct link to the failed execution in Make.com™.
For a complete error-handling framework, see the dedicated guide on how to build resilient error handling in Make workflows. Error handling is not optional in HR automation — it is the difference between an integration that runs for years and one that quietly corrupts records for six months before anyone notices.
Forrester research on automation ROI consistently identifies error visibility and recovery as a primary driver of realized versus projected automation savings. Systems that fail transparently allow rapid correction. Systems that fail silently multiply errors across every connected downstream system.
Step 8 — Test Against Staging Before Go-Live
Testing is where overconfident HR automation projects create production disasters. Never validate your integration logic using live payroll or HRIS records. Execute every test against staging environments using synthetic employee data designed to hit edge cases.
Run these specific test cases before activating any scenario in production:
- Happy path: A complete, valid new hire record flows from ATS to HRIS to payroll without errors. Verify all fields arrived correctly typed and formatted.
- Missing field: Submit a test record with the start date blank. Confirm the filter blocks it and the exception log captures it correctly.
- Duplicate candidate: Submit the same email address twice. Confirm Route B (Update, not Create) fires on the second submission.
- API timeout simulation: If your staging environment allows it, temporarily revoke API permissions mid-scenario. Confirm the error handler fires, retries are attempted, and the alert notification reaches your Slack channel.
- Date format mismatch: Submit a start date in an unexpected format (MM/DD/YYYY instead of YYYY-MM-DD). Confirm the formatDate function handles it or the filter blocks it.
- Compensation with formatting: Submit a salary value as “$103,000” (string with symbol and comma). Confirm the number parsing strips symbols correctly and the payroll record receives a clean numeric value.
UC Irvine researcher Gloria Mark’s work on task interruption documents that errors caught during testing require a fraction of the cognitive and time cost to correct compared to errors discovered after a workflow has been running for weeks in production. In HR, post-production payroll errors carry regulatory timelines — many jurisdictions require payroll corrections within a specific number of days — making pre-launch testing a compliance control, not just a quality step.
How to Know It Worked
Your HR integration is working correctly when all of the following are true, verified independently of the Make.com™ execution log:
- Every candidate marked “Hired” in your ATS has a corresponding active employee record in your HRIS within the expected time window (real-time for webhook scenarios, within one polling cycle for scheduled scenarios).
- Every HRIS employee record created by the integration has a matching payroll record with accurate compensation, pay frequency, and start date.
- Zero unhandled errors appear in the Make.com™ execution history over a 5-business-day monitoring period.
- The error log sheet contains only records that should have been held (missing fields, invalid data) — not records that failed due to API or mapping errors.
- A human spot-check of 10 randomly selected new hire records confirms field-by-field accuracy across ATS, HRIS, and payroll for each employee.
Run this verification process weekly for the first month after go-live, then monthly after that. Vendor API updates silently change field names and response formats — ongoing monitoring catches drift before it causes widespread record corruption.
Common Mistakes and How to Avoid Them
Building before designating a source of truth. Without a written decision on which system owns which data, bidirectional syncs overwrite each other. Resolve data ownership before building any scenario.
Skipping the duplicate check. The Search-before-Create pattern is mandatory. Omitting it guarantees duplicate employee records in your HRIS within the first quarter of operation.
Assuming field names match across systems. ATS “department” ≠ HRIS “dept_code” ≠ Payroll “cost_center.” Map every field explicitly against each system’s API documentation before building.
Testing only the happy path. Integrations fail on edge cases, not standard records. Test missing fields, duplicate submissions, format mismatches, and API failure scenarios before go-live.
No error handling on write modules. Every module that writes to HRIS or payroll needs an error handler. No exceptions.
Connecting directly to production systems for testing. Use staging environments. One accidental test execution against production payroll can create real payroll records or trigger premature payment runs.
Next Steps: Deepen Your Integration Foundation
A connected ATS, HRIS, and payroll system is the foundation — not the ceiling. Once data flows cleanly between your core systems, you can layer additional automation: automated offer letter generation, onboarding task provisioning, performance review triggering, and compliance reporting.
To extend the data quality principles that make these integrations reliable long-term, explore how to apply essential Make.com filters for recruitment data at every stage of the candidate pipeline. For the analytics layer that becomes possible once your systems are connected, see how to build clean HR data pipelines for smarter analytics.
The organizations that get the most from HR automation are not the ones with the most tools — they are the ones with the cleanest data architecture. Connect your systems deliberately, enforce data quality at every handoff, and build error visibility into every scenario. That is how a fragmented HR tech stack becomes a strategic asset.




