> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stairoids.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Frequently Asked Questions — Stairoids GTM Platform

> Answers to common questions about how Stairoids works, including signals, scoring, integrations, workspaces, pricing, and support options.

Whether you're just getting started with Stairoids or exploring a specific feature, this page collects the questions our users ask most often. If you don't find your answer here, reach out to the support team at [support@stairoids.com](mailto:support@stairoids.com) — include your workspace ID and any relevant signal or automation ID so the team can investigate quickly.

<AccordionGroup>
  <Accordion title="What is a signal in Stairoids?">
    A **signal** is any discrete intent event that Stairoids ingests and associates with an account or contact. Signals represent observed behaviors — things like visiting a pricing page, opening a product email, attending a webinar, triggering an in-app feature, or submitting a contact form. Each signal has a type (e.g., `page_view`, `form_submit`, `email_open`), a timestamp, and optional properties that describe the context of the event.

    Signals are the raw material Stairoids uses to compute engagement scores, fire automations, and build account timelines. The more granular and diverse your signal sources, the more accurate and actionable the resulting scores become.
  </Accordion>

  <Accordion title="How does Stairoids identify accounts?">
    Stairoids identifies accounts primarily by **email domain**. When a signal arrives with an associated email address (e.g., `jane.doe@acme.com`), Stairoids extracts the domain (`acme.com`) and associates the signal with the matching account — creating one if it doesn't exist yet.

    If a signal includes an explicit `account.domain` field, Stairoids uses that directly. You can configure domain normalization rules (such as stripping `www` prefixes) and maintain an exclusion list of free email providers under **Settings → Account Matching** so personal email addresses don't create spurious accounts. See [Account Matching Settings](/configuration/workspace#account-matching-settings) for full details.
  </Accordion>

  <Accordion title="Can I send signals from tools that aren't natively integrated?">
    Yes. Stairoids provides two universal ingest paths for tools without a native integration:

    **REST API**: Send a `POST` request to `https://api.stairoids.com/v1/signals` with a Read-Write API key. This works with any language or platform that can make an HTTP request. See the [API Reference](/api-reference/signals/send-signal) for the full payload schema.

    **Incoming Webhooks**: Configure an incoming webhook URL in **Settings → Automations → Incoming** and point your source tool at that URL. Stairoids parses the incoming payload and maps fields to signal properties using a field-mapping configuration you define in the dashboard.

    Both methods support custom signal types, so you're not limited to Stairoids' built-in event vocabulary.
  </Accordion>

  <Accordion title="How is the engagement score calculated?">
    Stairoids computes engagement scores using a **weighted, time-decayed model**. Each signal type carries a configurable weight (e.g., a `demo_request` might be worth 30 points while a `page_view` is worth 2 points). When a new signal is ingested, its weighted value is added to the account or contact's aggregate score.

    Scores decay over time — older signals contribute progressively less to the current score based on a configurable half-life. This ensures that a flurry of activity six months ago doesn't permanently inflate a score for an account that has gone cold.

    You can review and adjust signal weights and the decay half-life under **Settings → Scoring**. Changes apply prospectively to newly ingested signals and retroactively re-calculate scores for existing accounts on the next scoring cycle.
  </Accordion>

  <Accordion title="How long are signals retained?">
    By default, raw signal payloads are retained for **90 days** from the time of ingestion. After the retention window, raw payloads are purged, but aggregated scores and account activity timelines are preserved indefinitely.

    Extended retention windows of up to **365 days** are available on paid plans. You can view and adjust your workspace's retention setting under **Settings → Data Retention**. Changes apply to new signals going forward and do not restore already-purged data.
  </Accordion>

  <Accordion title="Can I have multiple workspaces?">
    Yes. You can create as many workspaces as you need. Multiple workspaces are especially useful for **B2B agencies** managing signals and automations for several clients — each client gets their own isolated workspace with separate integrations, API keys, scoring rules, and team members.

    To create a new workspace, click your workspace name in the top-left corner of the dashboard and select **+ New Workspace**. You can switch between workspaces at any time using the same switcher.

    Note that Stairoids plans are priced per workspace. Check the [Pricing page](https://stairoids.com/pricing) for current workspace tier details.
  </Accordion>

  <Accordion title="What happens if my outgoing automation fails?">
    If an outgoing automation fails — for example, because the destination API returns an error or the destination integration's credentials have expired — Stairoids logs the failure in **Settings → Logs** with a full error message and the signal that triggered it.

    Stairoids automatically retries failed automation deliveries using the same exponential backoff schedule as webhook retries (1m, 5m, 30m, 2h, 8h — up to 5 retries). If all retries fail, the automation execution is marked **Failed** and you receive an in-app notification.

    You can also manually re-trigger a failed automation execution from the Activity Log by clicking **Retry** next to the failed entry.
  </Accordion>

  <Accordion title="Is there a rate limit on the API?">
    Yes. The Stairoids REST API enforces rate limits per API key to ensure fair usage and platform stability.

    | Plan       | Rate Limit              |
    | ---------- | ----------------------- |
    | Free       | 60 requests / minute    |
    | Growth     | 300 requests / minute   |
    | Pro        | 1,000 requests / minute |
    | Enterprise | Custom — contact sales  |

    When you exceed the rate limit, the API returns a `429 Too Many Requests` response. The response includes a `Retry-After` header indicating the number of seconds to wait before retrying. Implement exponential backoff in your integration to handle `429` responses gracefully. See [Troubleshooting API Errors](/resources/troubleshooting#api-errors) for guidance.
  </Accordion>

  <Accordion title="How do I add team members to my workspace?">
    Navigate to **Settings → Members** and click **Invite Member**. Enter the team member's email address, select a role (**Admin**, **Analyst**, or **Viewer**), and click **Send Invite**. The invitee receives an email with a link to accept the invitation and join the workspace.

    Admins can change a member's role or remove them at any time from the same Members panel. For a full breakdown of what each role can and cannot do, see the [Roles and Permissions](/configuration/workspace#roles-and-permissions) section of the Workspace configuration guide.
  </Accordion>

  <Accordion title="Can I create custom signal types?">
    Yes. While Stairoids provides a library of common built-in signal types (e.g., `page_view`, `form_submit`, `email_open`), you can define **custom signal types** for any behavior unique to your product or workflow.

    When sending a signal via the API or an incoming webhook, set the `type` field to any string that describes the event (e.g., `trial_activated`, `feature_x_used`, `linkedin_ad_click`). Stairoids creates the custom type automatically on first use.

    Once created, you can assign a scoring weight to your custom signal type under **Settings → Scoring** alongside the built-in types, so it contributes to engagement scores immediately.
  </Accordion>

  <Accordion title="What integrations are supported?">
    Stairoids offers native integrations with a wide range of data sources and activation destinations:

    **Signal Sources (inbound):**
    Segment, Rudderstack, Mixpanel, HubSpot, Marketo, Salesforce, Intercom, Clearbit, Apollo, Google Analytics 4, and more.

    **Activation Destinations (outbound automations):**
    Slack, HubSpot CRM, Salesforce CRM, Outreach, Salesloft, Clay, Zapier, and more.

    New integrations are added regularly. Check the [Integrations Catalog](/integrations/overview) for the current full list. If the tool you need isn't listed, you can connect it using the [REST API](/api-reference/introduction) or [Incoming Automations](/signals/incoming-automations).
  </Accordion>

  <Accordion title="How do I contact support?">
    You can reach the Stairoids support team through any of the following channels:

    * **Email**: [support@stairoids.com](mailto:support@stairoids.com)
    * **In-app chat**: Click the **?** icon in the bottom-right corner of the dashboard
    * **Help Center**: [help.stairoids.com](https://help.stairoids.com)

    To help the team resolve your issue as quickly as possible, include the following in your message:

    * Your **Workspace ID** (found in **Settings → General**)
    * The **Signal ID**, **Automation ID**, or **API request ID** (`request_id` from the response body) related to the issue
    * A clear description of what you expected to happen and what actually happened
    * Any error messages or screenshots

    Enterprise customers have access to a dedicated Slack channel and a named Customer Success Manager.
  </Accordion>
</AccordionGroup>
