Signals
Signals are automated monitors that watch your analytics data and notify you when something interesting happens. They run on a schedule, analyze your data (using aggregation or AI), and deliver reports to Slack and email with actionable next steps.
Signal Types
Built-in Signals
sessionvision ships with two built-in signals that require zero configuration:
| Signal | What It Detects |
|---|---|
Rage Click Report | Repeated clicks on the same element in quick succession — a strong indicator of user frustration |
Dead Click Report | Clicks on non-interactive elements — surfaces confusing UI patterns |
Built-in signals are created automatically when you first visit the Signals page. They start disabled — toggle them on and add a channel to start receiving reports.
Reports include the total event count for the period, the top 5 affected pages, and the top 3 elements per page with their CSS selectors and visible text.
AI Signals
AI signals watch an Insight or Dashboard and use AI to detect noteworthy patterns, anomalies, and trends. Create one by selecting any insight or dashboard as the target.
When an AI signal runs, it gathers multi-layered context before analysis:
- Current data — executes the target's query for the current period
- Comparison data — runs the same query shifted to the previous period for trend detection
- Signal history — loads the last 5 fired occurrences to avoid repeating known information
- Product context — includes the target name, description, and visualization type
Each AI signal report includes a severity rating, description, actionable suggestions, and follow-up questions.
| Severity | Meaning |
|---|---|
Routine | Within normal variation, no action needed |
Notable | Meaningful change worth reviewing |
Critical | Large unexpected shift requiring immediate attention |
Configuration
| Setting | Default | Options |
|---|---|---|
Enabled | Off | On / Off |
Schedule | Daily | Daily — report every day at 7 AM UTC. Weekly — report every Monday at 7 AM UTC |
Report mode | Always | Always — send every scheduled period. Noteworthy only — skip if nothing significant is detected |
Enabled actions | Snooze | Snooze, Create Linear Ticket, Create GitHub Issue |
Channels
Each signal can deliver reports to multiple channels. Add channels from the signal's configuration page.
| Channel | Setup |
|---|---|
Slack | Requires a connected Slack integration. Select any channel the bot has access to. |
Email | Enter any email address — no integration required. Multiple addresses supported. |
Actions
When a signal fires, you can take action directly from the notification. Configure which actions are available per signal with the enabled_actions setting.
| Action | What It Does | Requires |
|---|---|---|
Snooze | Suppresses reports for this signal until end of week | Nothing — always available |
Create Linear Ticket | Creates an issue in your default Linear team with signal details, suggestions, and follow-up questions | Connected Linear integration with a default team configured |
Create GitHub Issue | Creates an issue in your default GitHub repo with signal details | Connected GitHub integration with a default repo configured |
Actions are idempotent — clicking the same action button twice for the same signal occurrence returns the existing result.
How It Works
The signal pipeline runs every day at 7:00 AM UTC:
- The dispatcher checks all enabled signals that have at least one channel configured
- Daily signals are always enqueued. Weekly signals only run on Mondays
- Snoozed signals are skipped until their snooze period expires
- Each signal generates a report — either by aggregating events (built-in) or running AI analysis
- A signal occurrence is created with the report data
- The report is delivered to all configured channels (Slack messages with action buttons, emails with action links)