Insights
The output of running an intent over a recording — searchable, replayable, and traceable.
An insight is a single execution of an intent against an audio. It links the source recording, the analysis output, and any downstream integration delivery into one record.
Insight Lifecycle
Each insight moves through these statuses:
| Status | Meaning |
|---|---|
pending | Queued; waiting for the audio to finish processing |
processing | Trigger.dev task is running the analysis |
completed | Analysis finished; integration delivery (if any) attempted |
failed | Analysis or delivery errored; check the detail page for cause |
Status changes are streamed to the dashboard in real time, so a long-running insight updates without a refresh.
Insight Detail Page
/insights/[id] shows:
- Source audio — link to the recording, duration, channel context
- Intent that was run, including the prompt
- Output — the rendered LLM result (Markdown supported)
- Integration logs — for each delivery: provider, status, external URL, execution time
- Replay — re-run the same intent against the same audio (useful after editing the prompt)
- Confidence — when the model returns a self-rated confidence score
Filtering and Sorting
The insights index supports:
- Status filter — all, pending, processing, completed, failed
- Sort — newest, oldest, by confidence, or surface failed runs first
- Search — across audio file name, channel name, and intent name
- Live counters for processing and failed runs at the top of the page
Re-running
Re-running an insight creates a new insight record rather than mutating the original. This preserves history when you tweak prompts and want to compare outputs.
Failure Handling
When an insight fails:
- The status flips to
failedand the error surfaces on the detail page - The integration log records the provider's error message (if delivery was the failure point)
- You can edit the intent and re-run; nothing is auto-retried beyond the Trigger.dev task's retry budget
Best Practices
- Sort by failed to triage broken intents quickly
- Use the replay button after prompt iteration instead of re-uploading audio
- Set up a
downloadintent alongside critical integrations as a fallback artifact