Signal Anatomy
Every signal in Stairoids shares the same core structure, regardless of where it originated. Understanding this structure helps you configure field mappings, write filters, and build automations with precision.A globally unique identifier for the signal event, assigned by Stairoids on ingestion (e.g.
sig_01hx4k9mz3fqp7yw).The event category that classifies what happened. See Signal Types below for the full list of built-in types.
The domain of the company associated with the event (e.g.
acme.com). Stairoids uses this field to attribute signals to the correct account record and aggregate engagement scores.The email address of the individual who triggered the event (e.g.
jane@acme.com). Optional when the identity is unknown, such as an anonymous page visit.The name of the integration or ingestion method that produced the signal (e.g.
hubspot, webhook, api). Used for filtering, attribution, and debugging.An open key-value map carrying event-specific metadata. For a
page_visit, this might include url and referrer. For a crm_stage_change, it might include from_stage and to_stage. All values must be strings, numbers, or booleans.The contribution of this individual signal to the account and contact engagement score at the time of ingestion. Computed automatically by Signal Intelligence based on signal type, recency, and frequency.
ISO 8601 timestamp recording when Stairoids ingested the signal (e.g.
2024-06-15T14:32:07Z).Signal Types
Stairoids ships with a set of built-in signal types that cover the most common B2B engagement events. You can also define custom types by sending any string value in thetype field via webhook or API.
| Type | Description | Example Source |
|---|---|---|
page_visit | A contact or anonymous visitor loaded a tracked page | Leadfeeder, JS snippet |
email_open | A contact opened a tracked email | HubSpot, Mailchimp |
email_click | A contact clicked a link inside an email | HubSpot, Lemlist |
form_submit | A contact submitted a lead capture or gated content form | HubSpot Forms, Typeform |
crm_stage_change | A deal or contact moved to a new pipeline stage | HubSpot, Pipedrive |
linkedin_connection | A prospect accepted a LinkedIn connection request | HeyReach, Expandi |
meeting_booked | A contact scheduled a meeting or demo | Calendly, Chili Piper |
deal_created | A new deal record was created in your CRM | HubSpot, Pipedrive |
Sample Signal Object
The JSON below shows a fully populated signal as it is stored and returned by the Stairoids API. This is the canonical shape you will encounter when querying signals, building webhook consumers, or debugging automations.How Signals Enter Stairoids
There are three ways to get signals into the platform. Choose the method that best fits each tool in your stack — most teams use all three. Native integrations are the fastest path. Connect a supported tool in Settings → Integrations and signals begin flowing immediately with no custom configuration. Field mapping is handled automatically. Webhook listeners give you a unique inbound URL that any tool can POST events to. You configure the source tool to send data; Stairoids parses and normalises the payload using the field mapping you define. Direct API gives you full programmatic control. UsePOST /v1/signals with your API key to push signals from your own backend, data pipelines, or custom scripts.
Incoming Automations
Configure native integrations, webhook listeners, and direct API ingestion to get signals flowing into Stairoids.
Signal Intelligence
See how Stairoids scores, correlates, and surfaces your signals into unified account and contact views.
Outgoing Automations
Trigger actions in your CRM, sequencer, and other tools the moment the right engagement conditions are met.