ACTION_ID: company_headcount_distribution_by_job_role NAME: Company Headcount Distribution by Job Role CATEGORY: enrichment CREDITS: 1 Get the role-mix breakdown of a company's workforce — estimated headcount in each of 15 role buckets (Engineering, Sales, Marketing, etc.) plus the quarter-over-quarter change in headcount per role — for the most recent quarter. Values are raw role-counts derived from LinkedIn profiles classified into role buckets, not percentages (see §4 KEY NOTES on the `perc_` field-name prefix). Use it to size up a company's functional org structure — how heavy they are on Sales vs. Engineering, whether their hiring is leaning into a particular function, etc. — and to score or segment leads on the resulting mix. 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 ================================================================================ company_name (type: string, optional) — Company Name Plain company name (e.g. "Floqer"). Less reliable than the identifier-style inputs below; pass a domain or LinkedIn URL when available so common / generic names don't resolve to the wrong record. company_domain (type: url, optional) — Company Domain Company domain / website (e.g. `floqer.com`). Best identifier when available — produces a deterministic match. company_linkedin_url (type: url, optional) — Company LinkedIn URL LinkedIn company page URL (e.g. `linkedin.com/company/example`). Equivalent reliability to `company_domain`. company_crunchbase_url (type: url, optional) — Company Crunchbase URL Crunchbase profile URL. country_code (type: string, optional) — Country Code ISO two-letter country code (e.g. `US`, `GB`, `DE`) used to scope the workforce data when the company has a multi-country presence. At least one identifier (`company_domain` / `company_linkedin_url` / `company_crunchbase_url` / `company_name`) must resolve a record; otherwise the action returns empty. ================================================================================ 2. OUTPUTS ================================================================================ Each output is a number unless noted. The breakdown is for the most recent quarter; the `quarter` field tells you which quarter. Quarter metadata: quarter (string) — Quarter label, e.g. `2024-Q3`. profiles_found_per_quarter (number) — Number of LinkedIn profiles the dataset surfaced for this company during the quarter. Lower numbers mean the role-counts below are based on a smaller sample. Headcount-by-role for the quarter (`perc_*` — see §4 KEY NOTES on the field-name prefix; values are raw role-counts, not percentages): perc_engineering Engineering headcount estimate perc_sales Sales headcount estimate perc_marketing Marketing headcount estimate perc_operations Operations headcount estimate perc_finance Finance headcount estimate perc_hr HR headcount estimate perc_customer_service Customer Service / Support headcount perc_design Design headcount estimate perc_education Education headcount estimate perc_legal Legal headcount estimate perc_media Media headcount estimate perc_pr PR headcount estimate perc_health Health headcount estimate perc_trades Trades headcount estimate perc_real_estate Real Estate headcount estimate Quarter-over-quarter change in headcount per role (`change_in_*`): change_in_engineering Engineering change_in_sales Sales change_in_marketing Marketing change_in_operations Operations change_in_finance Finance change_in_hr HR change_in_customer_service Customer Service change_in_design Design change_in_education Education change_in_legal Legal change_in_media Media change_in_pr PR change_in_health Health change_in_trades Trades change_in_real_estate Real Estate ================================================================================ 3. HOW TO CONFIGURE ================================================================================ Configure Action body: { "inputs": { "company_domain": "{{input.company_domain}}", "company_linkedin_url": "{{input.company_linkedin_url}}" } } Field-by-field: - company_name Optional plain name. Use only when no other identifier is available. - company_domain Preferred identifier — deterministic. - company_linkedin_url Preferred identifier — deterministic. - company_crunchbase_url Optional Crunchbase URL. - country_code Optional two-letter country code; scope results to one country for multi-country companies. Identifier preference: pass `company_domain` or `company_linkedin_url` when available. They're unique and resolve deterministically. Pass multiple identifiers for resiliency — the action will try them in order. ================================================================================ 4. KEY NOTES ================================================================================ - ⚠ The `perc_` field-name prefix is historical — values are NOT percentages. They are raw role-counts of LinkedIn profiles classified into each role bucket for the quarter. Treat `perc_engineering` as "estimated count of Engineering employees," not "percent of workforce in Engineering." If you need a true percentage, divide by `profiles_found_per_quarter` in a downstream formatter (e.g. `perc_sales / profiles_found_per_quarter`). - Sum of `perc_*` values is typically less than `profiles_found_per_quarter` — profiles that don't classify into any of the 15 role buckets are simply omitted from the breakdown. Treat low `profiles_found_per_quarter` (say, < 50) as a signal to read the role-counts as directional rather than precise. - `change_in_*` fields are quarter-over-quarter deltas in role count, not absolute counts. A positive value means that role's headcount grew vs. the prior quarter; negative means it shrank. - This action returns ONE quarter's snapshot — the most recent. Historic time series are not exposed here. - Roles outside the 15 categories (e.g. Research, Product) are bucketed into adjacent categories or omitted; treat the breakdown as coarse functional shape, not a full org chart. ================================================================================ 5. WHERE IT FITS IN A WORKFLOW ================================================================================ Pattern (functional fit / ICP scoring): score companies by how heavy they are on the function your product targets. input (company domain or LinkedIn URL) -> company_headcount_distribution_by_job_role (returns role-count and change_in_* breakdown) -> format_data_using_js_expression (compute a single fit score from the relevant role-counts — e.g. a devtool ICP score = perc_engineering raw count; an HR-tech ICP score = perc_hr; a sales-tooling ICP score = perc_sales). Optionally divide by profiles_found_per_quarter first to get a true percentage if you want the score normalised across companies of different sizes. -> filter / outreach prioritization (only contact companies above a threshold). Pattern (hiring-velocity signal): use `change_in_*` to spot companies actively scaling a function — strong outbound signal for outreach. input -> company_headcount_distribution_by_job_role -> filter on `change_in_engineering > 5` -> instantly_add_to_campaign / reply_add_and_push_to_campaign with a hiring-themed opener. ================================================================================ 6. WHEN TO USE ================================================================================ Use company_headcount_distribution_by_job_role when you need the functional-mix or per-role hiring-velocity signal as part of an account-level enrichment or scoring step: Functional ICP fit Your product sells into a specific function (devtool, HR-tech, sales enablement, etc.) — score accounts by the role-count for that function (`perc_`) so companies with bigger relevant teams float to the top. Divide by `profiles_found_per_quarter` if you need a percentage to compare fairly across companies of different sizes. Hiring velocity per role Use `change_in_*` to detect functions being actively scaled this quarter — strong "they're spending in your area" signal for outbound, especially when paired with recent funding signals. Per-country workforce shape Pass `country_code` to scope the breakdown to a single country — useful when you only sell into a specific region and want the workforce mix for the relevant geography. ================================================================================ 7. WHEN NOT TO USE ================================================================================ Need country headcount distribution -> company_headcount_distribution_by_country (https://floqer.com/docs/action-detail/company_headcount_distribution_by_country.txt) Returns total headcount + per-country breakdown without role mix. Use it when you only care about WHERE employees sit, not WHAT they do. Need richer firmographics (revenue, funding, industry) on top of workforce trends -> company_enrich_using_people_data_labs (https://floqer.com/docs/action-detail/company_enrich_using_people_data_labs.txt) PDL returns its own `employee_count_by_job_role`, `employee_growth_rate`, and `average_tenure_by_role` plus industry / funding / location data in one call. Reach for PDL when you need a fuller company picture; this action is the lighter, role-mix-only call. Need historical time-series of workforce composition -> not currently exposed via the public API. This action returns one quarter's snapshot. For longer history, fall back to `company_enrich_using_people_data_labs.employee_headcount_by_month` or `employee_count_by_job_role` (broader breakdown but flatter time axis). ================================================================================ This file is maintained manually. Last updated: 2026-05-08. Full interactive reference: https://floqer.com/docs/reference Action catalog: https://floqer.com/docs/action-catalog.txt