Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.bentolabs.ai/llms.txt

Use this file to discover all available pages before exploring further.

A signal is a detector. It watches agent runs and fires when findings match a pattern described in plain English: “the agent retries a failed charge with no backoff,” “the assistant goes off-topic.” These live under Signals in the dashboard. A signal is a learned classifier, not a hand-written rule. Bento trains it on your own runs through the Deep Search loop, and once trained it fires in real time on new runs and backfills history. Each firing is an event, and Bento groups similar events into clusters. Every signal carries a source and a status:
FieldValues
Sourceauto, classifier, instrumented, monitored, self_diagnostic, tool_error, metric, deep_search
Statusinitializing (training), active (live), paused, archived, failed

Commands

bentolabs signals --help
CommandWhat it does
signals listList signals. Filter by source, status, or group.
signals get <signal-id>Open one signal with its full config and event_count.
signals list-events <signal-id>The firings, what the signal matched on.
signals list-clusters <signal-id>Groupings of similar events for that signal.
signals createRegister a signal record by hand.
signals update <signal-id>Edit a signal’s name, prompt, or config.
signals delete <signal-id>Archive a signal (soft delete).

Read what’s firing

List the signals:
bentolabs signals list --output table
Filter to the live ones. --status takes initializing, active, paused, archived, or failed:
bentolabs signals list --status active --output table
Filter by how a detector was made. --source takes any of the source values above:
bentolabs signals list --source deep_search --output table
Open one signal. The response carries its prompt, config, and event_count:
bentolabs signals get <signal-id>
Read the events, the firings. This defaults to the last 30 days; widen it with --start-time:
bentolabs signals list-events <signal-id> --start-time 2026-01-01T00:00:00Z --output table
See the clusters, similar events grouped:
bentolabs signals list-clusters <signal-id>

Create and edit

The Deep Search loop trains a working detector. To register a record directly, signals create takes a body where name is required and prompt describes the pattern in plain English. A hand-created record lands in initializing and waits for its training step; it doesn’t train a classifier on its own.
bentolabs signals create --data '{"name": "Payment retry storm", "prompt": "Agent retries a failed charge with no backoff until timeout."}'
To edit a signal, send only the fields that change:
bentolabs signals update <signal-id> --data '{"prompt": "Agent retries a failed charge more than 3 times with no backoff."}'
signals delete is a soft delete. The record stays, the status flips to archived, and it stops firing:
bentolabs signals delete <signal-id>
The CLI can train a signal and create a notification channel, but binding a signal to a channel into a firing alert rule is dashboard-only. There’s no alert-rules group, so set the rule up in the dashboard.

See also

Deep Search

The labeling loop that trains a signal from your own runs.

Clusters

Groupings of similar findings and signal events.

Issues

The tracked problems a signal helps surface.