{"id":54305,"date":"2026-02-01T12:57:25","date_gmt":"2026-02-01T18:57:25","guid":{"rendered":"https:\/\/heartbeat.ai\/healthcare\/make-automation-for-recruiting\/"},"modified":"2026-02-27T13:34:21","modified_gmt":"2026-02-27T19:34:21","slug":"make-automation-for-recruiting","status":"publish","type":"post","link":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/","title":{"rendered":"Make automation for recruiting: 3 branching scenarios (enrichment, dedupe, refresh) with retries + suppression"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"false\" class=\"aligncenter\" src=\"http:\/\/hc.heartbeat.ai\/wp-content\/webp-express\/webp-images\/uploads\/2026\/02\/make-automation-for-recruiting-f606adcd.png.webp\" alt=\"54304\" \/><\/p>\n<h1>Make automation for recruiting<\/h1>\n<p><strong>Ben Argeband, Founder &amp; CEO of Heartbeat.ai<\/strong> \u2014 Simple, stepwise; avoid jargon.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\r\n<div class=\"ez-toc-title-container\">\r\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">What\u2019s on this page:<\/p>\r\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\r\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Who_this_is_for\" >Who this is for<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Quick_Answer\" >Quick Answer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Framework_The_%E2%80%9CPower_User%E2%80%9D_Automation_Branching_workflows_without_code\" >Framework: The \u201cPower User\u201d Automation: Branching workflows without code<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Step-by-step_method\" >Step-by-step method<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Step_0_Decide_your_identifiers_and_your_%E2%80%9Cgolden_record%E2%80%9D_rules\" >Step 0: Decide your identifiers and your \u201cgolden record\u201d rules<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Field_mapping_minimum_viable\" >Field mapping (minimum viable)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Scenario_1_Enrichment_routing_suppression_gate\" >Scenario 1: Enrichment + routing + suppression gate<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Scenario_2_Dedupe_workflow_using_NPIlicense_matching\" >Scenario 2: Dedupe workflow using NPI\/license matching<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Scenario_3_Scheduled_refresh_workflow_keep_contactability_current\" >Scenario 3: Scheduled refresh workflow (keep contactability current)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Implementation_Notes\" >Implementation Notes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Diagnostic_Table\" >Diagnostic Table:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Weighted_Checklist\" >Weighted Checklist:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Outreach_Templates\" >Outreach Templates:<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Template_1_Review_task_mediumlow_confidence_match\" >Template 1: Review task (medium\/low confidence match)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Template_2_Suppression_stop_notice\" >Template 2: Suppression stop notice<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Template_3_Recruiter-ready_enrichment_summary_high_confidence\" >Template 3: Recruiter-ready enrichment summary (high confidence)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Common_pitfalls\" >Common pitfalls<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#How_to_improve_results\" >How to improve results<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Measurement_instructions\" >Measurement instructions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Workflow_upgrades_that_usually_pay_off\" >Workflow upgrades that usually pay off<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Legal_and_ethical_use\" >Legal and ethical use<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Evidence_and_trust_notes\" >Evidence and trust notes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#FAQs\" >FAQs<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#What_should_I_automate_first_in_Make_for_recruiting_ops\" >What should I automate first in Make for recruiting ops?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#What_identifiers_work_best_for_dedupe_in_clinician_recruiting\" >What identifiers work best for dedupe in clinician recruiting?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#How_do_I_prevent_enrichment_from_overwriting_good_ATS_data\" >How do I prevent enrichment from overwriting good ATS data?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#How_do_I_handle_API_failures_and_rate_limits_in_Make\" >How do I handle API failures and rate limits in Make?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Where_should_consent_and_opt-out_checks_live_in_the_scenario\" >Where should consent and opt-out checks live in the scenario?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#Next_steps\" >Next steps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#About_the_Author\" >About the Author<\/a><\/li><\/ul><\/nav><\/div>\r\n<h2><span class=\"ez-toc-section\" id=\"Who_this_is_for\"><\/span>Who this is for<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You\u2019re running recruiting ops (or you\u2019re the recruiter who also owns ops). You want automations that can branch, retry, and keep your ATS\/CRM clean without babysitting every run. This is for ops-minded recruiters who want more control than basic linear automations provide.<\/p>\n<p>Scope: Make scenarios for enrichment, dedupe, and scheduled refresh using <strong>Heartbeat.ai<\/strong> via the <strong>API<\/strong>, with explicit <strong>consent<\/strong> and <strong>opt-out<\/strong> gates.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Quick_Answer\"><\/span>Quick Answer<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<dl>\n<dt>Core Answer<\/dt>\n<dd>Build three Make scenarios: enrich via API, dedupe using NPI\/license matching, and schedule refresh runs with retries and suppression gates.<\/dd>\n<dt>Key Insight<\/dt>\n<dd>Make is a good fit when you need conditional routing, error handling, and scheduled refresh so recruiters stop working stale or duplicated records.<\/dd>\n<dt>Best For<\/dt>\n<dd>Ops-minded recruiters who want more control than basic linear automations provide.<\/dd>\n<\/dl>\n<blockquote>\n<p><strong>Compliance &amp; Safety<\/strong><\/p>\n<p>This method is for legitimate recruiting outreach only. Always respect candidate privacy, opt-out requests, and local data laws. Heartbeat does not provide medical advice or legal counsel.<\/p>\n<\/blockquote>\n<h2><span class=\"ez-toc-section\" id=\"Framework_The_%E2%80%9CPower_User%E2%80%9D_Automation_Branching_workflows_without_code\"><\/span>Framework: The \u201cPower User\u201d Automation: Branching workflows without code<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Recruiting automation fails for predictable reasons: duplicates, stale contact fields, and \u201cone-size-fits-all\u201d write-backs that overwrite good data. The fix is routing: different actions for different confidence levels, plus suppression before anything downstream.<\/p>\n<p>The \u201cPower User\u201d loop:<\/p>\n<ul>\n<li><strong>Access<\/strong>: pull the minimum identifiers you need to match the right person.<\/li>\n<li><strong>Refresh<\/strong>: re-check on a schedule so contactability doesn\u2019t decay.<\/li>\n<li><strong>Verify<\/strong>: only overwrite fields when the match is strong (NPI\/license).<\/li>\n<li><strong>Suppress<\/strong>: enforce consent\/opt-out before any downstream action.<\/li>\n<\/ul>\n<p>The trade-off is\u2026 you spend more time designing match rules and branches up front, but you stop paying the hidden tax of recruiter cleanup and duplicate outreach.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Step-by-step_method\"><\/span>Step-by-step method<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Below are three Make scenarios (a set of three scenarios) that cover the workflows most recruiting teams actually need: enrichment, dedupe, and refresh. Each includes branch conditions and retry logic, plus where to place suppression checks.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_0_Decide_your_identifiers_and_your_%E2%80%9Cgolden_record%E2%80%9D_rules\"><\/span>Step 0: Decide your identifiers and your \u201cgolden record\u201d rules<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Primary match keys<\/strong>: <strong>NPI<\/strong> and <strong>license matching<\/strong> (state + license number) when available.<\/li>\n<li><strong>Fallback match keys<\/strong>: normalized full name + specialty + city\/state (only when NPI\/license is missing).<\/li>\n<li><strong>Golden record<\/strong>: define which system wins on conflicts (ATS vs CRM vs upload). Write it down.<\/li>\n<li><strong>Suppression source of truth<\/strong>: decide where <strong>consent<\/strong> and <strong>opt-out<\/strong> live and which field(s) Make must check every time.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Field_mapping_minimum_viable\"><\/span>Field mapping (minimum viable)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This is the simplest mapping that keeps your workflow debuggable and safe.<\/p>\n<ul>\n<li><strong>Inputs to the API lookup<\/strong> (send what you have, prefer stable identifiers): NPI; license state + license number; full name; specialty; city\/state.<\/li>\n<li><strong>Outputs to store in ATS\/CRM<\/strong> (for audit and routing): match method (NPI, license, name-only); match timestamp; last checked; last verified (if you maintain it); automation outcome (enriched_high_confidence, enriched_review, suppressed, refresh_updated, refresh_no_change, refresh_failed).<\/li>\n<li><strong>Write-back rule<\/strong>: overwrite contact fields only on NPI\/license match; otherwise append and create a review task.<\/li>\n<li><strong>Suppression fields<\/strong>: opt-out boolean and consent status must be readable by Make before any write-back or outreach action.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Scenario_1_Enrichment_routing_suppression_gate\"><\/span>Scenario 1: Enrichment + routing + suppression gate<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Goal:<\/strong> When a recruiter creates or updates a lead, enrich it via API, then route based on match confidence and compliance.<\/p>\n<p><strong>Trigger<\/strong><\/p>\n<ul>\n<li>ATS\/CRM \u201cNew lead\u201d or \u201cUpdated lead\u201d event, or a Make webhook.<\/li>\n<\/ul>\n<p><strong>Modules and logic<\/strong><\/p>\n<ol>\n<li><strong>Normalize input<\/strong>: standardize state abbreviations, trim whitespace, split full name if needed.<\/li>\n<li><strong>Suppression gate (hard stop)<\/strong>: if opt-out is true or consent is missing per your policy, route to \u201cSuppressed\u201d and stop.<\/li>\n<li><strong>Heartbeat.ai API lookup<\/strong>: search using best available identifiers (prefer NPI\/license; fall back to name + location).<\/li>\n<li><strong>Router: match confidence<\/strong>\n<ul>\n<li><strong>Branch A (High confidence)<\/strong>: NPI match OR license match AND name aligns \u2192 write enriched fields back to ATS\/CRM.<\/li>\n<li><strong>Branch B (Medium confidence)<\/strong>: no NPI\/license, but strong name + specialty + geography alignment \u2192 write limited fields + create a \u201cReview needed\u201d task.<\/li>\n<li><strong>Branch C (Low confidence)<\/strong>: multiple possible matches or missing key fields \u2192 create a review task only; do not overwrite existing data.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Audit log<\/strong>: store match method (NPI\/license\/name-only), timestamp, and which fields were updated.<\/li>\n<\/ol>\n<p><strong>Example Router condition<\/strong>: If NPI is present AND match method equals NPI, route to Branch A. If match method equals name-only, route to Branch B or C depending on how many candidates were returned.<\/p>\n<p><strong>Retry logic<\/strong><\/p>\n<ul>\n<li>On transient API failures (timeouts\/5xx), retry with backoff (increase delay each attempt) and then route to an ops queue after the final attempt.<\/li>\n<li>On \u201cno match,\u201d do not loop retries immediately. Instead, let Scenario 3 re-check after you collect better identifiers.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Scenario_2_Dedupe_workflow_using_NPIlicense_matching\"><\/span>Scenario 2: Dedupe workflow using NPI\/license matching<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Goal:<\/strong> Prevent duplicate records across ATS\/CRM\/uploads so recruiters don\u2019t double-contact the same clinician and your opt-out rules don\u2019t get missed.<\/p>\n<p><strong>Trigger<\/strong><\/p>\n<ul>\n<li>Scheduled run (nightly) and\/or \u201cNew record created\u201d event.<\/li>\n<\/ul>\n<p><strong>Modules and logic<\/strong><\/p>\n<ol>\n<li><strong>Pull candidate set<\/strong>: fetch records created\/updated in your chosen window.<\/li>\n<li><strong>Compute dedupe keys<\/strong>:\n<ul>\n<li>Key 1: NPI<\/li>\n<li>Key 2: license state + license number<\/li>\n<li>Key 3 (fallback): normalized full name + city\/state + specialty<\/li>\n<\/ul>\n<\/li>\n<li><strong>Router: dedupe decision<\/strong>\n<ul>\n<li><strong>Branch A<\/strong>: same NPI across multiple records \u2192 merge\/link per your system\u2019s capabilities; keep the most recently verified contact fields.<\/li>\n<li><strong>Branch B<\/strong>: same license match across multiple records \u2192 merge\/link; preserve license fields as authoritative.<\/li>\n<li><strong>Branch C<\/strong>: name-only collisions \u2192 do not auto-merge; create a review task with both record links.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Write back + audit<\/strong>: update a \u201cdedupe status\u201d field and attach an audit note (what matched, what changed, when).<\/li>\n<li><strong>Suppression propagation<\/strong>: if any merged record is opt-out, propagate opt-out to the surviving record.<\/li>\n<\/ol>\n<p><strong>Retry logic<\/strong><\/p>\n<ul>\n<li>If merge\/link fails (permissions, locked record, API error), route to a manual merge queue with the dedupe keys and record URLs.<\/li>\n<li>Do not repeatedly retry locked records; tag them and notify ops.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Scenario_3_Scheduled_refresh_workflow_keep_contactability_current\"><\/span>Scenario 3: Scheduled refresh workflow (keep contactability current)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Goal:<\/strong> Refresh key fields on a schedule so recruiters aren\u2019t calling dead numbers or emailing stale addresses.<\/p>\n<p><strong>Trigger<\/strong><\/p>\n<ul>\n<li>Scheduled run (daily\/weekly) segmented by priority (hot pipeline vs long-term nurture).<\/li>\n<\/ul>\n<p><strong>Modules and logic<\/strong><\/p>\n<ol>\n<li><strong>Select refresh cohort<\/strong>: records where \u201clast verified\u201d is older than your threshold, excluding opt-outs.<\/li>\n<li><strong>Heartbeat.ai API refresh<\/strong>: request updated contact fields and verification metadata.<\/li>\n<li><strong>Router: change detection<\/strong>\n<ul>\n<li><strong>Branch A<\/strong>: contact fields changed \u2192 update ATS\/CRM + log \u201crefreshed.\u201d<\/li>\n<li><strong>Branch B<\/strong>: no change \u2192 update \u201clast checked\u201d only.<\/li>\n<li><strong>Branch C<\/strong>: conflicting identity signals \u2192 create a review task; do not overwrite.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Suppression enforcement<\/strong>: re-check consent\/opt-out before any downstream action that could trigger outreach.<\/li>\n<\/ol>\n<p><strong>Retry logic<\/strong><\/p>\n<ul>\n<li>Retry transient failures with backoff; after the final failure, tag the record \u201crefresh_failed\u201d and re-queue for the next run.<\/li>\n<li>Rate-limit the scenario to avoid bursts that trip vendor limits.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Implementation_Notes\"><\/span>Implementation Notes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This section is here so ops can build and maintain the scenarios without guessing.<\/p>\n<ul>\n<li><strong>Use a Router for branching<\/strong>: route by match confidence (NPI\/license\/name-only) and by suppression status.<\/li>\n<li><strong>Use an Error handler for retries<\/strong>: catch API timeouts\/5xx, apply increasing delays, then route to an ops queue with the record URL and error summary.<\/li>\n<li><strong>Use scheduling for refresh<\/strong>: run refresh by cohort (hot vs nurture) instead of trying to refresh everything at once.<\/li>\n<li><strong>Monitoring &amp; alerts<\/strong>: define what \u201cfailure\u201d means (refresh_failed, merge_failed, API_error) and route those items to the place ops actually works (ticket queue or email). Keep the payload minimal (record URL, error code, scenario step, timestamp).<\/li>\n<li><strong>Keep an audit field<\/strong>: store match method, timestamps, and which fields were updated. Avoid copying sensitive payloads into free-text notes.<\/li>\n<li><strong>Reference<\/strong>: Make\u2019s official docs cover scheduling and error handling patterns in the <a href=\"https:\/\/www.make.com\/en\/help\">Make help center<\/a>.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Diagnostic_Table\"><\/span>Diagnostic Table:<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"table-scroll\" style=\"overflow:auto;-webkit-overflow-scrolling:touch;width:100%\">\n<table class=\"separated-content\">\n<thead>\n<tr>\n<th>Ops problem<\/th>\n<th>What breaks in recruiting<\/th>\n<th>Make pattern to use<\/th>\n<th>Data\/Heartbeat.ai note<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Duplicates across ATS + uploads<\/td>\n<td>Two recruiters work the same clinician; notes split; opt-out missed<\/td>\n<td>Scheduled dedupe with Router: NPI \u2192 merge\/link; license \u2192 merge\/link; name-only \u2192 review task<\/td>\n<td>Prefer <strong>NPI<\/strong> and <strong>license matching<\/strong>; propagate <strong>opt-out<\/strong> on merge<\/td>\n<\/tr>\n<tr>\n<td>Enrichment overwrites good fields<\/td>\n<td>Weak match replaces verified phone\/email; recruiters lose trust<\/td>\n<td>Confidence branches: overwrite only on NPI\/license; otherwise append + task<\/td>\n<td>Log match method and timestamp; keep a \u201clast verified\u201d field<\/td>\n<\/tr>\n<tr>\n<td>Stale contactability<\/td>\n<td>Bounces, wrong numbers, wasted call blocks<\/td>\n<td>Scheduled refresh cohorts + change-detection branches<\/td>\n<td>Schedule refresh workflows; separate \u201clast checked\u201d vs \u201clast verified\u201d<\/td>\n<\/tr>\n<tr>\n<td>Silent failures<\/td>\n<td>Scenario fails quietly; recruiters blame the system<\/td>\n<td>Error handler routes: retry with backoff \u2192 ops queue with record link<\/td>\n<td>Store request IDs and error summaries for traceability<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Weighted_Checklist\"><\/span>Weighted Checklist:<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Score each item 0\u20132. If you score high, Make is usually worth the setup time.<\/p>\n<ul>\n<li><strong>(2)<\/strong> You need branching based on match confidence (NPI\/license vs name-only).<\/li>\n<li><strong>(2)<\/strong> You need scheduled refresh runs (not just event triggers).<\/li>\n<li><strong>(2)<\/strong> You need retries + error routing (ops queue) with audit notes.<\/li>\n<li><strong>(2)<\/strong> You must enforce <strong>consent<\/strong> and <strong>opt-out<\/strong> before any downstream action.<\/li>\n<li><strong>(1)<\/strong> You need to write back to multiple systems (ATS + CRM + upload).<\/li>\n<li><strong>(1)<\/strong> You need dedupe logic that treats NPI\/license as authoritative.<\/li>\n<li><strong>(1)<\/strong> You can define a golden record rule (which system wins on conflicts).<\/li>\n<li><strong>(1)<\/strong> You have an ops owner who will maintain fields and mappings.<\/li>\n<\/ul>\n<p><strong>Interpretation<\/strong><\/p>\n<ul>\n<li><strong>0\u20135<\/strong>: Start with Scenario 1 only (enrichment + suppression + audit).<\/li>\n<li><strong>6\u201310<\/strong>: Add Scenario 2 (dedupe) once your identifiers are consistently captured.<\/li>\n<li><strong>11\u201314<\/strong>: Add Scenario 3 (refresh) and formalize monitoring and alerts.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Outreach_Templates\"><\/span>Outreach Templates:<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>These templates are for the handoff points your automation creates: review tasks, suppression stops, and recruiter-ready summaries. Keep them short so they get used.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Template_1_Review_task_mediumlow_confidence_match\"><\/span>Template 1: Review task (medium\/low confidence match)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Title:<\/strong> Verify identity before outreach (missing or conflicting identifiers)<\/p>\n<p><strong>Body:<\/strong> Automation found possible matches but did not overwrite fields. Verify using NPI or license matching if available. If confirmed, mark \u201cVerified\u201d and re-run enrichment.<\/p>\n<ul>\n<li>Record link: [ATS\/CRM URL]<\/li>\n<li>Match method attempted: [NPI | license | name-only]<\/li>\n<li>Next identifier to collect: [NPI | license state\/number]<\/li>\n<li>Compliance: confirm <strong>consent<\/strong> and check <strong>opt-out<\/strong> before outreach<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Template_2_Suppression_stop_notice\"><\/span>Template 2: Suppression stop notice<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Title:<\/strong> Outreach blocked (suppression rule)<\/p>\n<p><strong>Body:<\/strong> This record is suppressed due to opt-out or missing consent per our policy. Do not contact. If you believe this is incorrect, escalate to ops with documentation.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Template_3_Recruiter-ready_enrichment_summary_high_confidence\"><\/span>Template 3: Recruiter-ready enrichment summary (high confidence)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Title:<\/strong> Enrichment complete (verified identifiers)<\/p>\n<p><strong>Body:<\/strong> Record updated using NPI\/license match. Changes logged. Proceed only if not suppressed.<\/p>\n<ul>\n<li>Verified by: [NPI | license]<\/li>\n<li>Last checked: [timestamp]<\/li>\n<li>Audit note field: [field name]<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Common_pitfalls\"><\/span>Common pitfalls<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><strong>Overwriting on weak matches<\/strong>: If you don\u2019t branch by confidence, you\u2019ll corrupt your ATS. Only overwrite on NPI\/license matches; otherwise append + review.<\/li>\n<li><strong>Suppression too late<\/strong>: Put opt-out\/consent checks at the top of the scenario and again before any downstream action that could trigger outreach.<\/li>\n<li><strong>No audit trail<\/strong>: If you can\u2019t answer \u201cwhat changed and why,\u201d ops will lose trust and turn the scenario off.<\/li>\n<li><strong>Retry storms<\/strong>: Blind retries can create duplicate updates. Use backoff and route to an ops queue after the final attempt.<\/li>\n<li><strong>One scenario doing everything<\/strong>: Separate enrichment, dedupe, and refresh so you can debug and ship changes without breaking the whole pipeline.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"How_to_improve_results\"><\/span>How to improve results<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Automation only matters if it improves contactability and reduces wasted recruiter time. Measure this by\u2026 tracking outcomes at each branch and tying them to outreach results.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Measurement_instructions\"><\/span>Measurement instructions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li><strong>Instrument every branch<\/strong>: write a field like \u201cautomation_outcome\u201d with values such as enriched_high_confidence, enriched_review, suppressed, refresh_updated, refresh_no_change, refresh_failed.<\/li>\n<li><strong>Track outreach performance separately from automation health<\/strong>:\n<ul>\n<li><strong>Deliverability Rate<\/strong> = delivered emails \/ sent emails (per 100 sent emails).<\/li>\n<li><strong>Bounce Rate<\/strong> = bounced emails \/ sent emails (per 100 sent emails).<\/li>\n<li><strong>Connect Rate<\/strong> = connected calls \/ total dials (per 100 dials).<\/li>\n<li><strong>Answer Rate<\/strong> = human answers \/ connected calls (per 100 connected calls).<\/li>\n<li><strong>Reply Rate<\/strong> = replies \/ delivered emails (per 100 delivered emails).<\/li>\n<\/ul>\n<\/li>\n<li><strong>Required definition: automation branching<\/strong>: Automation branching is routing a workflow into different paths based on conditions (for example, NPI match vs license match vs name-only), with different actions per path.<\/li>\n<li><strong>Run a controlled comparison<\/strong>: pick one team to run refresh + dedupe for a set period while another team stays manual. Compare bounce\/connect\/reply rates and recruiter time spent on cleanup.<\/li>\n<li><strong>Review the review queue weekly<\/strong>: if too many records land there, tighten match rules or collect NPI\/license earlier in intake.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Workflow_upgrades_that_usually_pay_off\"><\/span>Workflow upgrades that usually pay off<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Identifier-first intake<\/strong>: add NPI\/license fields to intake and make them required when possible.<\/li>\n<li><strong>Segment refresh cadence<\/strong>: hot pipeline refreshes more often than long-term nurture.<\/li>\n<li><strong>Centralize suppression<\/strong>: keep opt-out in one source of truth and have every scenario check it.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Legal_and_ethical_use\"><\/span>Legal and ethical use<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Build compliance into the workflow so it doesn\u2019t depend on memory. For jurisdiction-specific requirements, consult your counsel.<\/p>\n<ul>\n<li><strong>Consent and opt-out<\/strong>: store them in explicit fields and check them before write-back and before any outreach action.<\/li>\n<li><strong>Data minimization<\/strong>: store only what you need for recruiting workflow; avoid copying sensitive data into free-text notes.<\/li>\n<li><strong>Auditability<\/strong>: log match method (NPI\/license\/name-only), timestamps, and what fields changed.<\/li>\n<li><strong>Human review for ambiguity<\/strong>: route low-confidence matches to a task instead of forcing an automated merge.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Evidence_and_trust_notes\"><\/span>Evidence and trust notes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>For how we think about data quality, verification, and responsible outreach, see our <a href=\"http:\/\/heartbeat.ai\/resources\/resources\/trust-methodology\/\">trust methodology for recruiting data<\/a>.<\/p>\n<p>Make implementation behavior (scheduling, error handling, modules) is documented in the <a href=\"https:\/\/www.make.com\/en\/help\">Make help center<\/a>.<\/p>\n<p>If you\u2019re implementing via Heartbeat.ai, start with the <a href=\"https:\/\/heartbeat.ai\/api\">Heartbeat.ai API documentation<\/a>. Keep suppression rules (consent\/opt-out) explicit in your system of record and enforce them in every scenario.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"FAQs\"><\/span>FAQs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"What_should_I_automate_first_in_Make_for_recruiting_ops\"><\/span>What should I automate first in Make for recruiting ops?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Start with enrichment + suppression + audit logging (Scenario 1). It gives recruiters cleaner records without risking duplicate merges or noisy refresh runs.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_identifiers_work_best_for_dedupe_in_clinician_recruiting\"><\/span>What identifiers work best for dedupe in clinician recruiting?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Use <strong>NPI<\/strong> first, then <strong>license matching<\/strong> (state + license number). Use name-only matching only as a fallback and route collisions to review.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_I_prevent_enrichment_from_overwriting_good_ATS_data\"><\/span>How do I prevent enrichment from overwriting good ATS data?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Branch by confidence and only overwrite on NPI\/license matches. For medium confidence, append fields and create a review task. Always log what changed.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_I_handle_API_failures_and_rate_limits_in_Make\"><\/span>How do I handle API failures and rate limits in Make?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Use an error handler with backoff retries for transient failures, then route to an ops queue after the final attempt. Rate-limit scheduled refresh runs by cohort instead of refreshing everything at once.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Where_should_consent_and_opt-out_checks_live_in_the_scenario\"><\/span>Where should consent and opt-out checks live in the scenario?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>At the top of the scenario (hard stop) and again before any downstream action that could trigger outreach. Treat suppression as a shared service so every workflow enforces the same rules.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Next_steps\"><\/span>Next steps<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>If you\u2019re starting from a spreadsheet, use <a href=\"https:\/\/heartbeat.ai\/upload-file\">upload a file<\/a> to structure inputs before you automate.<\/li>\n<li>For ATS-specific patterns, see <a href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/ats-enrichment-workflows\/\">ATS enrichment workflows<\/a>.<\/li>\n<li>When you\u2019re ready to wire this into your stack, <a href=\"https:\/\/heartbeat.ai\/signup\">start free search &amp; preview data<\/a> and connect it to your Make scenarios.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"About_the_Author\"><\/span><b>About the Author<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"http:\/\/heartbeat.ai\/resources\/author\/ben-argeband\"><span style=\"font-weight: 400;\">Ben Argeband<\/span><\/a><span style=\"font-weight: 400;\"> is the Founder and CEO of Swordfish.ai and Heartbeat.ai. With deep expertise in data and SaaS, he has built two successful platforms trusted by over 50,000 sales and recruitment professionals. Ben&#8217;s mission is to help teams find direct contact information for hard-to-reach professionals and decision-makers, providing the shortest route to their next win. Connect with Ben on <\/span><a href=\"https:\/\/www.linkedin.com\/in\/ben-m-argeband-2427a8a3\/\"><span style=\"font-weight: 400;\">LinkedIn<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Article\",\"articleSection\":\"Resources\",\"author\":{\"@type\":\"Person\",\"name\":\"Ben Argeband\"},\"headline\":\"Make automation for recruiting: 3 branching scenarios (enrichment, dedupe, refresh) with retries + suppression\",\"inLanguage\":\"en\",\"keywords\":[\"Make automation for recruiting\",\"Make recruiting automation\",\"Make scenario API\",\"dedupe workflow NPI\"],\"mainEntityOfPage\":{\"@id\":\"https:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/\",\"@type\":\"WebPage\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Heartbeat.ai\"}}<\/script><br \/>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Start with enrichment + suppression + audit logging (Scenario 1). It gives recruiters cleaner records without risking duplicate merges or noisy refresh runs.\"},\"name\":\"What should I automate first in Make for recruiting ops?\"},{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use NPI first, then license matching (state + license number). Use name-only matching only as a fallback and route collisions to review.\"},\"name\":\"What identifiers work best for dedupe in clinician recruiting?\"},{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Branch by confidence and only overwrite on NPI\/license matches. For medium confidence, append fields and create a review task. Always log what changed.\"},\"name\":\"How do I prevent enrichment from overwriting good ATS data?\"},{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use an error handler with backoff retries for transient failures, then route to an ops queue after the final attempt. Rate-limit scheduled refresh runs by cohort instead of refreshing everything at once.\"},\"name\":\"How do I handle API failures and rate limits in Make?\"},{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"At the top of the scenario (hard stop) and again before any downstream action that could trigger outreach. Treat suppression as a shared service so every workflow enforces the same rules.\"},\"name\":\"Where should consent and opt-out checks live in the scenario?\"}]}<\/script><\/p>","protected":false},"excerpt":{"rendered":"<p>Make automation for recruiting with three branching scenarios: enrichment via API, dedupe using NPI\/license matching, and scheduled refresh workflows\u2014with suppression gates, retries, monitoring, and measurement.<\/p>","protected":false},"author":5,"featured_media":54304,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_focuskw":"Make automation for recruiting","_yoast_wpseo_title":"Make automation for recruiting: 3 branching scenarios + retries","_yoast_wpseo_metadesc":"Make automation for recruiting: copy 3 scenarios\u2014enrichment + routing, dedupe using NPI\/license matching, and scheduled refresh workflows with suppression gates, retries, and measurement.","_custom_permalink":"integrations-automation\/make-automation-for-recruiting","footnotes":""},"categories":[1],"tags":[],"class_list":["post-54305","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>Make automation for recruiting: 3 branching scenarios + retries<\/title>\r\n<meta name=\"description\" content=\"Make automation for recruiting: copy 3 scenarios\u2014enrichment + routing, dedupe using NPI\/license matching, and scheduled refresh workflows with suppression gates, retries, and measurement.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Make automation for recruiting: 3 branching scenarios + retries\" \/>\r\n<meta property=\"og:description\" content=\"Make automation for recruiting: copy 3 scenarios\u2014enrichment + routing, dedupe using NPI\/license matching, and scheduled refresh workflows with suppression gates, retries, and measurement.\" \/>\r\n<meta property=\"og:url\" content=\"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Heartbeat.ai\" \/>\r\n<meta property=\"article:published_time\" content=\"2026-02-01T18:57:25+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2026-02-27T19:34:21+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/make-automation-for-recruiting-f606adcd.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\r\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"Ben Argeband\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Argeband\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/\"},\"author\":{\"name\":\"Ben Argeband\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/person\\\/7b323ddce9b211907423482e2f9db173\"},\"headline\":\"Make automation for recruiting: 3 branching scenarios (enrichment, dedupe, refresh) with retries + suppression\",\"datePublished\":\"2026-02-01T18:57:25+00:00\",\"dateModified\":\"2026-02-27T19:34:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/\"},\"wordCount\":2482,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#organization\"},\"image\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/make-automation-for-recruiting-f606adcd.png\",\"articleSection\":[\"News\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/\",\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/\",\"name\":\"Make automation for recruiting: 3 branching scenarios + retries\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/make-automation-for-recruiting-f606adcd.png\",\"datePublished\":\"2026-02-01T18:57:25+00:00\",\"dateModified\":\"2026-02-27T19:34:21+00:00\",\"description\":\"Make automation for recruiting: copy 3 scenarios\u2014enrichment + routing, dedupe using NPI\\\/license matching, and scheduled refresh workflows with suppression gates, retries, and measurement.\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/#primaryimage\",\"url\":\"https:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/make-automation-for-recruiting-f606adcd.png\",\"contentUrl\":\"https:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/make-automation-for-recruiting-f606adcd.png\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/integrations-automation\\\/make-automation-for-recruiting\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/heartbeat.ai\\\/healthcare\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Make automation for recruiting: 3 branching scenarios (enrichment, dedupe, refresh) with retries + suppression\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#website\",\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/\",\"name\":\"Heartbeat.ai\",\"description\":\"\",\"publisher\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#organization\",\"name\":\"Heartbeat.ai\",\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/Heartbeat.ai-logo.png\",\"contentUrl\":\"https:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/Heartbeat.ai-logo.png\",\"width\":704,\"height\":126,\"caption\":\"Heartbeat.ai\"},\"image\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/person\\\/7b323ddce9b211907423482e2f9db173\",\"name\":\"Ben Argeband\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g\",\"caption\":\"Ben Argeband\"},\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/author\\\/ben-argeband\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Make automation for recruiting: 3 branching scenarios + retries","description":"Make automation for recruiting: copy 3 scenarios\u2014enrichment + routing, dedupe using NPI\/license matching, and scheduled refresh workflows with suppression gates, retries, and measurement.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/","og_locale":"en_US","og_type":"article","og_title":"Make automation for recruiting: 3 branching scenarios + retries","og_description":"Make automation for recruiting: copy 3 scenarios\u2014enrichment + routing, dedupe using NPI\/license matching, and scheduled refresh workflows with suppression gates, retries, and measurement.","og_url":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/","og_site_name":"Heartbeat.ai","article_published_time":"2026-02-01T18:57:25+00:00","article_modified_time":"2026-02-27T19:34:21+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/make-automation-for-recruiting-f606adcd.png","type":"image\/png"}],"author":"Ben Argeband","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ben Argeband","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#article","isPartOf":{"@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/"},"author":{"name":"Ben Argeband","@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/person\/7b323ddce9b211907423482e2f9db173"},"headline":"Make automation for recruiting: 3 branching scenarios (enrichment, dedupe, refresh) with retries + suppression","datePublished":"2026-02-01T18:57:25+00:00","dateModified":"2026-02-27T19:34:21+00:00","mainEntityOfPage":{"@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/"},"wordCount":2482,"commentCount":0,"publisher":{"@id":"http:\/\/heartbeat.ai\/resources\/#organization"},"image":{"@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#primaryimage"},"thumbnailUrl":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/make-automation-for-recruiting-f606adcd.png","articleSection":["News"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/","url":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/","name":"Make automation for recruiting: 3 branching scenarios + retries","isPartOf":{"@id":"http:\/\/heartbeat.ai\/resources\/#website"},"primaryImageOfPage":{"@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#primaryimage"},"image":{"@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#primaryimage"},"thumbnailUrl":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/make-automation-for-recruiting-f606adcd.png","datePublished":"2026-02-01T18:57:25+00:00","dateModified":"2026-02-27T19:34:21+00:00","description":"Make automation for recruiting: copy 3 scenarios\u2014enrichment + routing, dedupe using NPI\/license matching, and scheduled refresh workflows with suppression gates, retries, and measurement.","breadcrumb":{"@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#primaryimage","url":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/make-automation-for-recruiting-f606adcd.png","contentUrl":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/make-automation-for-recruiting-f606adcd.png","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"http:\/\/heartbeat.ai\/resources\/integrations-automation\/make-automation-for-recruiting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/heartbeat.ai\/healthcare\/"},{"@type":"ListItem","position":2,"name":"Make automation for recruiting: 3 branching scenarios (enrichment, dedupe, refresh) with retries + suppression"}]},{"@type":"WebSite","@id":"http:\/\/heartbeat.ai\/resources\/#website","url":"http:\/\/heartbeat.ai\/resources\/","name":"Heartbeat.ai","description":"","publisher":{"@id":"http:\/\/heartbeat.ai\/resources\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/heartbeat.ai\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/heartbeat.ai\/resources\/#organization","name":"Heartbeat.ai","url":"http:\/\/heartbeat.ai\/resources\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/logo\/image\/","url":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2021\/04\/Heartbeat.ai-logo.png","contentUrl":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2021\/04\/Heartbeat.ai-logo.png","width":704,"height":126,"caption":"Heartbeat.ai"},"image":{"@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/person\/7b323ddce9b211907423482e2f9db173","name":"Ben Argeband","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9cdd6acf262740ced0b6a1c76378e93640df32a98d2f4d29507f31fbce6817e7?s=96&d=mm&r=g","caption":"Ben Argeband"},"url":"http:\/\/heartbeat.ai\/resources\/author\/ben-argeband\/"}]}},"_links":{"self":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts\/54305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/comments?post=54305"}],"version-history":[{"count":1,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts\/54305\/revisions"}],"predecessor-version":[{"id":54511,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts\/54305\/revisions\/54511"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/media\/54304"}],"wp:attachment":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/media?parent=54305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/categories?post=54305"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/tags?post=54305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}