Skip to main content
POST
/
api
/
v2
/
signal
/
deploy
/
people-hired-for-initiatives
Find people being hired for specific initiatives
curl --request POST \
  --url https://api.openfunnel.dev/api/v2/signal/deploy/people-hired-for-initiatives \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '
{
  "name": "<string>",
  "job_to_be_done": "<string>",
  "descriptive_icp": "<string>",
  "icp_id": 123,
  "timeframe": 90,
  "speed_mode": false,
  "accounts": [
    {
      "website": "<string>",
      "linkedin_url": "<string>"
    }
  ],
  "repeat": false,
  "account_audience_name": "<string>",
  "people_audience_name": "<string>",
  "max_credit_limit": 123,
  "enable_safe_crm_addition": false,
  "auto_enrich_people_emails": false,
  "advanced_people_finder": false
}
'
{
  "signal_id": 123,
  "status": "<string>"
}

Headers

X-API-Key
string
required

Body

application/json

Sentence: People hired to [job_to_be_done] at [descriptive_icp] companies

Find people recently hired to execute a specific function. Targets people, not companies.

name
string
required

Name/identifier for this signal run

job_to_be_done
string
required

What the person was hired to do. Examples: 'setup outbound sales', 'lead AI transformation', 'build data platform', 'scale engineering team'.

descriptive_icp
string | null

Helps you specify a Company Category to target. It can be any company description in natural language (a category, industry, or business model), but never firmographic filters like employee count, location, or funding, which belong only in your ICP (icp_id). The items below are just examples of possible descriptive ICPs. Examples: B2B SaaS Companies, B2B Fintech Companies, Neobanking Companies, B2B Customer Support SaaS Companies, Health-tech SaaS companies that sell to dentists, or Companies that offer Developer Observability Solutions. Optional - when omitted, searches across all industries.

icp_id
integer | null

ICP ID for firmographic filtering. Required unless accounts are provided.

timeframe
integer | null
default:90

Lookback window in days (default: 90, max: 365)

speed_mode
boolean | null
default:false

Skip blocklist, deduplication, and industry checks for faster time-to-first-result. Tradeoff: may surface blocklisted or duplicate accounts.

accounts
V2AccountInput · object[] | null

Upload a list of accounts (website and/or linkedin_url) to run the signal against. When provided, trait search is skipped and these accounts are used directly. At least one of icp_id or accounts must be provided.

repeat
boolean | null
default:false

Run this signal daily to discover new results (default: false, runs once)

account_audience_name
string | null

Audience name for auto-adding discovered accounts (default: ' - Accounts')

people_audience_name
string | null

Audience name for people enrichment (default: ' - People')

max_credit_limit
integer | null

Credit limit for this signal. Signal stops once this many credits are consumed.

enable_safe_crm_addition
boolean | null
default:false

Auto-add discovered accounts to CRM in safe mode. New accounts are created; existing accounts are enriched without ownership changes.

auto_enrich_people_emails
boolean | null
default:false

Enrich discovered people with work emails. Requires enable_safe_crm_addition to be true.

advanced_people_finder
boolean | null
default:false

Enable advanced LLM-based people finder for deeper people discovery.

Response

Successful Response

Common response shape for signal deployment endpoints. Returns at minimum the signal_id and a status. Some agents return additional fields (e.g. message, campaign_id) which are not documented in this shape.

signal_id
integer
required

ID of the deployed signal. Use this to poll signal status or fetch results.

status
string
required

Deployment status (e.g. 'accepted', 'running').