The AIRecommendation Object

An AIRecommendation entity represents an AI-generated suggestion provided to a specific target. The recommendation includes actions, context, display details, and metadata about its category, priority, execution policy, and lifecycle status.

Properties

NameDescriptionTypeRequired
uidA unique identifier for the recommendation.stringYes
producerUpstream agent or partner system that produced this recommendation (for example: client_agent, lead_capture_agent, partner_x).string
business_uidThe unique identifier (UID) of the business that owns this recommendation. Automatically set based on the authenticated token.string
created_atThe timestamp when the recommendation was created, in ISO 8601 format.string
updated_atThe timestamp when the recommendation was last updated, in ISO 8601 format.string
categoryRecommendation category set by the producer for interface use: needs_attention (time-sensitive and requires the user's attention) or opportunity (growth-focused value opportunity that does not require immediate action).string (enum: needs_attention, opportunity)
priorityRelative ordering priority within the same category: high (higher priority, surfaced first) or standard (default priority).string (enum: high, standard)
execution_policyIndicates whether this recommendation is auto-executed by an agent or requires human review: auto_execute (may be executed automatically by the system or an authorized agent) or requires_human_approval (must be reviewed and approved by a human before execution).string (enum: auto_execute, requires_human_approval)
tagsOptional user-facing tags that label the item's urgency, value, or context (for example: Hot lead, New, High value, Urgent, At risk, Follow up).array[string]
due_atOptional due or target time used for urgency and upcoming behavior, in ISO 8601 format.string
expired_atOptional expiry time used for dismissing or clearing the recommendation, in ISO 8601 format.string
actionsA list of recommended actions related to this entity. See The AIRecommendedAction Object.array[AIRecommendedAction]Yes
displayContains display-related information for the recommendation.objectYes
contextThe context in which the recommendation was generated.objectYes
targetThe target entity for this recommendation, typically representing the user or business involved.objectYes
statusCurrent lifecycle status of this recommendation, including the source of the latest status update.objectYes

Display Properties

NameDescriptionTypeRequired
titleA human-readable title describing the recommendation.string

Context Properties

NameDescriptionTypeRequired
context_uidA unique identifier for the context associated with this recommendation.string
context_typeThe type of context (e.g., matter, client, business).string (enum: matter, client, business)
context_nameThe display name of the context object (referenced by context_uid) this recommendation is about, according to its context_type — for example, the client's name when context_type is client (e.g., John Smith).string

Target Properties

NameDescriptionTypeRequired
target_actor_uidA unique identifier for the target actor (e.g., a user or business).string
target_actor_typeThe type of target actor (e.g., staff, directory).string (enum: staff, directory)

Status Properties

NameDescriptionTypeRequired
stateLifecycle state of the recommendation: active (available and not yet completed), completed (executed successfully or otherwise resolved), dismissed (explicitly dismissed without resolving the underlying need), approved (approved by the user but not yet at a terminal outcome), or snoozed (deferred to a later time or trigger condition).string (enum: active, completed, dismissed, approved, snoozed)
state_source_typeSource of the current status: user (change via Pulse UI) or system (change by the originating service or agent).string (enum: user, system)
dismissedIndicates whether the recommendation has been dismissed.boolean
dismissed_source_typeThe source that dismissed the recommendation. Null when the recommendation has not been dismissed.string, null (enum: user, system, null)

Example

{
  "uid": "rec-123",
  "producer": "client_agent",
  "business_uid": "biz-1234abcd",
  "created_at": "2025-02-04T12:00:00Z",
  "updated_at": "2025-02-04T12:30:00Z",
  "category": "needs_attention",
  "priority": "high",
  "execution_policy": "requires_human_approval",
  "tags": [
    "Hot lead"
  ],
  "due_at": "2026-06-08T09:00:00Z",
  "actions": [
    {
      "uid": "act-456",
      "action": "reply",
      "reason": "Clarification needed",
      "display": {
        "btn_text": "Generate Reply"
      },
      "evidence": [
        "User asked for price estimate"
      ],
      "payload": {
        "message": "Hi, I can provide you with a roofing estimate. Please provide me with the address and any other relevant details."
      },
      "confidence": 0.85
    }
  ],
  "context": {
    "context_uid": "ctx-456",
    "context_type": "client",
    "context_name": "John Smith"
  },
  "target": {
    "target_actor_uid": "staff-789",
    "target_actor_type": "staff"
  },
  "status": {
    "state": "active",
    "state_source_type": "system",
    "dismissed": false,
    "dismissed_source_type": "user"
  }
}