create-signal-tracker
json schema{
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"description": "Workspace UUID (optional when using API key auth — inferred from the key)."
},
"name": {
"type": "string",
"description": "Human-friendly tracker name."
},
"type": {
"type": "string",
"enum": [
"keyword",
"own_post_engagers",
"competitor_post_engagers",
"hiring",
"funding",
"ai_discovery"
]
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required for keyword type."
},
"monitored_post_url": {
"type": "string",
"description": "Required for own_post_engagers and competitor_post_engagers."
},
"linkedin_account_id": {
"type": "string",
"description": "Optional — first workspace account is auto-assigned when omitted."
},
"search_provider": {
"type": "string",
"enum": [
"platform",
"serper",
"tavily",
"exa",
"firecrawl",
"spider",
"brave"
],
"description": "For web-scout types (hiring/funding/ai_discovery). Platform is admin-only; non-admins must choose another provider + credential_id."
},
"credential_id": {
"type": "string",
"description": "Workspace credential for the chosen search_provider."
},
"max_people_per_company": {
"type": "number",
"description": "For web-scout types. Defaults to 5."
},
"enrichment_options": {
"type": "object",
"description": "AI enrichment columns to add to the tracker table. ASK THE USER which they want before submitting (three independent toggles). (1) companyEnrichment: Prospector AI column that returns company_name, website, company_description, company_linkedin, company_headcount. Defaults ON for engager/follower types (LinkedIn only returns name+headline+url), OFF for hiring/funding/ai_discovery (search results already include company data). (2) messaging: AI-generated personalized opener column. Defaults ON for engager/follower types, OFF otherwise. (3) icpScoring: 0-100 fit score against the workspace ICP. ALWAYS opt-in, never auto-enabled. Shape: { companyEnrichment?: {enabled: boolean}, messaging?: {enabled: boolean}, icpScoring?: {enabled: boolean} }. Omit the whole field to accept defaults."
},
"run_settings": {
"type": "object",
"description": "Optional. Shape: { autoProcessNewRows?: boolean }. Defaults to false (cells render as click-to-enrich)."
},
"campaign_id": {
"type": "string",
"description": "For engager types — push leads directly to this campaign instead of creating a table."
},
"webhook_url": {
"type": "string",
"description": "Optional webhook to notify on new signals."
}
},
"required": [
"name",
"type"
]
}