n8n
The Tomba node, npm package n8n-nodes-tomba, adds 45 Tomba operations to n8n workflows. Tomba builds and maintains it; the source is at github.com/tomba-io/n8n-nodes-tomba and the listing at n8n.io/integrations/tomba.
Prerequisites
- A Tomba API key and secret. See Get your key and secret.
- n8n Cloud or a self-hosted n8n instance, and an owner or admin account on it to install the node.
Install and connect
Install the node in one of two ways:
- From the nodes panel (n8n Cloud and self-hosted). Open the nodes panel, search for Tomba, select the node under More from the community, and select Install. n8n verifies the node, so it's available wherever verified community nodes are enabled; on n8n Cloud, an owner enables them in the Cloud Admin Panel.
- By package name (self-hosted only). Go to Settings > Community Nodes, select Install, enter
n8n-nodes-tomba, accept the risk notice, and select Install.
Either way, the node is installed once for the whole instance.
Then connect your account:
- Open the Tomba node and leave Authentication set to API Key.
- Under Credential to connect with, create a Tomba API credential with your API Key and API Secret. n8n tests the credential with
GET /v1/me.
The OAuth2 option needs an OAuth client ID and secret issued by Tomba. Use API Key unless Tomba has issued you a client.
Actions
Pick a Resource, then an Operation. Each operation sends one request, so it's charged and throttled like a direct API call: see Credit costs and Rate limits.
| Resource | Operations | Endpoints |
|---|---|---|
| Domain | Domain Search, Domain Status, Autocomplete, Location, Similar, Technology | /domain-search, /domain-status, /domain-suggestions, /location, /similar, /technology |
| Email Finder, Email Verifier, Email Enrichment, Email Count, Email Sources, Email Format | /email-finder, /email-verifier, /enrich, /email-count, /email-sources, /email-format | |
| Finder | Author Finder, LinkedIn Finder | /author-finder, /linkedin |
| Phone | Phone Finder, Phone Validator | /phone-finder, /phone-validator |
| Company | Search Companies | POST /reveal/search |
| Enrichment | Person, Company, Combined | /people/find, /companies/find, /combined/find |
| Lead | List, Get, Create, Update, Delete | Leads |
| Lead List | List, Get, Create, Update, Delete | Lead lists |
| Lead Attribute | List, Get, Create, Update, Delete | Lead attributes |
| Key | List, Get, Create, Reset, Delete | Keys |
| Account | Account, Usage, Logs | /me, /usage, /logs |
| Flag | List, Create | Flag |
Operation details that differ from the API:
- Domain Search offers a Limit of 10, 20, or 50. Return All sends one request with
limit=100, which is charged for 100 results (see Credit costs) and fails on the Free plan. Only Emails is on by default and returns only the addresses; turn it off to get the company data too. - Email Finder needs Domain or Company, plus Full Name or both First Name and Last Name. The node doesn't mark these fields as required, so a request without them fails at the API with
422. - Phone Finder searches by one of email, domain, or LinkedIn URL, chosen in Search Type.
- Lead > Create requires Email and List ID in the node. The API itself requires only the email.
- Email Finder, Email Verifier, Email Enrichment, Phone Finder, LinkedIn Finder, Author Finder, Domain Search, and Search Companies accept a Webhook URL. The node still waits for the response; see Per-request callbacks for which endpoints send a callback.
The node waits up to 120 seconds for each response.
For an endpoint the node doesn't cover, use the HTTP Request node: set Authentication to Predefined Credential Type, choose Tomba API, and select your credential. n8n adds the X-Tomba-Key and X-Tomba-Secret headers.
Example
Find an address for each incoming contact and keep only deliverable ones:
- Trigger: a node that outputs
first_name,last_name, anddomain, such as a form or a spreadsheet row. - Tomba > Email > Email Finder: set Domain to
{{ $json.domain }}, First Name to{{ $json.first_name }}, and Last Name to{{ $json.last_name }}. The output has the address inemail. - Tomba > Email > Email Verifier: set Email to
{{ $json.email }}. The output has the verification fields underemail. - If: continue when
{{ $json.email.result }}equalsdeliverable. Email verifier attributes lists the other values.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Credential test fails | The key or secret is wrong or malformed, or the key has expired. | Copy both values again from API keys. Replace an expired key; see Key expiry. |
402 error | Not enough credits for the request. | See Credits and usage. |
429 error | A rate limit was hit, or the email count or sources balance is used up. | For per-second limits, turn on Retry On Fail in the node's settings. For per-minute limits, space items with a Wait node, because Wait Between Tries can't exceed 5 seconds. See Handle 429 responses. |
451 error | The address, profile, or phone number is withheld at its owner's request. | Remove the record from your data. |
422 error | A required parameter is missing or invalid. | Check the fields listed above. Errors lists every error type. |
| Created lead isn't in the list and has no name | The node sends List ID as text, and the API drops the list ID and the fields after it. | Create the lead with an HTTP Request node that sends list_id as a number, or add the lead to the list in the dashboard. |