Skip to content

Analytics Events (MVP)

This document defines recommended analytics instrumentation conventions.

Page docs should list relevant events and link here.

  • Track activation and value moments (connection completed, first reply sent, first KB published).
  • Include workspace/org identifiers (non-PII, internal IDs).
  • Avoid logging message content or PII in event payloads.
  • auth.sign_in.success
  • auth.sign_in.failure
  • workspace.created
  • workspace.switched
  • kb.created
  • kb.published
  • channel.connected
  • channel.disconnected
  • comment_responder.reply.generated
  • comment_responder.reply.sent
  • chatti_live.conversation.assigned
  • billing.plan_changed

These events are recommended when the platform begins turning the Dashboard customer-signals concept into real analytics.

They exist to support future dashboard aggregates and should be implemented only with strict scope, privacy, and governance controls.

  • customer_signal.detected
    • A message, review, or comment has been classified into a dashboard-relevant signal bucket
  • customer_signal.severe_negative_detected
    • A high-risk negative expression has been identified
  • customer_signal.success_detected
    • A praise or success-oriented signal has been identified
  • customer_signal.theme_clustered
    • A signal has been grouped into a dashboard-relevant friction or opportunity theme

Suggested optional payloads:

  • channel_type
  • app_surface
  • signal_type
  • severity
  • theme_id
  • ai_triage.completed
    • The system has classified and routed an inbound item
  • ai_triage.escalation_triggered
    • The item was escalated to human review or a protected workflow
  • ai_reply.generated
    • A candidate reply was generated
  • ai_reply.sent
    • A reply was actually sent
  • ai_reply.kb_gap_detected
    • A missing or weak knowledge signal affected confidence or reply quality

Suggested optional payloads:

  • triage_result
  • confidence_band
  • escalation_reason
  • reply_mode (auto, assisted, human)
  • kb_gap_type
  • interaction.outcome_resolved
    • The issue appears to have been resolved
  • interaction.outcome_recovered
    • A previously negative interaction appears to have improved
  • interaction.outcome_reopened
    • The issue returned after an apparent resolution
  • interaction.outcome_handoff_completed
    • Human escalation completed successfully

Suggested optional payloads:

  • outcome_type
  • previous_signal_type
  • time_to_resolution_ms
  • handoff_target
  • resolution_path

Minimum required for first real dashboard analytics

Section titled “Minimum required for first real dashboard analytics”
  • customer_signal.detected
  • customer_signal.severe_negative_detected
  • customer_signal.theme_clustered
  • ai_triage.completed
  • ai_triage.escalation_triggered
  • ai_reply.kb_gap_detected

Required before outcome metrics become trustworthy

Section titled “Required before outcome metrics become trustworthy”
  • interaction.outcome_resolved
  • interaction.outcome_recovered
  • interaction.outcome_reopened
  • interaction.outcome_handoff_completed
Dashboard metric / moduleMinimum event inputs
Dissatisfaction detectedcustomer_signal.detected with signal_type=dissatisfaction
Severe negative countcustomer_signal.severe_negative_detected
Top friction themescustomer_signal.theme_clustered
Escalated for human reviewai_triage.escalation_triggered
Auto / assisted / escalated handling splitai_triage.completed, ai_reply.sent
KB gaps affecting repliesai_reply.kb_gap_detected
Resolved / recoveredinteraction.outcome_resolved, interaction.outcome_recovered
Reopened issuesinteraction.outcome_reopened
Successful human handoffinteraction.outcome_handoff_completed
  • Required: org_id, workspace_id, user_id (internal), timestamp
  • Optional: channel_type, app_surface, result, error_code

Dashboard-oriented optional fields:

  • signal_type
  • severity
  • theme_id
  • confidence_band
  • triage_result
  • reply_mode
  • kb_gap_type
  • outcome_type
  • time_to_resolution_ms