How SignalAI Works
The AI engine behind SignalAI's feedback intelligence.
Overview
SignalAI is the intelligence engine that powers every layer of the platform. It processes customer feedback through a three-stage pipeline: Ingestion (real-time webhook capture), Understanding (sentiment scoring + pattern detection), and Action (epic generation + ticket correlation).
All AI calls are made to Anthropic's Claude API. We use lightweight models for real-time tasks and more capable models for complex analysis.
1. Signal Ingestion
Signals enter the system in real-time via authenticated webhooks from your connected tools:
Channel messages, threads, reactions
Issues, pull request comments, discussions
Tickets, comments, status changes
Each signal is normalised — markdown is cleaned, mentions and channel metadata are extracted, and the raw text is prepared for AI processing. Signals are capped at 2,000 characters for AI input.
2. Sentiment Scoring
Every signal is scored immediately on arrival using a fire-and-forget pattern (non-blocking). The lightweight Haiku model returns a JSON response with four fields:
Numeric score from -1.0 to +1.0
positive · negative · neutral · mixed
frustrated · confused · grateful · urgent · neutral · excited
Score from 0.0 to 1.0
Sentiment labels are derived from score thresholds: positive above 0.15, negative below -0.15, and neutral in between.
Emotional Tones
Beyond positive/negative scoring, SignalAI identifies the dominant emotional tone in each piece of feedback:
User is struggling or annoyed
Time-sensitive or blocking issue
Unclear UX or documentation gap
Positive feedback and appreciation
Enthusiasm about a feature
Factual, no strong emotion
3. Pattern Detection
When you click “Analyse”, SignalAI clusters up to 200 unprocessed signals into recurring patterns. The more capable Sonnet model receives each signal with its sentiment data and identifies themes.
For each pattern, the model returns:
- •A descriptive name and detailed summary
- •Severity level (critical, high, medium, low) based on user impact
- •Estimated number of users affected
- •A recommended action to address the pattern
- •The dominant emotional tone across linked signals
Responses are validated with a strict Zod schema and retried up to 2 times if the model returns invalid JSON.
4. Epic Generation
From any detected pattern, you can generate a structured product epic. SignalAI receives the pattern title, description, and sample linked signals, then produces:
Clear, actionable epic with full context
Numbered AC items (AC-1, AC-2, etc.)
Role-action-benefit format (US-1, US-2, etc.)
critical→low priority, XS→XL effort estimate
5. Ticket Correlation
SignalAI matches incoming signals to your existing Jira and Linear tickets using two tiers:
Regex scan for ticket key patterns like PROJ-123. Matched with 100% confidence. Runs synchronously during signal ingestion.
Claude Haiku compares signal content against your 10 most recent tickets. Only matches with confidence ≥ 0.7 are stored. Runs asynchronously after ingestion.
Severity Levels
Patterns and signals are scored by severity to help you prioritize:
Blocking issue affecting many users, immediate action needed
Significant pain point, should be addressed soon
Notable issue, plan to address in upcoming cycles
Minor friction or nice-to-have improvement
Data & Privacy
- •All data stored in Supabase (PostgreSQL) with Row-Level Security — each workspace can only access its own data
- •AI calls send only signal text content — never credentials, tokens, or personal information
- •Anthropic does not train on API usage data — your feedback remains private
- •Third-party integrations (Slack, GitHub, Jira) are managed via Nango with SOC 2 compliant credential handling