ACTION_ID: person_work_email_waterfall NAME: Find Work Email CATEGORY: enrich CREDITS: 0.1-10 Find a person's work email using domain and LinkedIn URL. INDEX: 1. Inputs 2. Outputs 3. How to configure 4. Key notes 5. Where it fits in a workflow 6. When to use 7. When not to use ================================================================================ 1. INPUTS ================================================================================ full_name (string, optional) — Full Name The full name of the prospect. Can be passed as a single string, or composed inline from two upstream variables joined with a space — e.g. "{{input.first_name}} {{input.last_name}}". linkedin_url (url, optional) — LinkedIn URL LinkedIn URL of the prospect. company_domain (url, optional) — Company Domain The prospect's current company domain (e.g. "acme.com"). Required combinations — every individual input is marked optional, but at least one of the following must be supplied or the action cannot run: - `linkedin_url` alone, OR - `full_name` AND `company_domain` together. Passing all three is supported and is the highest-signal config — the underlying waterfall providers will use whichever fields they each need. email_validation (type: string, optional) — Email Validation Optional email-validation service to run on the resolved email. Only ONE validator can be selected per configuration — these do not chain. Allowed values: - "ZeroBounce" (1 credit) - "MillionVerifier" (0.1 credits) - "NeverBounce" (1 credit) - "Allegrow" (0.1 credits) - "None" (default — no validation) ================================================================================ 2. OUTPUTS ================================================================================ work_email (type: email) — The resolved work email of the contact. ================================================================================ 3. HOW TO CONFIGURE ================================================================================ Configure Action body: { "inputs": { "full_name": "{{input.full_name}}", "company_domain": "{{input.company_domain}}", "linkedin_url": "{{input.linkedin_url}}", "email_validation": "MillionVerifier" } } Supply at least one of: `linkedin_url` alone, OR `full_name` + `company_domain` together. `email_validation` is optional and accepts exactly one of `"ZeroBounce"`, `"MillionVerifier"`, `"NeverBounce"`, `"Allegrow"`, or `"None"` (default). ================================================================================ 4. KEY NOTES ================================================================================ - The provider order and the set of providers in this waterfall are fixed and cannot be changed via this action — there is no field to reorder providers, swap providers in or out, or restrict the action to a specific provider. If a user asks for a specific provider order, a different provider mix, or "only use provider X", that request cannot be fulfilled with this action today; surface the constraint instead of pretending the configuration exists. - Email validation is a single, optional pick. The `email_validation` field accepts one validator (`ZeroBounce`, `MillionVerifier`, `NeverBounce`, `Allegrow`) or `"None"`. Validators do not chain. - Provider input requirements split the waterfall in half. Some providers in the chain (e.g. Findymail, Lightning) ONLY accept `linkedin_url` as input — they don't consume name+domain at all. Others (pattern-based generators, profile-DB lookups keyed on name) consume `full_name` + `company_domain`. The practical consequences: - Passing `linkedin_url` enables the LinkedIn-only providers and is the highest-coverage configuration. It's also what makes the email returned the person's CURRENT work email — which is the person's CURRENT employer regardless of which `company_domain` you passed. Right behaviour for "find this person's current work email", wrong behaviour for "validate this person actually works at the company we're targeting" (e.g. when an upstream web agent surfaced someone who has since left). - Omitting `linkedin_url` (pass only `full_name` + `company_domain`) disables the LinkedIn-only providers — you lose coverage from those. The remaining providers must find an email under the target domain, which for pattern-based generators means the constraint is honoured. For profile-DB lookups that index people by name across companies, the domain hint is weaker and a name match from a different domain can still surface. ICP-membership validation pattern: omit `linkedin_url` and pass only `full_name` + `company_domain` so that wrong-company records fail cleanly on the pattern-based providers. It's a cost-coverage trade-off (lose LinkedIn-only providers) and it's not bulletproof on the cross-name-index providers. For a hard guarantee, pair it with an upstream `enrich_person_linkedin_profile` step and a downstream filter on `current_company_domain` matching `company_domain`. Empirically: omitting `linkedin_url` corrected roughly half of the "wrong company" cases in a small test, with the remainder needing the LinkedIn-scrape verification step. ================================================================================ 5. WHERE IT FITS IN A WORKFLOW ================================================================================ Pattern: enrich_person_linkedin_profile -> person_work_email_waterfall -> person_work_email_verification_by_zerobounce (or another verifier) -> outreach. ================================================================================ 6. WHEN TO USE ================================================================================ Use person_work_email_waterfall to resolve a prospect's work email from either: - a LinkedIn URL alone, or - a full name + company domain. Passing all three works too and gives the providers more signal — but it's not required. Either grouping on its own is enough to run the action. ================================================================================ 7. WHEN NOT TO USE ================================================================================ Need a personal email -> personal_email_by_linkedin_url_waterfall (https://floqer.com/docs/action-detail/personal_email_by_linkedin_url_waterfall.txt) Need a phone number -> personal_phone_number_by_linkedin_url_waterfall (https://floqer.com/docs/action-detail/personal_phone_number_by_linkedin_url_waterfall.txt) ================================================================================ This file is maintained manually. Last updated: 2026-04-30. Full interactive reference: https://floqer.com/docs/reference Action catalog: https://floqer.com/docs/action-catalog.txt