Where
Outreach→Workflow 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. 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.What each block needs before it can search
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:- The website link on the lead’s company.
- A website link on the lead itself.
- 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.
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.
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.
Related
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.