Skip to main content
Four blocks in the Find & Enrich category send a workflow out to look something up about the lead in front of it, then branch on what comes back: Enrich Company, Find Email, Verify Email and Find Phone.
Where
OutreachWorkflow Builder
Your role needs
Create access to Workflow Builder create-workflows. Admin and Member have it by default.
To create or change
create-workflows to add one, update-workflows to change one, on top of the permission above.
Not listed in the sidebar today; reachable from the surfaces that link to it, and by URL. If you cannot find this in your sidebar, your workspace may have a custom menu configuration. Contact support and we will check it for you.

What each block does

The category holds a fifth block, Find Employees, which adds other people at the lead’s company as new leads instead of changing the lead in front of it. It is listed in the full block catalog and not covered on this page.

Wire every branch, not just the happy path

These four are branch blocks: each has two or three separate output handles, and every one of them is a path a lead can take.
Nothing checks that you wired them. The canvas only warns you when a whole block is disconnected from everything. Activation refuses a graph for plenty of other reasons, a missing trigger, a dangling edge, a loop that never ends, but never for an unwired branch. So a branch with nothing coming out of it raises no error and no warning at either point. Reach it and that lead’s run through the workflow ends right there, with the enrollment marked complete as if the workflow had nothing left to do.
That is easiest to miss on Verify Email, because Risky is not a rare edge case. It covers two ordinary situations: a catch-all domain, where a check can never prove one specific mailbox exists, and a check that came back inconclusive for any other reason. Wire only Valid and Invalid, and every lead whose check comes back risky quietly stops at the block. The built-in templates take a clear position on this. Core Outbound Sequence builds a deliverability gate in front of its first send, and that gate treats Risky as good enough to send: Several other built-in templates carry the same gate, wired the same way. Templates reference says which. Wire your own workflow like that, or route Risky somewhere else on purpose. Either is fine. Leaving it unwired is the only choice you did not actually make.

The lookup runs in the background

Each of these blocks hands its work to a background job rather than holding up the workflow engine while it runs: a deliverability check (Verify Email), a lookup against our data provider (Find Email, Find Phone), or a full site scrape (Enrich Company). The lead’s enrollment waits at the block while the job works, the same way it waits at a Wait / Delay block, and resumes down whichever branch the job reports. If the job never reports back in time, the lead does not stay there. The engine takes the safe branch itself: Risky for Verify Email, and Not found or No data for the other three. Find Email and Find Phone are the two that draw on your credit balance, so they get one extra state. If the workspace has already spent its credit allowance, or the data provider is unreachable, the block suspends instead of reporting a false Not found. It re-checks periodically, picks up where it left off once credits or the provider come back, and only gives up to the safe branch if it has been stuck that way for too long. Verify Email and Enrich Company never suspend like this: running a verification is free, and the company scrape does not draw on the lookup pool at all. Find Email and Find Phone need at least one identifier: an existing match with our data provider, a LinkedIn URL on the lead, or a resolvable company domain. Missing all three sends the lead straight to Not found without attempting a lookup, and without spending anything. Enrich Company needs a company. A lead with no company record and no domain to build one from goes straight to No data. None of the three need the lead to already be attached to a company. All three resolve a domain the same way, in this order:
  1. The website link on the lead’s company.
  2. A website link on the lead itself.
  3. The domain half of the lead’s own email address, skipped when it is a personal provider like Gmail, so a personal address can never get “enriched” against Gmail itself.
Enrich Company and Find Phone then make sure the lead is attached to a company for that domain, creating a bare one and linking the lead to it when there is none, so there is somewhere to attach results and something for the lookup to match on. Find Email works straight off the domain and creates nothing.

What each block costs

Enrich Company never touches your credit balance. Neither does running Verify Email. Find Email and Find Phone are the metered pair, and they are metered differently:
  • Find Email does not bill per address. What counts against your balance is the lead: finding an address marks the lead chargeable, and a chargeable lead counts once, however many lookups you run on it. A lookup that comes back Not found does not make the lead chargeable.
  • Find Phone bills per number, and per number the provider returns. One reveal can come back with a work number, a direct dial and a mobile, and this block charges for each of them. A revealed number costs more than a chargeable lead does.
Neither one bills when the skip toggle skips the lookup, because nothing is dispatched at all. Verify Email is a special case worth knowing about. The check itself is always free, whatever it decides, but a Valid result quietly does one more thing: it marks the lead chargeable. A lead that arrived free, added by hand, imported, or captured through a web form or the API, can become chargeable this way. Risky and Invalid never do it. See what consumes credits for the figures and for every other way a lead becomes chargeable.

Verify Email

The block checks one address: the most recently added email on the lead. A lead with no email at all never gets checked, and takes the Invalid branch immediately. The three branches are the same three outcomes the rest of the product shows you, under the workflow builder’s own names: Valid is a verified address, Invalid is a failed one (which includes a throwaway address), and Risky is an inconclusive check. Email verification has the full verdict table behind those three words. The block ships with one setting, When the result is risky, offering Valid (send anyway) and Invalid (skip the send). It has no effect. The value is saved on the block, but nothing in the engine reads it, and the block always resumes down whichever of the three branches the check produced. Route a risky result by wiring the Risky handle, not with this setting.

Find Email and Find Phone

Both default to skipping the lookup when the lead already carries that kind of data. Skip if the lead already has an email and Skip if the lead already has a phone are on out of the box, and they are the first thing either block looks at, before the identifier check above. Re-run one of these blocks on a lead that already has the answer and it takes the Found branch immediately: no credit spent, no fresh lookup, and no need for an identifier at all. Turn the toggle off to force a fresh check regardless. On the canvas, Find Phone’s Not found branch is a neutral gray while Find Email’s is red. That is a deliberate signal about how much each miss matters: plenty of leads have no findable phone number, but a work email that cannot be found leaves the flow with nothing to send to.

Enrich Company

Data to fetch reads like it controls what the scrape pulls off the site. It does not. The scrape always extracts everything it can find, and the field decides the branch instead: which kinds of data have to be present for the result to count as Enriched. Leave it empty, the default, and any single kind of data found is enough. Narrow it and only the types you picked decide, so the block can come back with an email and a phone number and still take No data if neither of those was on your list. Overwrite existing company values does nothing. The block stores whatever you set, and the value is never passed to the scrape. A company that has already been fully analyzed is not scraped again. The block branches on whatever is already stored against it, so running Enrich Company twice on the same lead does not scrape the site twice.

Email verification

The five verdicts behind Valid, Risky and Invalid, and how each one is reached.

Get a phone number for a lead

The same reveal Find Phone runs, from one lead’s own page, without building a workflow.

Verify a lead's email address

The same check Verify Email runs, on demand, from one lead’s own page.

What consumes credits

What a revealed phone number costs, and every way a lead becomes chargeable.