Enrich New LinkedIn Connections with FullEnrich

Enrich New LinkedIn Connections with FullEnrich

Clay

Automatically enrich every prospect who accepts your LinkedIn connection request in HeyReach — get verified emails and phone numbers the moment they connect.

Automatically enrich every prospect who accepts your LinkedIn connection request in HeyReach — get verified emails and phone numbers the moment they connect.

Zapier

What this Zap does: When a new LinkedIn connection request is accepted in HeyReach, this Zap automatically enriches the prospect with FullEnrich to retrieve their professional email and phone number. Your LinkedIn connections are instantly ready for outreach. The Zap uses 2 steps: HeyReach Connection Request AcceptedFullEnrich Enrich Contact.

Use this Zap

1. Open the Zap template

Click the Use this Zap button above to open the pre-built Zap in Zapier. It contains 2 steps already configured:

  • Trigger: HeyReach - Connection Request Accepted (fires instantly when a prospect accepts your invite)

  • Action: FullEnrich - Enrich Contact (finds verified emails and phones)

2. Connect your HeyReach account

In Step 1 of the Zap, click Sign in to HeyReach and enter your HeyReach API key. You can find it in HeyReach → Settings → API Keys. The trigger is set to listen for Connection Request Accepted events across all your HeyReach campaigns. When a prospect accepts, HeyReach sends the lead data (first_name, last_name, company_name, company_url, linkedin_url) to the next step.

3. Connect your FullEnrich account

In Step 2 of the Zap, click Sign in to FullEnrich and enter your API key (found in FullEnrich → Settings → API). Then map the contact fields from the HeyReach trigger:

  • First Name → Lead First Name from HeyReach

  • Last Name → Lead Last Name from HeyReach

  • Company Name → Lead Company Name from HeyReach

  • Domain → Lead Company URL from HeyReach

  • Enrich with → contact.emails, contact.phones

FullEnrich uses these fields to find verified emails and phone numbers for the new connection.

4. Test and publish

Click Test step on each step to verify everything works. You'll need at least one accepted connection in your HeyReach campaigns to load sample data. Check that FullEnrich returns a verified email and phone number. Once confirmed, click Publish to turn the Zap on.

Tip: This Zap enriches the new connection but doesn't push the data anywhere by default. Add a third step to send the enriched contact to your CRM (Attio, Pipedrive, HubSpot), a Google Sheet, or Slack for instant lead alerts — otherwise the emails and phones only live inside the Zap history.

Instant trigger: This Zap uses an instant trigger — it fires immediately when a connection request is accepted in HeyReach, with no polling delay.

Problem

Solution

Zap doesn't trigger

Make sure the Zap is published and your HeyReach account is properly connected. Ensure you have an active campaign in HeyReach that's sending connection requests.

FullEnrich returns no email

Some contacts can't be matched. Make sure first_name, last_name, and company_name are populated in the HeyReach lead data. A LinkedIn URL or company domain improves match rates.

HeyReach connection fails

Re-check your HeyReach API key. Go to HeyReach → Settings → API Keys to regenerate it if needed.

Empty company URL

HeyReach doesn't always return the company domain. You can leave Domain empty and rely on company_name only — FullEnrich will still attempt to match.

Want to push data to a CRM

Add a third step after FullEnrich — e.g. Attio - Create Person, Pipedrive - Create Person, or Google Sheets - Create Spreadsheet Row. Map the enriched email and phone from FullEnrich.

Make

What this scenario does: When someone accepts your LinkedIn connection request via HeyReach, Make detects it through a webhook and sends the contact to FullEnrich to find verified emails and phone numbers. 2 modules: HeyReach Connection Request AcceptedFullEnrich Enrich.

Get template

1. Import the template into Make

Click Get Template above to download the blueprint JSON file. In Make, go to Scenarios → Create a new scenario, click the ... menu at the bottom and select Import Blueprint. Upload the JSON file. You'll see 2 modules:

  • Module 1: HeyReach - Connection Request Accepted (webhook trigger)

  • Module 2: FullEnrich - Enrich Contact (finds verified emails and phones)

2. Connect your HeyReach account

Click on Module 1 (HeyReach Connection Request Accepted). Click Add next to Webhook, name it (e.g. My Connection Request Accepted webhook), and connect your HeyReach account using your API key. You can find it in HeyReach → Settings → API Keys. The webhook triggers the scenario instantly each time a prospect accepts your LinkedIn connection request in any HeyReach campaign.

3. Connect your FullEnrich account

Click on Module 2 (FullEnrich Enrich). Click Add to create a new FullEnrich connection and enter your API key (found in FullEnrich → Settings → API). The fields are already pre-mapped from the HeyReach payload:

  • First Name → {{1.lead.first_name}}

  • Last Name → {{1.lead.last_name}}

  • Company Name → {{1.lead.company_name}}

  • Domain → {{1.lead.company_url}}

  • Enrich with → contact.emails, contact.phones

Tip: Add a 3rd module after FullEnrich to push the enriched data somewhere useful — your CRM (Attio, Pipedrive, HubSpot), a Google Sheet, or Slack for instant lead alerts. Without a destination module, the enriched emails and phones stay in Make and aren't saved anywhere.

4. Test and activate

Click Run once to test. Accept a new LinkedIn connection request triggered by one of your HeyReach campaigns and verify that:

  • Module 1 picks up the "Connection Request Accepted" event

  • Module 2 returns verified emails and phone numbers from FullEnrich

Once confirmed, toggle the scenario to ON and set the scheduling to Immediately (it uses a webhook, so it runs instantly).

Problem

Solution

Webhook doesn't fire

Make sure the scenario is toggled ON and the webhook is properly registered in HeyReach. Go to the webhook settings in Module 1 and click "Re-determine data structure" if needed.

FullEnrich returns no email

Some contacts can't be matched. Make sure first_name, last_name, and company_name are populated in the HeyReach lead data. A LinkedIn URL or valid company domain improves match rates.

Empty company_url field

HeyReach doesn't always return the company domain. You can leave Domain empty and rely on company_name only — FullEnrich will still attempt to match.

Enriched data goes nowhere

The blueprint is 2-module by design (trigger + enrich). Add a 3rd module (CRM, Google Sheet, Slack...) to persist the enriched emails and phones.

n8n

What this workflow does: When a LinkedIn connection request is accepted in HeyReach, this workflow sends the contact to FullEnrich for async enrichment, and a second webhook receives the enriched data (verified emails + phones) as soon as it's ready. Event-driven, zero polling, zero Wait nodes — scales for 1 or 1000 accepts/day.

1. Import the workflow

Click Copy Template URL above. In n8n, go to Workflows → Add Workflow, click the ... menu in the top-right and select Import from URL. Paste the URL and click Import. You'll see 3 nodes using an event-driven callback pattern:

  • HeyReach Accepted (Webhook) — receives the "Connection Request Accepted" event from HeyReach

  • FullEnrich Bulk Enrich — starts an async enrichment and returns immediately with an enrichment_id

  • FullEnrich Callback (Webhook) — receives the enriched contact data (emails + phones) when FullEnrich finishes (typically 30s–5min later)

Important: Activate the workflow first to get production webhook URLs. Test URLs won't work for this async flow because the callback must be publicly reachable when FullEnrich fires it back.

2. Activate the workflow and copy the production URLs

Toggle the workflow to Active at the top-right. Then open each webhook node and copy its Production URL:

  • HeyReach Accepted → you'll paste this in HeyReach (Step 4)

  • FullEnrich Callback → you'll paste this in the FullEnrich node (Step 3)

3. Connect FullEnrich and wire the callback URL

Open the FullEnrich Bulk Enrich node. Click Credential to connect with and add your FullEnrich API key (found in FullEnrich → Settings → API). Replace the placeholder in the Webhook URL field with the production URL of the FullEnrich Callback node (copied in Step 2). The rest of the fields are already pre-mapped from the HeyReach payload:

  • First Name → {{ $json.body.lead.first_name }}

  • Last Name → {{ $json.body.lead.last_name }}

  • Company Name → {{ $json.body.lead.company_name }}

  • Company Domain → {{ $json.body.lead.company_url }}

  • Enrichment Name → HeyReach LinkedIn approved

4. Register the HeyReach webhook

In HeyReach, go to Settings → Webhooks → Add webhook. Paste the HeyReach Accepted production URL (copied in Step 2) and select the Connection Request Accepted event. Save. From now on, every accepted LinkedIn invite will hit your n8n webhook instantly.

5. Plug your destination after the callback

Add a node after FullEnrich Callback to persist the enriched data — otherwise the emails and phones only live in n8n's execution logs. Common destinations:

  • Google Sheets → Append Row with the enriched contact

  • HubSpot / Salesforce / Pipedrive / Attio → Create or Update Contact

  • Slack → Send a message with the verified email/phone for instant alerts

  • Airtable / Clay → Append or Update Record

The callback payload includes the verified email, phone, and the full enriched contact data — map whatever you need.

6. Test the end-to-end flow

Trigger a real acceptance in one of your HeyReach campaigns (or wait for the next one). Check that:

  • The HeyReach Accepted webhook fires on acceptance

  • The FullEnrich Bulk Enrich node returns an enrichment_id and exits immediately

  • 30s–5min later, the FullEnrich Callback webhook fires with the enriched data

  • Your destination node (Sheet / CRM / Slack…) receives the verified email and phone

How it works behind the scenes: Traditional enrichment workflows poll the API or use a Wait node until the result is ready — that burns executions and adds latency. This template uses FullEnrich's async webhook: you send the contact, FullEnrich replies "got it" and closes the connection, then it calls back your second webhook only when the enrichment is complete. No polling, no wait, scales linearly.

Problem

Solution

HeyReach webhook doesn't fire

Make sure you pasted the production URL (not the test URL) in HeyReach, and that the workflow is toggled Active. Also check that your HeyReach campaign is live and actually sending invites.

FullEnrich Callback never fires

Check that you replaced the webhookUrl placeholder in the FullEnrich node with the real Callback production URL. Your n8n instance must have a public URL (self-hosted instances behind a firewall won't work).

FullEnrich returns no email

Some contacts can't be matched. Ensure first_name, last_name, and company_name are populated in the HeyReach lead data. A valid company domain improves match rates.

Empty company_url from HeyReach

HeyReach doesn't always return the company domain. You can leave Company Domain empty and rely on Company Name only — FullEnrich will still attempt to match.

Callback fires but destination node doesn't run

Make sure you connected a node after FullEnrich Callback. The template ships without a destination — you must add one.