Skip to main content
Insights (also accepted as goals for backward compatibility) let you define measurable targets — such as lead capture rate or booking completion — and track them against your genies’ conversations.
Standard users can only manage their own insights. Admin users can view and manage all insights by passing adminMode: true.

List all insights

Returns all insights with full details for the authenticated user.
string
required
Must be "insights"
string
required
Must be "all"
object
boolean
object

List insights

Returns a paginated list of insights for the authenticated user.
string
required
Must be "insights"
string
required
Must be "list"
object
boolean
object

Get insight

Retrieves a single insight by ID.
string
required
Must be "insights"
string
required
Must be "get"
string
required
The insight UUID.
object

Create insight

Creates a new insight metric.
string
required
Must be "insights"
string
required
Must be "create"
object
required
To build an insight for a genie, call Generate insight with the genie’s agentId first, pass its name, description and fields here, then attach it. Hand-written field lists tend to drift from what the genie actually does.
boolean
object

Update insight

Updates an existing insight. Supports partial updates — send only the fields you want to change.
string
required
Must be "insights"
string
required
Must be "update"
string
required
The insight ID. Must be numeric — a non-numeric value returns VALIDATION_ERROR.
object
Only name, description, fields, and is_default are applied. If data contains none of them — for example when it carries only unrelated keys — nothing is written and the insight is returned unchanged, with the same response shape as a successful update.
boolean
object

Delete insight

Permanently deletes an insight. A default insight (is_default: true) cannot be deleted — update it with is_default: false first.
string
required
Must be "insights"
string
required
Must be "delete"
string
required
The insight UUID.
This action is irreversible.

Attach insight to genie

Links an insight to a genie. Each genie can have only one insight attached at a time — attaching a new one replaces the existing attachment.
string
required
Must be "insights"
string
required
Must be "attach"
object
required
boolean

Detach insight from genie

Removes the insight attachment from a genie.
string
required
Must be "insights"
string
required
Must be "detach"
object
required

Generate insight

Builds a tailored insight — name, description and fields — matched to a genie’s business, audience and job. Nothing is saved: review the result, then pass it to Create insight and attach it to the genie.
string
required
Must be "insights"
string
required
Must be "generate"
object
required
Without agentId or genieContext, fields are inferred from the description alone and come out more generic. The call fails with INTERNAL_ERROR when fewer than 3 usable fields can be produced.
boolean
object

Error codes