Industry Engagement Signal
Theindustry_engagement signal monitors LinkedIn for posts originating from companies in your target industries, extracts the people who liked or commented on those posts, filters them against your Ideal Customer Profile (ICP), and scores each lead 1–3 based on fit and intent.
You can create multiple
industry_engagement signals — each targeting a different industry set or ICP. Each signal is identified by a signal_id returned on creation.Create an industry engagement signal
Request
string
required
Must be
"industry_engagement".array
required
A list of LinkedIn industry names to monitor. Each name is looked up in the LinkedIn industry taxonomy and resolved to its numeric ID automatically. Unrecognised names are returned in
unresolved_industries and skipped.Names are matched case-insensitively. Use exact names from the LinkedIn industry list. Unrecognised names are reported in the response but do not cause the request to fail — as long as at least one name resolves.
object
Ideal Customer Profile filter. If omitted, every engaging lead passes through unfiltered. See the ICP Filter Reference section below.
string
Only surface leads who engaged with posts published within this window.Valid values:
"past-24h" · "past-week" · "past-month"array
Extra email addresses to receive the lead digest. Your registered account email is always included.
string
HMAC secret for signing webhook payloads.
Response
Response
string
Unique identifier for this signal. Save this — required for update and delete operations.
string
Always
"industry_engagement".string
"active" after creation.array
The resolved industry groups — one entry per successfully matched industry name, each with its LinkedIn
id and the original label.array
Only present if one or more
industries names could not be matched. These entries were skipped and are not being monitored. Fix the spelling or use an exact name from the LinkedIn industry taxonomy.object
The ICP configuration, if provided.
ICP filter reference
All fields are optional. If no ICP is provided, every lead passes with a score of 1.0.Hard filters — reject leads that don’t match
array
Accepted location strings (country names, cities, or regions). A lead passes if any value appears in their LinkedIn location.
array
Job titles to exclude. Seniority-aware —
"Intern" excludes "Marketing Intern" but not "VP Sales".array
At least one keyword must appear in the lead’s profile text.
array
Target job titles. Matching is seniority- and function-aware. Leads with confidence below 0.6 are hard-rejected.
array
Restrict to specific seniority bands. Leads with unclassified seniority (
"unknown") always pass.Valid values: "intern" "entry" "ic" "manager" "director" "vp" "c_level" "founder" "unknown"Soft filters — affect score but don’t reject
array
Target company industries. Uses semantic matching. Non-matches lower the ICP score rather than hard-rejecting.
array
Target LinkedIn company size bands. Non-matches lower the ICP score. Must match LinkedIn’s exact size band strings:
"" · "2 - 10" · "11 - 50" · "51 - 200" · "201 - 500" · "501 - 1000" · "1001 - 5000" · "5001 - 10000" · "10001+"array
Keywords that reduce or eliminate a lead’s score if found in their profile text.
Lead scoring
Each lead that passes the hard filters is scored on two dimensions: ICP Score (0.0–1.0) — average of all soft-filter scores (industries, company_size, negative_keywords). Leads with no ICP configured receive 1.0.
Signal Score — based on:
- Engagement type: comment = 1.0, like = 0.7
- Recency: decays linearly over 14 days
composite = 0.5 × icp_score + 0.5 × signal_score
Leads are delivered via email digest and/or webhook after each daily run.