Skip to main content
POST
/
api
/
v2
/
signal
/
deploy
/
hiring-for-initiative
Find companies hiring around an initiative
curl --request POST \
  --url https://api.openfunnel.dev/api/v2/signal/deploy/hiring-for-initiative \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --header 'X-User-ID: <x-user-id>' \
  --data '
{
  "name": "<string>",
  "initiative": "<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>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.openfunnel.dev/llms.txt

Use this file to discover all available pages before exploring further.

Headers

X-API-Key
string
required
X-User-ID
string
required

Body

application/json

Sentence: [descriptive_icp] companies hiring for the initiative [initiative]

Find companies hiring around a strategic initiative, migration, or expansion - not a specific role title.

name
string
required

Name/identifier for this signal run

initiative
string
required

The strategic initiative to search for. Examples: 'ERP migration', 'AI agent rollout', 'PLG motion'.

descriptive_icp
string | null

Company type or industry to narrow results (e.g. 'B2B fintech', 'B2B SaaS', 'DevTools'). 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').