{"id":54307,"date":"2026-02-01T12:57:46","date_gmt":"2026-02-01T18:57:46","guid":{"rendered":"https:\/\/heartbeat.ai\/healthcare\/physician-contact-enrichment\/"},"modified":"2026-08-31T05:34:50","modified_gmt":"2026-08-31T10:34:50","slug":"physician-contact-enrichment","status":"publish","type":"post","link":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/","title":{"rendered":"Physician contact enrichment: enrich vs verify vs refresh vs dedupe (recruiting ops playbook)"},"content":{"rendered":"<p class=\"article-last-updated\"><strong>Last updated:<\/strong> August 31, 2026<\/p>\n<p><strong>Ben Argeband, Founder &amp; CEO of Heartbeat.ai<\/strong> \u2014 a plain-language breakdown of enrichment vs. verification vs. refresh vs. dedupe for physician recruiting ops.<\/p>\n<p><strong>TL;DR:<\/strong> Match on NPI\/license, enrich missing channels, validate and suppress risk, route the first-touch channel, then refresh when outcomes degrade and dedupe to prevent repeat touches.<\/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\/provider-contact-data\/physician-contact-enrichment\/#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\/provider-contact-data\/physician-contact-enrichment\/#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\/provider-contact-data\/physician-contact-enrichment\/#The_enrichment_decision_loop_enrich_validate_route_refresh\" >The enrichment decision loop: enrich, validate, route, refresh<\/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\/provider-contact-data\/physician-contact-enrichment\/#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\/provider-contact-data\/physician-contact-enrichment\/#1_Get_your_match_keys_right_before_you_append_anything\" >1) Get your match keys right before you append anything<\/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\/provider-contact-data\/physician-contact-enrichment\/#2_Minimum_viable_input_columns_so_enrichment_runs_dont_stall\" >2) Minimum viable input columns so enrichment runs don&#8217;t stall<\/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\/provider-contact-data\/physician-contact-enrichment\/#3_Normalize_your_ATS_fields_so_enrichment_doesnt_create_chaos\" >3) Normalize your ATS fields so enrichment doesn&#8217;t create chaos<\/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\/provider-contact-data\/physician-contact-enrichment\/#4_Clarify_the_four_operations_enrich_vs_verify_vs_refresh_vs_dedupe\" >4) Clarify the four operations: enrich vs. verify vs. refresh vs. dedupe<\/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\/provider-contact-data\/physician-contact-enrichment\/#5_Enrich_with_deterministic_overwrite_rules\" >5) Enrich with deterministic overwrite rules<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#6_Validate_and_suppress_before_you_route\" >6) Validate and suppress before you route<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#7_Route_to_the_right_outreach_workflow\" >7) Route to the right outreach workflow<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#8_Refresh_when_outcomes_degrade_not_just_on_a_calendar\" >8) Refresh when outcomes degrade, not just on a calendar<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#9_Dedupe_before_outreach_to_prevent_repeat_touches\" >9) Dedupe before outreach to prevent repeat touches<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#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-15\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Weighted_readiness_checklist\" >Weighted readiness checklist<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#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-17\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Call_opener_mobile-first\" >Call opener (mobile-first)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Email_verified_email\" >Email (verified email)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Gatekeeper-friendly_office_line_script\" >Gatekeeper-friendly office line script<\/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\/provider-contact-data\/physician-contact-enrichment\/#Text_only_where_appropriate_and_permitted\" >Text (only where appropriate and permitted)<\/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\/provider-contact-data\/physician-contact-enrichment\/#Common_pitfalls\" >Common pitfalls<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Confusing_enrichment_with_verification\" >Confusing enrichment with verification<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Weak_matching_that_creates_false_merges\" >Weak matching that creates false merges<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Not_deduping_before_outreach\" >Not deduping before outreach<\/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\/provider-contact-data\/physician-contact-enrichment\/#Overwriting_recruiter-confirmed_contact_info\" >Overwriting recruiter-confirmed contact info<\/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\/provider-contact-data\/physician-contact-enrichment\/#Refreshing_on_a_calendar_instead_of_outcomes\" >Refreshing on a calendar instead of outcomes<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#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-28\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Use_consistent_metric_definitions_with_denominators\" >Use consistent metric definitions with denominators<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Define_accuracy_metrics_so_ops_and_recruiters_agree\" >Define accuracy metrics so ops and recruiters agree<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#How_to_measure_this_in_practice\" >How to measure this in practice<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Workflow_fit_options\" >Workflow fit options<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#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-33\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#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-34\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#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-35\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#What_inputs_do_I_need_for_physician_contact_enrichment_to_work_well\" >What inputs do I need for physician contact enrichment to work well?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#When_should_I_enrich_vs_verify_vs_refresh_vs_dedupe\" >When should I enrich vs. verify vs. refresh vs. dedupe?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#How_do_I_prevent_repeat_touches_after_enrichment\" >How do I prevent repeat touches after enrichment?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#How_should_we_route_outreach_for_physicians_with_gatekeepers\" >How should we route outreach for physicians with gatekeepers?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#Can_we_run_this_via_API_instead_of_spreadsheets\" >Can we run this via API instead of spreadsheets?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#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-41\" href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#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>This is for recruiting ops teams enriching ATS physician records with accurate mobiles and emails, without burning recruiter time, deliverability, or compliance posture.<\/p>\n<ul>\n<li>You have physician records in an ATS\/CRM with missing or stale phone\/email fields.<\/li>\n<li>You need stable matching (NPI\/license) so you don&#8217;t merge the wrong people together.<\/li>\n<li>You need a workflow that prevents repeat touches (dedupe and suppression) and keeps outreach usable over time (refresh triggers).<\/li>\n<\/ul>\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>Physician contact enrichment appends and standardizes phone\/email data to existing physician records using stable identifiers (NPI\/license), then validates and routes the best channel for outreach.<\/dd>\n<dt>Best for<\/dt>\n<dd>Recruiting ops teams enriching ATS physician records with accurate mobiles and emails.<\/dd>\n<\/dl>\n<blockquote>\n<p><strong>Compliance and safety<\/strong><\/p>\n<p>This method is for legitimate recruiting outreach only. 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=\"The_enrichment_decision_loop_enrich_validate_route_refresh\"><\/span>The enrichment decision loop: enrich, validate, route, refresh<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In physician recruiting, enrichment only helps if it&#8217;s treated as a loop rather than a one-time cleanup project. Physicians have clinic-hour windows, gatekeepers, and sometimes multiple practice locations, so stale or misrouted contact data wastes dials fast.<\/p>\n<ul>\n<li><strong>Enrich<\/strong>: append missing contact points and normalize fields.<\/li>\n<li><strong>Validate<\/strong>: phone validation and email verification plus suppression, so you don&#8217;t scale a bad channel.<\/li>\n<li><strong>Route<\/strong>: choose the first-touch channel and sequence based on confidence and workflow fit.<\/li>\n<li><strong>Refresh<\/strong>: re-check when outcomes degrade, not just on a fixed calendar.<\/li>\n<\/ul>\n<p>The trade-off is straightforward: enrichment increases reach, but skipping validation, routing, and refresh shows up later as bounces, low connect rates, and lost recruiter time.<\/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<h3><span class=\"ez-toc-section\" id=\"1_Get_your_match_keys_right_before_you_append_anything\"><\/span>1) Get your match keys right before you append anything<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Enrichment works best with stable identifiers. For physicians, that usually means <strong>NPI<\/strong> and\/or <strong>license matching<\/strong>. Names alone are not a safe primary key, since common names and similar spellings create false merges.<\/p>\n<ul>\n<li><strong>Preferred match keys<\/strong>: NPI; license number plus state.<\/li>\n<li><strong>Helpful supporting fields<\/strong>: full name (split), specialty, city\/state, organization or affiliation.<\/li>\n<\/ul>\n<p>If you need the mechanics, start here: <a href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/npi-license-matching\/\">NPI and license matching for provider records<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2_Minimum_viable_input_columns_so_enrichment_runs_dont_stall\"><\/span>2) Minimum viable input columns so enrichment runs don&#8217;t stall<span class=\"ez-toc-section-end\"><\/span><\/h3>\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>Column<\/th>\n<th>Required?<\/th>\n<th>Why it matters<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>NPI<\/td>\n<td><strong>Preferred<\/strong><\/td>\n<td>Best match key for physician identity<\/td>\n<\/tr>\n<tr>\n<td>License number + state<\/td>\n<td><strong>Preferred<\/strong><\/td>\n<td>Backup match key when NPI is missing<\/td>\n<\/tr>\n<tr>\n<td>First name \/ last name<\/td>\n<td><strong>Yes<\/strong><\/td>\n<td>Fallback matching and human review<\/td>\n<\/tr>\n<tr>\n<td>Specialty<\/td>\n<td><strong>Recommended<\/strong><\/td>\n<td>Routing and recruiter assignment<\/td>\n<\/tr>\n<tr>\n<td>City\/state<\/td>\n<td><strong>Recommended<\/strong><\/td>\n<td>Disambiguation and routing<\/td>\n<\/tr>\n<tr>\n<td>Existing phone(s) \/ email(s)<\/td>\n<td><strong>Recommended<\/strong><\/td>\n<td>Prevents overwriting good data; improves dedupe<\/td>\n<\/tr>\n<tr>\n<td>ATS internal provider ID<\/td>\n<td><strong>Recommended<\/strong><\/td>\n<td>Stable internal join and audit trail<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"3_Normalize_your_ATS_fields_so_enrichment_doesnt_create_chaos\"><\/span>3) Normalize your ATS fields so enrichment doesn&#8217;t create chaos<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Before enrichment, normalize what you already have so you can dedupe cleanly and avoid overwriting good data with worse data.<\/p>\n<ul>\n<li>Split names into first\/middle\/last\/suffix.<\/li>\n<li>Normalize phones to E.164 format and separate by type (mobile vs. office vs. other).<\/li>\n<li>Normalize emails (lowercase, trim whitespace) and store where each one came from.<\/li>\n<li>Add timestamps for last phone validation date and last email verification date.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"4_Clarify_the_four_operations_enrich_vs_verify_vs_refresh_vs_dedupe\"><\/span>4) Clarify the four operations: enrich vs. verify vs. refresh vs. dedupe<span class=\"ez-toc-section-end\"><\/span><\/h3>\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>Operation<\/th>\n<th>What it does<\/th>\n<th>When to run it<\/th>\n<th>What it prevents<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Enrichment<\/strong><\/td>\n<td>Appends missing phone\/email and standardizes fields<\/td>\n<td>When records are missing channels or poorly formatted<\/td>\n<td>Recruiters hunting for contact info manually<\/td>\n<\/tr>\n<tr>\n<td><strong>Verification<\/strong><\/td>\n<td>Checks usability (phone validation, email verification) and suppresses risky contacts<\/td>\n<td>Before scaling outreach volume or after importing new contacts<\/td>\n<td>High bounce rate, wasted dials, compliance risk<\/td>\n<\/tr>\n<tr>\n<td><strong>Refresh<\/strong><\/td>\n<td>Re-checks and updates contact fields when performance degrades<\/td>\n<td>When outcomes degrade (bounces up, connects down, replies down)<\/td>\n<td>Stale data dragging down speed-to-submittal<\/td>\n<\/tr>\n<tr>\n<td><strong>Dedupe<\/strong><\/td>\n<td>Merges duplicate physician profiles and unifies suppression\/opt-out<\/td>\n<td>Before outreach and after imports\/migrations<\/td>\n<td>Repeat touches and internal ownership confusion<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"5_Enrich_with_deterministic_overwrite_rules\"><\/span>5) Enrich with deterministic overwrite rules<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Decide in advance what can overwrite a field and what can only be appended. This is where ops protects recruiter trust in the ATS.<\/p>\n<ul>\n<li><strong>Overwrite allowed<\/strong>: formatting fixes, country code, filling in truly missing fields.<\/li>\n<li><strong>Append only<\/strong>: additional phones\/emails, alternate locations, alternate names.<\/li>\n<li><strong>Never overwrite without evidence<\/strong>: a recruiter-confirmed mobile, a recently verified email, or a consented preferred channel.<\/li>\n<\/ul>\n<p><strong>A practical rule:<\/strong> if a recruiter confirmed a mobile number in a call disposition or in notes, keep it as the primary number and append any new numbers as alternates with source and date attached.<\/p>\n<p>The goal of enrichment isn&#8217;t simply adding more phone numbers to a record. It&#8217;s giving recruiters a ranked list of options so the most likely-to-connect number gets called first.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"6_Validate_and_suppress_before_you_route\"><\/span>6) Validate and suppress before you route<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Validation is where you protect deliverability and recruiter time.<\/p>\n<ul>\n<li><strong>Phone validation<\/strong>: confirm the number is callable and classify it (mobile vs. office vs. other) when possible.<\/li>\n<li><strong>Email verification<\/strong>: confirm the mailbox is deliverable enough to send without spiking bounce rates.<\/li>\n<li><strong>Suppression<\/strong>: enforce consent, opt-out, and internal do-not-contact status across ATS, CRM, and recruiter tools consistently.<\/li>\n<\/ul>\n<p><strong>Fields worth writing back to your ATS:<\/strong><\/p>\n<ul>\n<li><strong>Source<\/strong> for each phone\/email (which vendor or system provided it).<\/li>\n<li><strong>Phone type<\/strong> (mobile\/office\/other) and primary vs. alternate ordering.<\/li>\n<li><strong>Last phone validation date<\/strong> and <strong>last email verification date<\/strong>.<\/li>\n<li><strong>Consent<\/strong> notes, where captured, plus a global <strong>opt-out<\/strong> flag with timestamp.<\/li>\n<li><strong>Suppression reason<\/strong> (opt-out, internal DNC, invalid channel) so recruiters understand why a record is blocked.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"7_Route_to_the_right_outreach_workflow\"><\/span>7) Route to the right outreach workflow<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Routing is where enrichment actually turns into placements. Use the enriched and validated fields to choose a sequence that fits physician reality.<\/p>\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>What you have<\/th>\n<th>Route to<\/th>\n<th>Ops note<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Validated mobile<\/td>\n<td>Call-first + short voicemail + optional compliant text<\/td>\n<td>Best for speed-to-submittal; log dispositions<\/td>\n<\/tr>\n<tr>\n<td>Verified email only<\/td>\n<td>Email-first + scheduled call window<\/td>\n<td>Protect deliverability; keep copy short<\/td>\n<\/tr>\n<tr>\n<td>Office line only<\/td>\n<td>Gatekeeper script + request preferred channel<\/td>\n<td>Capture preferred contact method in ATS<\/td>\n<\/tr>\n<tr>\n<td>Multiple channels<\/td>\n<td>Hybrid sequence (email + same-day call)<\/td>\n<td>Use suppression to prevent multi-recruiter overlap<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Situations where this workflow pays off fast:<\/strong><\/p>\n<ul>\n<li><strong>New req launch<\/strong>: enrich, validate, and route so recruiters start with the best channel on day one.<\/li>\n<li><strong>Reactivation<\/strong>: refresh validation and verification first, then re-run routing to avoid working stale outreach lists.<\/li>\n<li><strong>ATS migration cleanup<\/strong>: normalize fields, dedupe on NPI\/license, then enrich missing channels.<\/li>\n<li><strong>Multi-site physician records<\/strong>: append alternates, store phone type, and route by confidence to avoid gatekeeper loops.<\/li>\n<\/ul>\n<p>Every non-connecting dial and every bounced email consumes recruiter minutes that could have gone toward a candidate conversation. Routing by channel confidence reduces wasted attempts, which matters because recruiter hours are typically the most expensive input in the workflow.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"8_Refresh_when_outcomes_degrade_not_just_on_a_calendar\"><\/span>8) Refresh when outcomes degrade, not just on a calendar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Refresh should be triggered by performance signals, then prioritized by last validation or verification date. See: <a href=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/provider-data-refresh-cadence\/\">provider data refresh cadence<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"9_Dedupe_before_outreach_to_prevent_repeat_touches\"><\/span>9) Dedupe before outreach to prevent repeat touches<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dedupe is how you avoid one of the fastest ways to lose trust with physicians: multiple recruiters contacting the same person from duplicate ATS profiles.<\/p>\n<ul>\n<li>Dedupe on NPI\/license first.<\/li>\n<li>Then dedupe on combinations of email, phone, or name plus specialty and city\/state.<\/li>\n<li>Keep a merge log noting what merged, when, and why.<\/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>Symptom<\/th>\n<th>Likely root cause<\/th>\n<th>Fix<\/th>\n<th>What to track<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Email bounces spike after outreach<\/td>\n<td>Emails appended but not verified; stale domains; risky inbox types<\/td>\n<td>Run email verification, suppress risky addresses, store last verification date<\/td>\n<td><strong>Bounce rate<\/strong> = bounced emails \/ sent emails (per 100 sent)<\/td>\n<\/tr>\n<tr>\n<td>Lots of dials, few connections<\/td>\n<td>Office lines\/gatekeepers; wrong number type; stale phones<\/td>\n<td>Phone validation, prioritize mobile, route to call windows<\/td>\n<td><strong>Connect rate<\/strong> = connected calls \/ total dials (per 100 dials)<\/td>\n<\/tr>\n<tr>\n<td>Connected calls but no physician answers<\/td>\n<td>Front desk answers; shared lines; wrong extension<\/td>\n<td>Reclassify numbers, adjust routing, capture preferred channel<\/td>\n<td><strong>Answer rate<\/strong> = human answers \/ connected calls (per 100 connected calls)<\/td>\n<\/tr>\n<tr>\n<td>Deliverability looks fine but replies are low<\/td>\n<td>Wrong channel for that physician; timing; message mismatch<\/td>\n<td>Route by channel confidence; tighten copy; test sequences<\/td>\n<td><strong>Reply rate<\/strong> = replies \/ delivered emails (per 100 delivered emails)<\/td>\n<\/tr>\n<tr>\n<td>Deliverability drops over time<\/td>\n<td>Stale emails; missing suppression; verification dates not tracked<\/td>\n<td>Refresh verification on older segments; enforce suppression<\/td>\n<td><strong>Deliverability rate<\/strong> = delivered emails \/ sent emails (per 100 sent emails)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>ATS field map: what to store so enrichment stays usable<\/strong><\/p>\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>ATS field<\/th>\n<th>Populate with<\/th>\n<th>Why it matters<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>NPI<\/td>\n<td>10-digit NPI<\/td>\n<td>Primary match key for physician identity and joins<\/td>\n<\/tr>\n<tr>\n<td>License<\/td>\n<td>License number + state<\/td>\n<td>Backup match key when NPI is missing<\/td>\n<\/tr>\n<tr>\n<td>Mobile phone<\/td>\n<td>E.164 formatted mobile (if available)<\/td>\n<td>Fastest path to conversations<\/td>\n<\/tr>\n<tr>\n<td>Phone type<\/td>\n<td>mobile \/ office \/ other<\/td>\n<td>Routing and recruiter expectations<\/td>\n<\/tr>\n<tr>\n<td>Email<\/td>\n<td>Best available email + type (personal\/work)<\/td>\n<td>Deliverability and reply performance<\/td>\n<\/tr>\n<tr>\n<td>Last phone validation date<\/td>\n<td>Date<\/td>\n<td>Refresh prioritization and auditability<\/td>\n<\/tr>\n<tr>\n<td>Last email verification date<\/td>\n<td>Date<\/td>\n<td>Refresh prioritization and auditability<\/td>\n<\/tr>\n<tr>\n<td>Consent \/ opt-out<\/td>\n<td>Flag + timestamp + notes<\/td>\n<td>Compliance and suppression across teams<\/td>\n<\/tr>\n<tr>\n<td>Source<\/td>\n<td>Vendor\/system name<\/td>\n<td>Debugging and trust scoring<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Weighted_readiness_checklist\"><\/span>Weighted readiness checklist<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Score each item 0\u20132 (0 = no, 1 = partial, 2 = yes). A higher total means you&#8217;re ready to enrich at scale without breaking your ATS.<\/p>\n<ul>\n<li><strong>(2x) Match keys present<\/strong>: NPI and\/or license fields exist and are populated for most records.<\/li>\n<li><strong>(2x) Normalized fields<\/strong>: phones separated by type; emails cleaned; names split.<\/li>\n<li><strong>(2x) Overwrite rules<\/strong>: written rules for overwrite vs. append, plus a merge log.<\/li>\n<li><strong>(2x) Suppression enforced<\/strong>: opt-out and do-not-contact are centralized and applied everywhere.<\/li>\n<li><strong>(1x) Validation built in<\/strong>: phone validation and email verification are part of the workflow.<\/li>\n<li><strong>(1x) Routing rules exist<\/strong>: channel and sequence rules are documented and used.<\/li>\n<li><strong>(1x) Refresh triggers defined<\/strong>: refresh is triggered by outcome degradation, not a fixed date.<\/li>\n<li><strong>(1x) Dedupe logic<\/strong>: dedupe on NPI\/license first, then fallbacks.<\/li>\n<\/ul>\n<p><strong>A quick decision guide:<\/strong><\/p>\n<ul>\n<li><strong>If<\/strong> NPI\/license coverage is low, <strong>then<\/strong> fix match keys first (capture NPI, run license matching) before enriching anything else.<\/li>\n<li><strong>If<\/strong> bounce rate rises, <strong>then<\/strong> prioritize email verification and suppression before adding more emails.<\/li>\n<li><strong>If<\/strong> connect rate falls, <strong>then<\/strong> refresh phone validation and re-route to mobile-first sequences.<\/li>\n<li><strong>If<\/strong> repeat touches show up, <strong>then<\/strong> dedupe and unify suppression before running any new enrichment.<\/li>\n<li><strong>If<\/strong> you have strong match keys but missing mobiles, <strong>then<\/strong> enrich mobiles and route call windows immediately.<\/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>Short, physician-friendly templates. Always respect consent and opt-out requests.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Call_opener_mobile-first\"><\/span>Call opener (mobile-first)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&#8220;Hi Dr. [Last], this is [Name] with [Org]. I&#8217;m calling about a [specialty] role in [market]. Do you have 30 seconds?&#8221;<\/p>\n<p>If busy: &#8220;Understood. What&#8217;s the best time window today or tomorrow for a quick call?&#8221;<\/p>\n<p>Voicemail: &#8220;Dr. [Last], [Name] with [Org]. Quick question about a [role] in [market]. Call or text me at [number]. If you prefer no outreach, tell me and I&#8217;ll stop.&#8221;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Email_verified_email\"><\/span>Email (verified email)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Subject:<\/strong> &#8220;[Market] [Role] \u2014 quick fit check&#8221;<\/p>\n<p>&#8220;Dr. [Last] \u2014 I&#8217;m recruiting for a [role] in [market]. Two questions: (1) Are you open to details? (2) If not, what&#8217;s the best contact method for you? If you prefer no outreach, reply &#8216;opt out&#8217; and I&#8217;ll suppress.&#8221;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Gatekeeper-friendly_office_line_script\"><\/span>Gatekeeper-friendly office line script<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&#8220;Hi, I&#8217;m trying to reach Dr. [Last] for a brief professional opportunity. Is there a preferred way to send details, email or a direct line? I&#8217;m happy to follow your process.&#8221;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Text_only_where_appropriate_and_permitted\"><\/span>Text (only where appropriate and permitted)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&#8220;Dr. [Last], this is [Name] with [Org]. Quick fit check for a [role] in [market]. OK to send details here? Reply STOP to opt out.&#8221;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Common_pitfalls\"><\/span>Common pitfalls<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Confusing_enrichment_with_verification\"><\/span>Confusing enrichment with verification<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Appending contact fields is not the same as making them usable. Skip phone validation and email verification, and you&#8217;ll see the cost in bounce rate and wasted dials.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Weak_matching_that_creates_false_merges\"><\/span>Weak matching that creates false merges<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Matching on name alone is how the wrong phone or email gets attached to the wrong physician. Use NPI and license matching as your backbone.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Not_deduping_before_outreach\"><\/span>Not deduping before outreach<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Duplicate profiles create duplicate touches, which drives opt-outs and damages your reputation in a small physician community.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Overwriting_recruiter-confirmed_contact_info\"><\/span>Overwriting recruiter-confirmed contact info<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Store multiple phones and emails with source and date attached. Don&#8217;t overwrite a recruiter-confirmed mobile with an appended number unless you have evidence it&#8217;s better.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Refreshing_on_a_calendar_instead_of_outcomes\"><\/span>Refreshing on a calendar instead of outcomes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Refresh when outcomes degrade, then prioritize by last validation or verification date rather than a fixed schedule.<\/p>\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<h3><span class=\"ez-toc-section\" id=\"Use_consistent_metric_definitions_with_denominators\"><\/span>Use consistent metric definitions with denominators<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\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>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>Reply rate<\/strong> = replies \/ delivered emails (per 100 delivered emails).<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Define_accuracy_metrics_so_ops_and_recruiters_agree\"><\/span>Define accuracy metrics so ops and recruiters agree<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Mobile accuracy<\/strong>: of the phone numbers dialed from your enriched &#8220;mobile&#8221; field, how many reached the intended physician, based on recruiter disposition notes over a defined reporting window (e.g., weekly), reported per 100 dials.<\/li>\n<li><strong>Email accuracy<\/strong>: of the emails sent to enriched addresses, how many were deliverable and belonged to the intended physician, based on verification results, bounces, and recruiter feedback.<\/li>\n<li><strong>Match key<\/strong>: a stable identifier used to join records across systems with low ambiguity, such as NPI or license number plus state, rather than name-only matching.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"How_to_measure_this_in_practice\"><\/span>How to measure this in practice<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Run a weekly ops dashboard that ties outcomes back to the specific phone or email used and its last validation\/verification date.<\/p>\n<ol>\n<li><strong>Tag each outreach<\/strong> with channel (call\/email\/text), contact source, and the exact phone\/email used.<\/li>\n<li><strong>Require call dispositions<\/strong>: wrong person, front desk, voicemail, physician answered, disconnected, no answer.<\/li>\n<li><strong>Capture email events<\/strong>: delivered, bounced, replied, unsubscribed\/opt-out.<\/li>\n<li><strong>Segment by age<\/strong>: group records by days since last phone validation and days since last email verification.<\/li>\n<li><strong>Trigger refresh<\/strong>: when older segments show worse bounce, deliverability, connect, or reply rates, refresh those records first.<\/li>\n<li><strong>Close the loop<\/strong>: feed &#8220;wrong person\/front desk&#8221; outcomes back into phone type classification and routing rules.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Workflow_fit_options\"><\/span>Workflow fit options<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Recruiter workflow<\/strong>: <a href=\"https:\/\/heartbeat.ai\/signup\">start free search &amp; preview data<\/a> for fast lookups on a short list, with ops governance on suppression and logging.<\/li>\n<li><strong>Ops file workflow<\/strong>: <a href=\"https:\/\/heartbeat.ai\/upload-file\">upload a file for enrichment<\/a> when you&#8217;re cleaning an ATS export and want controlled overwrite rules.<\/li>\n<li><strong>System workflow<\/strong>: use the <a href=\"https:\/\/heartbeat.ai\/api\">Heartbeat API<\/a> to embed enrichment, validation, and refresh triggers directly into your stack.<\/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 your enrichment workflow so it&#8217;s easy to do the right thing:<\/p>\n<ul>\n<li><strong>Consent and opt-out<\/strong>: store consent notes when provided; honor opt-out immediately across all systems.<\/li>\n<li><strong>Purpose limitation<\/strong>: use enriched contact data for legitimate recruiting communications only.<\/li>\n<li><strong>Minimize exposure<\/strong>: restrict exports of raw contact fields; log access where possible.<\/li>\n<li><strong>Suppression<\/strong>: maintain a global suppression list across teams and tools.<\/li>\n<\/ul>\n<p><strong>Suppression hierarchy:<\/strong> opt-out overrides everything, then internal do-not-contact, then channel risk suppression (invalid\/unverified), before any routing rules apply.<\/p>\n<p>Heartbeat.ai does not provide legal counsel. If you operate across jurisdictions, align with your compliance team on outreach rules, retention, and suppression handling.<\/p>\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>NPI is a common anchor for physician identity and matching workflows, maintained through the NPPES NPI Registry operated by CMS. For how Heartbeat approaches data quality, sourcing, and verification practices, see our <a href=\"http:\/\/heartbeat.ai\/resources\/trust-methodology\/\">trust methodology and data quality approach<\/a>.<\/p>\n<p>Match rates aren&#8217;t guaranteed. What you get out of enrichment depends heavily on the match keys you provide (NPI\/license), the cleanliness of your existing records, and how consistently suppression rules are applied.<\/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_inputs_do_I_need_for_physician_contact_enrichment_to_work_well\"><\/span>What inputs do I need for physician contact enrichment to work well?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>At minimum: NPI and\/or license number plus state, full name (split if possible), specialty, and location. Existing phones\/emails help prevent overwriting good data and improve dedupe.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"When_should_I_enrich_vs_verify_vs_refresh_vs_dedupe\"><\/span>When should I enrich vs. verify vs. refresh vs. dedupe?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Enrich when you&#8217;re missing channels. Verify before scaling outreach. Refresh when outcomes degrade (bounces up, connects down, replies down). Dedupe before outreach and after imports\/migrations.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_do_I_prevent_repeat_touches_after_enrichment\"><\/span>How do I prevent repeat touches after enrichment?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dedupe on NPI\/license first, unify suppression and opt-out across ATS\/CRM and recruiter tools, and log merges so ownership stays clear.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_should_we_route_outreach_for_physicians_with_gatekeepers\"><\/span>How should we route outreach for physicians with gatekeepers?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>If you only have an office line, route to a gatekeeper script and capture the physician&#8217;s preferred channel. If you have a validated mobile, route to call-first with tight call windows.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Can_we_run_this_via_API_instead_of_spreadsheets\"><\/span>Can we run this via API instead of spreadsheets?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yes. Many teams enrich and validate via API so new or updated ATS records trigger enrichment, routing, and refresh automatically. Start with a controlled file run, then move to API once overwrite rules and suppression are stable.<\/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>Validate the workflow on a short list: <a href=\"https:\/\/heartbeat.ai\/signup\">start free search &amp; preview data<\/a>.<\/li>\n<li>Run a controlled ops pass with overwrite rules: <a href=\"https:\/\/heartbeat.ai\/upload-file\">upload a file for enrichment<\/a>.<\/li>\n<li>Embed enrichment, validation, and refresh triggers in your stack: use the <a href=\"https:\/\/heartbeat.ai\/api\">Heartbeat API<\/a>.<\/li>\n<\/ul>\n<p>One ops rule worth enforcing above the rest: enrich only when you can match confidently on NPI or license, and refresh based on outcomes, not on the calendar.<\/p>\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><br \/>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Article\",\"articleSection\":\"Resources\",\"author\":{\"@type\":\"Person\",\"jobTitle\":\"Founder & CEO of Heartbeat.ai\",\"name\":\"Ben Argeband\"},\"dateModified\":\"2026-01-05\",\"datePublished\":\"2026-01-05\",\"headline\":\"Physician contact enrichment: enrich vs verify vs refresh vs dedupe (recruiting ops playbook)\",\"keywords\":[\"physician contact enrichment\",\"enrichment\",\"physician\",\"NPI\",\"license matching\",\"phone validation\",\"email verification\",\"consent\",\"opt-out\"],\"mainEntityOfPage\":{\"@id\":\"https:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/\",\"@type\":\"WebPage\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Heartbeat.ai\"}}<\/script><\/p>\n<p><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"At minimum: NPI and\/or license number + state, full name (split if possible), specialty, and location. Existing phones\/emails help prevent overwriting good data and improve dedupe.\"},\"name\":\"What inputs do I need for physician contact enrichment to work well?\"},{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Enrich when you're missing channels. Verify before scaling outreach. Refresh when outcomes degrade (bounces up, connects down, replies down). Dedupe before outreach and after imports\/migrations.\"},\"name\":\"When should I enrich vs verify vs refresh vs dedupe?\"},{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Dedupe on NPI\/license first, unify suppression and opt-out across ATS\/CRM and recruiter tools, and log merges so ownership is clear.\"},\"name\":\"How do I prevent repeat touches after enrichment?\"},{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"If you only have an office line, route to a gatekeeper script and capture the physician's preferred channel. If you have a validated mobile, route to call-first with tight call windows.\"},\"name\":\"How should we route outreach for physicians with gatekeepers?\"},{\"@type\":\"Question\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Many teams enrich and validate via API so new\/updated ATS records trigger enrichment, routing, and refresh automatically. Start with a controlled file run, then move to API once overwrite rules and suppression are stable.\"},\"name\":\"Can we run this via API instead of spreadsheets?\"}]}<\/script><\/p>","protected":false},"excerpt":{"rendered":"<p>A recruiting ops playbook for physician contact enrichment: match on NPI\/license, validate, route outreach, refresh, and dedupe to avoid repeat touches.<\/p>","protected":false},"author":5,"featured_media":54306,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_custom_permalink":"provider-contact-data\/physician-contact-enrichment","footnotes":""},"categories":[1],"tags":[],"class_list":["post-54307","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 v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>Physician contact enrichment (enrich vs verify vs refresh vs dedupe) | Heartbeat.ai<\/title>\r\n<meta name=\"description\" content=\"Recruiting ops playbook for physician contact enrichment: match on NPI\/license, enrich, validate phone\/email, route outreach, refresh when outcomes degrade, and dedupe to prevent repeat touches.\" \/>\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\/provider-contact-data\/physician-contact-enrichment\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Physician contact enrichment (enrich vs verify vs refresh vs dedupe) | Heartbeat.ai\" \/>\r\n<meta property=\"og:description\" content=\"Recruiting ops playbook for physician contact enrichment: match on NPI\/license, enrich, validate phone\/email, route outreach, refresh when outcomes degrade, and dedupe to prevent repeat touches.\" \/>\r\n<meta property=\"og:url\" content=\"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Heartbeat.ai\" \/>\r\n<meta property=\"article:published_time\" content=\"2026-02-01T18:57:46+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2026-08-31T10:34:50+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/physician-contact-enrichment-2e4f2399.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=\"14 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/\"},\"author\":{\"name\":\"Ben Argeband\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#\\\/schema\\\/person\\\/7b323ddce9b211907423482e2f9db173\"},\"headline\":\"Physician contact enrichment: enrich vs verify vs refresh vs dedupe (recruiting ops playbook)\",\"datePublished\":\"2026-02-01T18:57:46+00:00\",\"dateModified\":\"2026-08-31T10:34:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/\"},\"wordCount\":2873,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#organization\"},\"image\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/physician-contact-enrichment-2e4f2399.png\",\"articleSection\":[\"News\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/\",\"url\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/\",\"name\":\"Physician contact enrichment (enrich vs verify vs refresh vs dedupe) | Heartbeat.ai\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/physician-contact-enrichment-2e4f2399.png\",\"datePublished\":\"2026-02-01T18:57:46+00:00\",\"dateModified\":\"2026-08-31T10:34:50+00:00\",\"description\":\"Recruiting ops playbook for physician contact enrichment: match on NPI\\\/license, enrich, validate phone\\\/email, route outreach, refresh when outcomes degrade, and dedupe to prevent repeat touches.\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/#primaryimage\",\"url\":\"http:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/physician-contact-enrichment-2e4f2399.png\",\"contentUrl\":\"http:\\\/\\\/hc.heartbeat.ai\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/physician-contact-enrichment-2e4f2399.png\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/provider-contact-data\\\/physician-contact-enrichment\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/heartbeat.ai\\\/resources\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Physician contact enrichment: enrich vs verify vs refresh vs dedupe (recruiting ops playbook)\"}]},{\"@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":"Physician contact enrichment (enrich vs verify vs refresh vs dedupe) | Heartbeat.ai","description":"Recruiting ops playbook for physician contact enrichment: match on NPI\/license, enrich, validate phone\/email, route outreach, refresh when outcomes degrade, and dedupe to prevent repeat touches.","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\/provider-contact-data\/physician-contact-enrichment\/","og_locale":"en_US","og_type":"article","og_title":"Physician contact enrichment (enrich vs verify vs refresh vs dedupe) | Heartbeat.ai","og_description":"Recruiting ops playbook for physician contact enrichment: match on NPI\/license, enrich, validate phone\/email, route outreach, refresh when outcomes degrade, and dedupe to prevent repeat touches.","og_url":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/","og_site_name":"Heartbeat.ai","article_published_time":"2026-02-01T18:57:46+00:00","article_modified_time":"2026-08-31T10:34:50+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/physician-contact-enrichment-2e4f2399.png","type":"image\/png"}],"author":"Ben Argeband","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ben Argeband","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#article","isPartOf":{"@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/"},"author":{"name":"Ben Argeband","@id":"http:\/\/heartbeat.ai\/resources\/#\/schema\/person\/7b323ddce9b211907423482e2f9db173"},"headline":"Physician contact enrichment: enrich vs verify vs refresh vs dedupe (recruiting ops playbook)","datePublished":"2026-02-01T18:57:46+00:00","dateModified":"2026-08-31T10:34:50+00:00","mainEntityOfPage":{"@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/"},"wordCount":2873,"commentCount":0,"publisher":{"@id":"http:\/\/heartbeat.ai\/resources\/#organization"},"image":{"@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#primaryimage"},"thumbnailUrl":"http:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/physician-contact-enrichment-2e4f2399.png","articleSection":["News"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/","url":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/","name":"Physician contact enrichment (enrich vs verify vs refresh vs dedupe) | Heartbeat.ai","isPartOf":{"@id":"http:\/\/heartbeat.ai\/resources\/#website"},"primaryImageOfPage":{"@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#primaryimage"},"image":{"@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#primaryimage"},"thumbnailUrl":"http:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/physician-contact-enrichment-2e4f2399.png","datePublished":"2026-02-01T18:57:46+00:00","dateModified":"2026-08-31T10:34:50+00:00","description":"Recruiting ops playbook for physician contact enrichment: match on NPI\/license, enrich, validate phone\/email, route outreach, refresh when outcomes degrade, and dedupe to prevent repeat touches.","breadcrumb":{"@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#primaryimage","url":"http:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/physician-contact-enrichment-2e4f2399.png","contentUrl":"http:\/\/hc.heartbeat.ai\/wp-content\/uploads\/2026\/02\/physician-contact-enrichment-2e4f2399.png","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"http:\/\/heartbeat.ai\/resources\/provider-contact-data\/physician-contact-enrichment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/heartbeat.ai\/resources\/"},{"@type":"ListItem","position":2,"name":"Physician contact enrichment: enrich vs verify vs refresh vs dedupe (recruiting ops playbook)"}]},{"@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\/54307","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=54307"}],"version-history":[{"count":2,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts\/54307\/revisions"}],"predecessor-version":[{"id":66118,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/posts\/54307\/revisions\/66118"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/media\/54306"}],"wp:attachment":[{"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/media?parent=54307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/categories?post=54307"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/heartbeat.ai\/resources\/wp-json\/wp\/v2\/tags?post=54307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}