ACTION_ID: extract_domain_from_email NAME: Extract Domain from Email CATEGORY: Data Operations CREDITS: 0 Take the company domain off an email address, with a list of domains to exclude so free providers don't come through as if they were employers. Free, local, and the standard first step on any inbound list where all you have is an address. 1. INPUTS email (email, required) Email. The email address to read the domain from. exception_domains (string, required) Exception Domains. Enter comma separated domains that you want to exclude from the results. Anything matching returns no domain instead of the provider's. 2. OUTPUTS company_domain (url) — Extracted (formatted) company domain from the email. Empty when the address matched an exception domain or could not be parsed. 3. HOW TO CONFIGURE Configure Action body (PATCH /api/v1/workflows/{workflow_id}/sheets/{sheet_id}/actions/{action_instance_id}): { "inputs": { "email": "{{input.email}}", "exception_domains": "gmail.com,yahoo.com,outlook.com,hotmail.com,icloud.com,aol.com,proton.me,protonmail.com,live.com,msn.com" } } Field-by-field: - email The address to parse. - exception_domains Comma-separated, no spaces needed. Required — pass your free-provider list here rather than filtering afterwards. 4. KEY NOTES - `exception_domains` is REQUIRED, not optional. There is no built-in free-provider list, so an empty value means gmail.com sails through as a company domain and every downstream firmographic lookup burns credits on it. Pass an explicit list. - An excluded address is not a failure. The row succeeds with an empty `company_domain`, which is the intended signal — gate the next step on `{{extract_domain_from_email_01ab.company_domain}} is not empty`. - Costs nothing and runs locally, so put it as early as possible. Every credit-consuming action downstream then only sees rows with a real company domain. - Subdomains come through as-is. An address at `mail.acme.com` yields `mail.acme.com`, which some domain-keyed providers will miss — normalise to the registrable domain in a `formula` if your source produces them. - Role addresses (`info@`, `sales@`) still yield a valid company domain. This action reads the domain only; if you need to drop role addresses, filter on the local part separately. 5. WHERE IT FITS IN A WORKFLOW Pattern: inbound form / visitor row -> extract_domain_from_email -> filter (domain not empty) -> floqer_company_firmographics -> scoring. The filter is the point: it removes personal-email signups before any paid enrichment runs. 6. WHEN TO USE Use extract_domain_from_email on any inbound or list-upload chain that starts from an email address and needs a company domain — which is most of them. 7. WHEN NOT TO USE You need the company's LinkedIn page rather than its domain -> action-detail/floqer_company_firmographics.txt (returns company_linkedin_url among its fields — chain it after this one) You want to verify the address is deliverable, not parse it -> action-detail/person_work_email_verification_by_zerobounce.txt You need arbitrary string surgery beyond the domain -> action-detail/formula.txt Last updated: 2026-08-13.