AtisboAtisbo Docs
Integrations

Signal Webhook

Send custom signal events to Atisbo from any tool that supports HTTP POST

Signal Webhook

Use the Signal Webhook to send product signals from any tool that can send data over HTTP — Zapier, Make, n8n, internal scripts, or any system your team already uses.

This endpoint is for feedback, notes, transcripts, and operational events that should appear in Triage. Metric values use Metric Webhooks or Custom API under Metrics & Analytics instead.

Prerequisites

  • An active Atisbo account
  • Access to the tool you want to send data from (Zapier, Make, an internal system, etc.)

Setup

  1. In Atisbo, go to Settings → Sources
  2. Find the Signal Webhook card and click Connect
  3. You'll see an example of the data format Atisbo accepts. Click Create endpoint
  4. Copy the webhook URL and shared secret that appear — this is your custom signal endpoint

Your webhook URL and shared secret are private. Treat them like API credentials.

Endpoint Model

Signal Webhook creates one endpoint for custom signal intake. Several systems can send to the same endpoint in parallel; use fields like source, source_url and signal_origin to preserve where each event came from.

If you need separate named endpoints for pushed metric values, create Metric Webhooks in Settings → Sources. If Atisbo should pull metric history from your system instead, connect Custom API in Metrics & Analytics.

Endpoints that understand a specific payload

The same port also accepts four payload shapes it can parse without you mapping any fields. Your agent creates these — ask it, and it returns the URL and secret to paste into the other system.

SourceWhat it sendsNotes
FigmaDesigner comments on design filesRegistered as a Figma webhook via their API
HotjarNPS, CSAT and open-ended survey responsesNeeds a Hotjar API key
Apple NotesField notes captured on iPhone or MacDriven by an Apple Shortcut you run
Amplitude alertsAnomaly alerts when a key metric moves unexpectedlyOperational context, not customer voice

These differ from the generic endpoint in one way only: they know the shape of what arrives, so you do not describe it. Everything after that — classification, grouping, priority — is identical.

Amplitude alerts are not the same thing as Amplitude metrics. Alerts are events that arrive here and become operational signals. Metric time series are pulled by the Amplitude metric provider under Metrics & Analytics, and never enter Triage.

What Data to Send

Minimum: just the text

{
  "text": "Users are complaining that the checkout button disappears on mobile Safari"
}
{
  "text": "Users are complaining that the checkout button disappears on mobile Safari",
  "source": "intercom",
  "source_url": "https://app.intercom.com/conversations/123",
  "occurred_at": "2026-05-27T18:30:00Z",
  "actor_name": "Jane Smith",
  "signal_origin": "customer"
}

Available Fields

FieldRequiredWhat it's for
textYesThe signal content — the complaint, idea, or feedback
sourceNoWhere it came from (e.g., "intercom", "freshdesk", "internal")
source_urlNoLink to the original item for reference
occurred_atNoWhen the signal happened in the original source. Use ISO 8601 when possible; epoch seconds or milliseconds also work.
actor_nameNoName of the person who reported the problem
signal_originNoType: customer, internal, or operational. Defaults to customer

Zapier Example

  1. In Zapier, create a new Zap
  2. Trigger: Choose your source (e.g., "New Ticket in Freshdesk")
  3. Action: Select Webhooks by Zapier → POST
  4. URL: Paste your Atisbo webhook URL
  5. Payload Type: JSON
  6. Data: Map the fields from your trigger:
    • text → the ticket content
    • source"freshdesk"
    • actor_name → the customer's name

Make (Integromat) Example

  1. In Make, create a new Scenario
  2. Add your trigger (e.g., "Watch New Rows" in Google Sheets)
  3. Add an HTTP → Make a request module
  4. URL: Your Atisbo webhook URL
  5. Method: POST
  6. Body type: JSON
  7. Map the fields

What Happens After You Send Data

  1. Atisbo receives the text and processes it automatically
  2. It gets classified as a problem, idea, question, or unclassified
  3. If similar signals already exist, it gets grouped into an existing Claim
  4. If it's a new topic, a new Claim is created
  5. It appears in your Triage inbox for you to decide what to do

Best Practices

  • Include context: The source_url field lets you jump back to the original item when you need more detail
  • Be specific in the text: "Checkout button doesn't load on iOS 17 Safari" is better than "Mobile bug"
  • Use signal_origin correctly: if it's customer feedback, use customer. If it's a team observation, use internal
  • Don't send the same thing twice: if your agent already connected the tool directly, don't also pipe it through a webhook. Duplicate evidence inflates how urgent a problem looks, which is the one number you want to be able to trust