Skip to content
heyenrich
n8n

HeyEnrich node for n8n

A community node with Lookup, Bulk, Company and Verify operations, or the raw HTTP Request node on any n8n version. Branch on the state with an IF node and never pay for a miss.

How it works

Setup

  1. 01

    Install the node

    Settings → Community nodes → n8n-nodes-heyenrich. Or skip it and use HTTP Request.

  2. 02

    Add the credential

    Header auth, name Authorization, value Bearer he_live_… Use a he_test_ key while building.

  3. 03

    Branch on the state

    An IF node on {{ $json.work_email.state }} equals verified. Route risky to a slower batch and notfound to the next provider or the bin.

Sample workflow: form lead → lookup → HubSpot

n8n workflow (abridged JSON)
{
  "nodes": [
    { "name": "Form", "type": "n8n-nodes-base.formTrigger" },
    { "name": "HeyEnrich lookup", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2,
      "parameters": {
        "method": "POST", "url": "https://api.heyenrich.io/v1/lookup",
        "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth",
        "sendBody": true, "specifyBody": "json",
        "jsonBody": "={{ { work_email: $json.email, fields: ['mobile'] } }}" } },
    { "name": "Verified?", "type": "n8n-nodes-base.if",
      "parameters": { "conditions": { "string": [ { "value1": "={{ $json.mobile.state }}", "value2": "verified" } ] } } },
    { "name": "HubSpot", "type": "n8n-nodes-base.hubspot" }
  ],
  "connections": {
    "Form": { "main": [[{ "node": "HeyEnrich lookup" }]] },
    "HeyEnrich lookup": { "main": [[{ "node": "Verified?" }]] },
    "Verified?": { "main": [[{ "node": "HubSpot" }], []] }
  }
}

Actions and what each costs

The same credits as everywhere else. A miss inside any integration costs nothing.

ActionInputReturnsCredits
Look up personLinkedIn URL, name + domain, or work emailwork_email, personal_email, mobile with state and checked_at1 / 2 / 5 per field found
Company by domainDomainEmail pattern and share, catch-all, MX provider, headcount band1, or free with a person match
Verify emailAddressstate and checked_at0.5
Bulk jobRows or a fileJob id, then a download URLSame per filled field
FAQ

n8n questions

Self-hosted n8n?

Yes. The node and the HTTP approach both work on self-hosted and cloud.

How do I handle bulk?

Use the Bulk operation with a webhook_url pointing at an n8n Webhook node. The bulk.completed event carries the download URL.

What about the suppression webhook?

Point person.suppressed at a Webhook node and delete the record in your CRM from there. Required if you store what we return.