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.
Setup
- 01
Install the node
Settings → Community nodes → n8n-nodes-heyenrich. Or skip it and use HTTP Request.
- 02
Add the credential
Header auth, name Authorization, value Bearer he_live_… Use a he_test_ key while building.
- 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
{
"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.
| Action | Input | Returns | Credits |
|---|---|---|---|
| Look up person | LinkedIn URL, name + domain, or work email | work_email, personal_email, mobile with state and checked_at | 1 / 2 / 5 per field found |
| Company by domain | Domain | Email pattern and share, catch-all, MX provider, headcount band | 1, or free with a person match |
| Verify email | Address | state and checked_at | 0.5 |
| Bulk job | Rows or a file | Job id, then a download URL | Same per filled field |
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.