Signals
A signal is one real-world occurrence a Monitor detects and emits — a funding round raised, a job posted, an IPO announced.
A signal is one real-world occurrence a Monitor detects and emits: a round was raised, a role was posted, an IPO was announced. Each occurrence is emitted once, carrying its field set, and delivered to the monitor's webhook.
One meaning. "Signal" used to be the name for one-off research calls — those are now Enrichments. Today signal means only the occurrence a Monitor emits. When you read an old doc or an old route, that's the mapping.
Signal types
A monitor emits one occurrence type per detected event. Types are verb-past — they name something that happened. A discovery (signal) check emits the types below; an enrichment check emits result_changed (see Enriching a signal).
| Type | Occurrence |
|---|---|
funding_raised | The company raised a funding round |
investment_made | The company made an investment |
ipo_announced | The company announced an IPO / listing |
ipo_stage_changed | An in-flight IPO changed stage |
job_posted | The company posted a role |
social_posted | A tracked social post was published |
result_changed | A watched enrichment's answer changed between runs (emitted by an enrichment check) |
Reading emitted signals
Poll GET /v1/monitors/{monitorId}/signals for the occurrences a monitor has emitted, or receive each one at your webhook as it happens. Every signal carries its type, when it happened (occurredAt) and when the monitor observed it (observedAt), the entity it concerns, and a structured payload.
Enriching a signal
A monitor can attach an enrichment to each signal it emits — an enrichment check runs a saved template on every detected occurrence, so the extra fields arrive in the same delivery. This is how a "funding raised" signal can also carry, say, the lead investor's profile: the monitor detects the occurrence, then enriches it before delivery.