Post: How to Set Up Your First HR Mailhook in Make.com: Step-by-Step Guide

By Published On: December 1, 2025

How to Set Up Your First HR Mailhook in Make.com™: Step-by-Step Guide

Manual email processing is one of the highest-volume, lowest-value tasks in HR operations. Every inbound job application, benefits inquiry, or onboarding document submission that lands in a shared inbox and waits for a human to copy-paste its contents into a system of record is a compounding cost — in time, in accuracy, and in candidate experience. A Make.com™ mailhook eliminates that loop entirely by converting a dedicated email address into an automation trigger that fires the instant a message arrives.

This guide walks through every step of building your first HR mailhook scenario in Make.com™ — from creating the scenario to handling errors in production. Before you start, review the broader webhooks vs. mailhooks decision framework for HR automation to confirm a mailhook is the right trigger layer for your use case. If your originating system supports a direct API or HTTP POST, a webhook is faster and cleaner. Mailhooks are the correct tool when email is the unavoidable input channel.


Before You Start

Gather these before opening Make.com™. Missing any one of them will force a mid-build stop.

  • Active Make.com™ account — any paid plan. Free plans have scenario and operation limits that may not support production HR volume.
  • Access credentials for your target system — ATS, HRIS, CRM, or spreadsheet. Know which record type you’re creating or updating and which fields are required.
  • A test email address — one you control and can send from repeatedly during build and verification.
  • A sample real email — an actual inbound email of the type you’re automating (application notification, form submission, employee inquiry). The scenario needs a live email to map data fields; dummy content produces unreliable field mapping.
  • Time budget: 20–30 minutes for a basic four-module scenario. Add 15–20 minutes if you need a custom parsing step for free-text emails.
  • Risk to note: A mailhook scenario that goes live without error handling will fail silently on malformed inputs. Budget time for Steps 6 and 7 — they are not optional.

Step 1 — Create a New Scenario and Add the Mailhook Trigger

Open Make.com™, navigate to Scenarios, and click Create a new scenario. On the blank canvas, click the large plus icon to add your first module. Search for Email and select the Watch Emails (Mailhook) option.

Make.com™ immediately generates a unique mailhook email address — a long, randomized string at a Make.com™ domain. This is your trigger address. Copy it now and store it somewhere accessible; you will need it in Step 2 and again when you configure the email source (your form tool, ATS notification settings, or forwarding rule).

At this stage, the scenario has one module and is not yet active. Do not activate it yet — activation before testing produces cluttered execution logs that slow diagnosis.

What this step accomplishes

  • Creates the scenario container in your Make.com™ workspace.
  • Generates the mailhook address that will serve as your automation’s entry point.
  • Puts the scenario in a waiting state — it will capture the next email that arrives at the mailhook address when you run it manually in Step 2.

Step 2 — Send a Live Test Email and Capture the Data Structure

With your scenario open and the mailhook module selected, click Run once in the bottom toolbar. The scenario enters a listening state. Now send a real email — from your test address — to the mailhook address you copied in Step 1. Use an actual sample of the email type you’re automating. A fabricated dummy email with placeholder content will produce a data structure that doesn’t match production inputs.

Once Make.com™ detects the email, the run completes and a bubble appears on the mailhook module showing the number of bundles processed (should be 1). Click the bubble to inspect the output. You will see every field the mailhook extracted: from, to, subject, text, html, date, and any attachments with their metadata.

This output panel is the data map you will use to configure every downstream module. Keep it visible as you build Steps 3 through 5.

What to check at this stage

  • Confirm the from field shows the sender’s email address correctly — this is your deduplication key in Step 5.
  • Confirm the subject and text fields contain the content you expected.
  • If attachments are present, confirm their filenames and MIME types appear in the output.

Step 3 — Add a Parser Module to Extract Structured Fields

Raw email body text is a single string. Your ATS or HRIS expects discrete fields — applicant name, phone number, position applied for, years of experience. A parser module bridges that gap.

Click the + after the mailhook module. If your emails arrive in a consistent structured format (e.g., an ATS notification with labeled fields like “Applicant: Jane Smith”), use the Text Parser — Match Pattern module and write a regular expression targeting each labeled field. If your emails are free-text (candidate-authored messages), use a Make.com™ AI module or a connected AI tool to extract fields before mapping them — accept that edge cases will require ongoing monitoring.

For most HR teams starting out, the fastest path is to standardize the upstream email format first — use a form tool that generates structured submission notifications — then use simple text pattern matching downstream. Understanding what mailhooks are and how they work in Make.com™ in more depth will help you design the right upstream format for your specific HR workflow.

Fields to extract for a job application scenario

  • Applicant full name
  • Applicant email address
  • Phone number (if present)
  • Position applied for
  • Attachment filename (resume/CV)

Step 4 — Add Filters and Validation Logic

A filter module between the parser and your record-creation module is the difference between a reliable production scenario and one that writes garbage data to your ATS. Add a filter immediately after the parser output.

Configure the filter to pass the scenario forward only when all of the following are true:

  • The from email field is not empty.
  • The extracted applicant name field is not empty.
  • The sender domain matches your expected source (e.g., only process emails from your ATS notification domain, your form tool domain, or a whitelisted set of external domains).

Emails that fail the filter stop processing at that point. Configure the filter’s fallback route (or a separate error handler in Step 7) to log the failed email and notify your HR team so nothing is silently dropped.

McKinsey Global Institute research on automation consistently shows that data validation at the point of ingestion — before data touches a system of record — is the single highest-leverage quality control step in any automated pipeline. This filter is that step.


Step 5 — Add a Deduplication Check

Before creating a new record, check whether one already exists. Without this step, every re-submission or follow-up email from the same applicant creates a duplicate candidate record — a problem that compounds over time and degrades the integrity of your hiring data. Parseur’s research on manual data entry costs highlights that data cleanup from duplication and entry errors costs organizations an average of $28,500 per full-time employee per year when left unaddressed.

Add a search or lookup module connected to your ATS or HRIS. Search by the applicant’s email address (the from field or the extracted email field from Step 3). Then add a router module to branch on the result:

  • Record found → route to an update module to add new information to the existing record.
  • No record found → route to a create module to generate a new candidate entry.

For a deeper implementation of this pattern, see the guide on how to prevent HR data duplication with mailhooks.


Step 6 — Add the Record-Creation Module and Acknowledgment Email

On the “no record found” branch, add your ATS or HRIS module. If your platform has a native Make.com™ integration, select it from the app library and authenticate. If not, use the HTTP module to POST to your system’s API endpoint. Map each required field from the parser output to the corresponding system field.

After the record-creation module, add an Email — Send an Email module. Configure it to reply to the applicant’s address with a personalized acknowledgment. Include:

  • The applicant’s first name (from the parsed name field — use Make.com™’s text functions to split first and last).
  • The position they applied for.
  • A realistic next-step timeline.
  • A contact name or email for questions.

This single acknowledgment step has an outsized impact on candidate experience. SHRM research on recruitment costs consistently identifies candidate experience as a material factor in offer acceptance rates and employer brand. Automating a personalized confirmation means every applicant gets a response within seconds of submitting — regardless of time zone or day of week. For a fuller picture of how to automate job application processing with mailhooks, the dedicated satellite covers additional workflow branches.


Step 7 — Configure Error Handling and Activate

This is the step most first-time builders skip. Do not skip it.

Right-click the mailhook module and select Add error handler. Choose the Resume or Rollback strategy depending on whether partial data writes are acceptable for your scenario. Add an Email Send or Slack module inside the error handler route to notify your HR team immediately when a run fails. Include the scenario name, the error message text, and the email subject that triggered the failure so the team can triage quickly.

For structured error handling patterns specific to mailhook scenarios, the guide on mailhook error handling for resilient HR automations covers common failure modes and recommended handler configurations.

Once error handling is in place, click Activate scenario. The toggle turns blue. Your mailhook is live.


Step 8 — Monitor the First 10 Live Emails

Activation is not completion. Watch the first 10 real emails that process through the live scenario before considering it production-stable. In the scenario’s execution history, review each run for:

  • Correct field extraction — applicant names, emails, and positions mapping as expected.
  • Successful record creation or update in your ATS or HRIS — open the system and confirm records exist.
  • Acknowledgment emails delivered — check the sent folder or confirm with a test applicant.
  • Any failed runs — review the error message, identify the root cause (malformed input, API auth issue, field mapping mismatch), fix, and reprocess.

Gartner research on HR technology adoption notes that the highest-performing HR automation implementations include structured monitoring periods post-launch. Ten live runs is a minimum baseline — not a ceiling.


How to Know It Worked

Your mailhook scenario is functioning correctly when all four of these conditions are true:

  1. Zero manual intervention — your HR team is not touching the email thread to move data anywhere.
  2. System of record is accurate — spot-check five recent records in your ATS or HRIS and confirm they match the source emails exactly, including correct names, email addresses, and positions.
  3. Applicants receive confirmations within two minutes — send a test application and time the acknowledgment email arrival.
  4. Error alerts reach the right people — trigger a deliberate failure (send a blank email to the mailhook address) and confirm the error handler fires and the notification arrives.

Common Mistakes and Troubleshooting

The scenario runs but no records appear in the ATS

Almost always an authentication issue or a required field left unmapped. Open the module that connects to your ATS, re-authenticate, and review which fields the ATS API marks as required. Map every required field before saving.

Parser extracts empty fields for some emails but not others

The source email format is inconsistent. Some senders are deviating from the expected template. Add a filter (Step 4) to catch emails where required fields are empty and route them to a human-review notification rather than the record-creation path.

Duplicate records appearing despite the deduplication step

The search module is matching on a field that isn’t uniquely populated — check whether the ATS treats email addresses as case-sensitive during lookup. Also confirm the router condition logic is correct: “no results found” should trigger create, not the inverse.

Auto-reply loops — the acknowledgment email triggers another mailhook run

Add a filter at the very start of the scenario to block emails where the sender matches your own mailhook domain or where the subject contains “Re:” or “Auto-Reply.” This prevents the acknowledgment from feeding back into the trigger.

The scenario processes emails slowly during high volume

Check your Make.com™ plan’s concurrent execution settings. If the scenario is set to sequential processing, high email volume creates a processing queue. Switch to parallel execution in the scenario settings if your data model supports it.


Extend This Scenario Into a Full HR Intake Workflow

The four-module scenario built in this guide is a foundation, not a ceiling. Once it’s stable, common extensions include:

  • Routing attachments (resumes, signed offer letters) to a cloud storage folder organized by applicant name and date.
  • Adding a hiring manager notification module that fires only for applications meeting specific criteria (seniority level, location, department).
  • Connecting a scheduling tool to include an interview booking link in the acknowledgment email.
  • Adding an analytics logging step that writes each processed application to a tracking sheet for pipeline reporting.

For recruitment-specific extensions, see the guide to extending mailhooks across full recruitment automation workflows. For the broader question of when to graduate from mailhooks to webhook-based architecture as your automation volume scales, the strategic choice between webhooks and mailhooks for HR covers that transition in full.

Asana’s Anatomy of Work research consistently finds that knowledge workers spend a significant portion of their week on work about work — status updates, data entry, and manual routing — rather than skilled work. A single mailhook scenario eliminates an entire category of that overhead. Build it once. Let it run.