
Post: How to Export Recruiting Insights with Make.com: A Data-Driven Hiring Blueprint
Make.com pulls recruiting data from your ATS, HRIS, and calendar platforms, transforms it into a consistent format, and pushes it to a single analytical destination on a schedule. The result: a real-time view of which sourcing channels produce hires — built without code, without manual exports, and without a data team.
Recruiting data is not scarce. Every ATS, HRIS, calendar platform, and survey tool your team uses generates it continuously. The problem is fragmentation — candidate source data lives in one system, interview feedback in another, offer outcomes in a third. No single platform’s built-in reports bridge that gap. Teams end up making budget and strategy decisions on gut feel while the evidence sits locked in disconnected silos.
This guide walks through building automated data export workflows in Make.com that pull recruiting data from multiple source systems, transform it into a consistent format, and push it to an analytical destination — on a schedule, without manual work. This is the infrastructure layer that makes recruiting automation with Make.com strategic rather than just operational. Before building anything here, run an OpsMap™ to confirm where your data actually lives and which fields your business decisions depend on.
By the end of this guide, you will have a working pipeline that surfaces at least one high-value recruiting metric and a repeatable framework for adding more.
Before You Build: Five Prerequisites
Build nothing until you have these five prerequisites confirmed.
API access credentials for every source system. Your ATS and HRIS must have API access enabled. Locate your API key or OAuth credentials in each platform’s developer or integration settings before opening Make.com. Some ATS plans gate API access to higher tiers — verify your subscription level first.
A defined analytical destination. Know where the exported data will land before you build the pipeline. Google Sheets is the fastest starting point. A SQL database or BI tool API endpoint requires additional configuration. Have the destination created and accessible before Step 4.
A Make.com account with sufficient operations. Each module execution in a scenario consumes operations. Estimate your expected weekly record volume and confirm your plan covers it. A nightly export of 200 candidate records across 3 modules = 600 operations per run.
A written data map. List every field you need to export, which source system holds it, what it’s called in that system’s API response, and what you want it called in your destination. This document becomes your field-mapping reference in Step 5 and prevents the most common build error: mismatched field names that silently write blank cells.
Legal clearance on PII fields. Identify which fields contain personally identifiable information. Confirm with your legal team which fields can be exported to analytical destinations and whether hashing or anonymization is required before you build. Do not skip this step.
Time to build: 2–4 hours for a single-source export workflow. 4–8 hours for a multi-source pipeline with full error handling.
Technical level: No coding required. Comfort reading API documentation helps but is not mandatory.
Step 1 — Define the Single Business Question Your Export Will Answer
Scope every export workflow to one business question before you open Make.com. Multi-question pipelines built without this constraint become unmaintainable within weeks.
The highest-impact starting question for most recruiting teams: Which sourcing channels produce candidates who reach offer stage, and which produce candidates who drop at screening? This directly informs budget allocation — the question your leadership team is already asking.
Write your question out explicitly. Then identify the exact data fields that answer it:
- Candidate ID — to de-duplicate across systems
- Source channel — job board, referral, LinkedIn, agency, etc.
- Application date — to calculate time-in-stage metrics
- Current stage — where the candidate sits in the pipeline right now
- Stage transition dates — when they moved from one stage to the next
- Disposition reason — why they exited the pipeline if they did
If your question cannot be answered with fields that exist in your systems today, stop here and fix the data collection problem first. Automation exports what exists — it does not create data that was never captured. See how to fix broken hiring processes before building your export pipeline.
Step 2 — Map Your Source Systems to Your Destination Schema
Before building in Make.com, create a field map document with four columns:
- Destination field name — what you want the column called in your analytical destination
- Source system — which platform holds this field
- API field name — the exact key name returned in the API response (check the API docs, not the UI label)
- Transform required — whether the field needs date formatting, concatenation, lookup, or anonymization before it lands
This document is not optional. Field names in API responses rarely match the UI labels you see in the platform. A field your ATS shows as “Source” in the interface returns as candidate_origin_source_id in the API — and that ID maps to a name in a separate lookup table. Build this map before you touch a single module in Make.com.
If you are pulling from multiple systems, add a fifth column: Join key. Identify the field you will use to link records across systems — a candidate email address, a unique ID, or an ATS-assigned candidate number. Without a reliable join key, multi-source pipelines produce unmatched rows that corrupt every metric you build downstream.
Step 3 — Set Up the Trigger in Make.com
Open Make.com and create a new scenario. Your trigger determines when the export runs.
For most recruiting data exports, use a Schedule trigger set to run nightly between midnight and 4 AM — low traffic window, fresh data available every morning. Avoid real-time webhook triggers for analytical exports unless you have a specific operational reason. Real-time exports increase operation consumption dramatically and rarely improve the quality of a daily recruiting report.
Configure the schedule trigger:
- Add a new module — search for “Schedule”
- Set the interval to “Every Day”
- Set the time to 1:00 AM in your local timezone
- Save the trigger configuration
Name your scenario immediately. Use the format [TEAM] – Recruiting Data Export – [DESTINATION]. Example: Acme HR – Recruiting Data Export – Google Sheets. Unnamed scenarios become unmanageable the moment you have more than a handful of them running.
Step 4 — Connect Your Source Systems
Add your first source system module. The exact module depends on your ATS. Check the Make.com app library for a native connector first. If your ATS is not listed, use an HTTP module to call the API directly.
For native connectors:
- Search the app library for your ATS name
- Select the “List Records” or “Search Candidates” action type
- Create a new connection using the API credentials you gathered in the prerequisites
- Set date filters to pull only records updated since the last run — use Make.com’s built-in
{{now}}variable minus 24 hours as your lower bound
For HTTP modules (no native connector):
- Add an HTTP “Make a Request” module
- Set the method to GET
- Enter your ATS API endpoint URL
- Add your API key in the Authorization header (Bearer token or API key format, depending on your ATS)
- Add query parameters for date range filtering — most ATS APIs accept an
updated_afterormodified_sinceparameter
Run the module once to capture sample data. This populates the field list you will use in Step 5. Do not skip this test run or you will map to fields that do not exist in the actual response structure.
For a deeper look at how the Make MCP changes the build process for HR teams specifically, see 6 Ways the Make MCP Changes Automation Work for HR Teams.
Step 5 — Transform and Map Fields
This step is where most pipelines break. Field mapping sounds mechanical — it is not. Every field requires a decision.
Add a Tools: Set Multiple Variables module after your source module. Map each destination field to the corresponding API field from your source. Work through your field map document column by column:
- Direct mappings: Drag the source field into the destination field.
- Date transformations: ATS APIs return dates in ISO 8601 format (
2026-03-15T08:30:00Z). Use Make.com’sformatDate()function to convert to a format your destination accepts. Example:{{formatDate(1.created_at; "MM/DD/YYYY")}} - ID-to-name lookups: When your source returns an ID instead of a human-readable value, store the lookup data in a Make.com Data Store and use the Data Store Search module to resolve IDs to names before writing to your destination.
- Concatenation: If your destination needs a single “Full Name” field but your source returns first and last name separately, concatenate with
{{1.first_name}} {{1.last_name}}. - Null handling: Every field that is not required in your source system will sometimes be empty. Use the
ifempty()function to substitute a default value —{{ifempty(1.source; "Unknown")}}— rather than letting null values corrupt calculations downstream.
Map PII fields last. Apply any hashing or anonymization your legal team required before these fields reach the destination. Make.com’s sha256() function handles one-way hashing for fields like email addresses that need to be de-identified for analytics but still used as join keys.
Step 6 — Write to Your Analytical Destination
Add the destination module. The two most common destinations for recruiting analytics are Google Sheets and a SQL database via HTTP POST.
Google Sheets:
- Add the Google Sheets “Add a Row” module
- Connect your Google account
- Select the destination spreadsheet and sheet tab
- Map each column in the sheet to the corresponding variable from Step 5
- Enable the “Headers” option so Make.com uses row 1 as column labels
SQL database via HTTP POST:
- Add an HTTP “Make a Request” module
- Set the method to POST
- Enter your database API endpoint
- Set Content-Type to
application/json - Build the JSON body using the variables from Step 5
- Add your authentication header
For Google Sheets specifically: add a column called export_timestamp and set its value to {{now}}. This gives you a row-level audit trail that shows exactly when each record was written — essential for debugging duplicate rows or missing data after the pipeline runs.
Step 7 — Add Error Handling
A recruiting data pipeline without error handling produces silent failures. The scenario runs, Make.com shows a green checkmark, and your Google Sheet receives zero rows — because the ATS API returned a 401 at 1:03 AM and no one was notified.
Add error handling to every external API module:
- Right-click the module and select “Add error handler”
- Choose “Break” as the handler type
- Set retry attempts to 3 with a 60-second interval between retries
- Connect the error handler to a notification module — a Make.com email module sending to your inbox, or a Slack message to your team’s operations channel
The notification module must include:
- The scenario name
- The module that failed
- The error message returned by the API
- The execution URL:
{{scenario.executionUrl}}
That last field — the execution URL — is the single most useful piece of information in any error notification. It takes you directly to the failed execution log in Make.com with one click, rather than hunting through execution history to find which run failed three nights ago.
Step 8 — Test and Activate
Before activating the scheduled run, execute the scenario manually three times:
- First run: Confirm all modules execute without errors and data lands in the destination correctly
- Second run: Confirm the date filtering logic works — the second run should import only records updated since the first run, not re-import everything
- Third run with an empty window: Set the date filter to a future date and run — confirm the scenario handles zero results gracefully without throwing an error
After passing all three tests, activate the scenario. Make.com executes it on the schedule you set in Step 3. Check the execution log the morning after the first scheduled run and confirm the row counts match your expectations.
One final check: open your analytical destination and build the simplest possible view of your target metric. If you built this export to answer “which sourcing channels produce candidates who reach offer stage,” create a pivot table or chart that shows that answer. If the answer does not surface cleanly, the problem is in the data, not the pipeline — and it is better to find that now than after six months of exports.
Where to Go From Here
A single-source export pipeline that answers one business question is a working foundation. The next step is expanding it — adding a second source system, building a second export for a different metric, or connecting the output to a live BI dashboard.
Before expanding, run an OpsMap™ audit on your current recruiting stack. The audit surfaces which systems hold data you are not yet exporting, which processes have no automation coverage, and which metrics your leadership team tracks manually that automation handles better. That map determines which pipeline to build next — and prevents the pattern of building pipelines in isolation that never connect into a coherent picture.
If the build is more involved than your team has bandwidth for, OpsMesh™ is the engagement framework 4Spot uses to take clients from fragmented recruiting data to a fully automated analytics pipeline. The OpsMap™ discovery phase maps your current state. OpsBuild™ delivers the working scenarios. OpsCare™ monitors them after launch.
The data exists. The pipeline described here puts it where your team can actually use it.

