Skip to main content

Feature Matrix

This page mirrors the repository feature matrix and serves as the Mintlify-native parity view.

Public Charles evidence that shapes parity

The public Charles help surface makes several modules non-optional for replacement work:
  • the Conversations help collection covers the conversation screen, templates in chat, flow triggering from the feed, service-window behavior, carts, and contact editing
  • the Journeys docs expose legacy trigger APIs and partner-triggered automations
  • the Integrations overview describes webhooks, REST retrieval, exports, and partner sync patterns
  • the Contact update API documents a legacy mutation surface already used by external systems
Those documented surfaces are why this repo treats compatibility, inbox operations, templates, and webhooks as first-wave work rather than later polish.

Priority summary

P0 continuity

  • webhook ingest, replay, and operational forensics
  • provider dispatch and status reconciliation
  • contacts, subscriber state, and opt-out handling
  • consent ledger — append-only consent_events, STOP/START keyword detection (en/it/pt/es), campaign opt-out gate, consent API (BORD-193)
  • inbox core with service-window awareness, Flow-response cards, and group-conversation filtering
  • provider templates plus shared replies
  • Meta usage and cost monitoring for delivered WhatsApp templates, free traffic, and per-campaign attribution
  • visual template builder — 3-pane builder, 7 editors, parameter_format, submit-to-Meta pipeline, phone-frame renderer (BORD-182, BORD-184)
  • Charles-compatible trigger and contact endpoints
  • runtime diagnostics, audit logs, and queue visibility
  • audit logs — workspace-scoped audit_logs table, writeAuditLog() (BORD-158)
  • account alerts — Meta account_alerts webhook handler, operator UI panel (BORD-189)
  • GDPR data retention — data_retention_days per workspace, retention_sweep job (BORD-165, BORD-167)

P1 operational parity

  • journeys runtime and wait/branch execution
  • graphical journey editor — React Flow canvas, 9 node types, validation, publish pipeline
  • campaigns and audience snapshots
  • segments, tags, and customer property writes
  • auto-trigger agent — inbound-triggered AI drafts, accept/reject API, draft banner in inbox (BORD-192)
  • asset storage — asset_files table, S3-compatible uploads, workspace-scoped (BORD-187)
  • API key generation — swb_-prefixed keys, hashed at rest (BORD-178)
  • guided wizard — first-run-to-first-message onboarding (BORD-194)
  • cart and checkout-link workflows
  • Twenty CRM field mapping and sync health
  • reporting essentials for operators and admins

P2 expansion

  • richer AI assist and FAQ automation
  • command palette — ⌘K navigation, search, and actions (BORD-204)
  • design system primitives — design tokens, motion utilities, Skeleton component
  • experimentation and journey A/B tooling
  • broader channel coverage beyond the WhatsApp-first scope

Module summary

Inbox and conversations

  • thread list, filters, unread state, assignment, notes, tags
  • service-window gating and template-only warnings
  • shared replies, provider templates, carts, and quick actions

Compatibility and integrations

  • legacy contact update path
  • legacy journey-trigger path
  • partner webhook ingestion such as Emarsys custom events
  • webhook replay and request-level auditability

Templates

  • visual template builder — 3-pane builder at /templates/new, 7 editors, phone-frame preview
  • parameter_format column for typed variable declarations
  • submit-to-Meta pipeline with approval status tracking

Campaigns and journeys

  • publishable journey definitions with versioning
  • graphical journey editor — React Flow canvas at /journeys/[id], 9 node types, inline validation, publish pipeline
  • schedule-safe campaign execution
  • contact/property/tag mutations inside automations
  • consent_events table with AFTER-INSERT trigger and contacts.consent_state denormalization
  • STOP/START keyword detection in en/it/pt/es
  • campaign dispatch opt-out gate
  • consent API — GET/POST /api/v1/contacts/:id/consent
  • GDPR data retention — data_retention_days per workspace, retention_sweep job
  • audit_logs table with writeAuditLog()

AI and automation

  • auto-trigger agent — inbound-triggered AI drafts (BORD-192)
  • draft accept/reject API and draft banner in inbox
  • agent tool-use and multi-step execution

Platform infrastructure

  • asset storage — asset_files table, S3-compatible uploads, workspace-scoped
  • API key generation — swb_-prefixed keys, hashed at rest
  • account alerts — Meta account_alerts webhook handler, operator UI panel
  • guided wizard — first-run-to-first-message onboarding flow
  • command palette — ⌘K navigation, search, and actions

Governance

  • runtime identity via /health and /ready
  • webhook rejections, queue pressure, replay tools, and build version visibility
  • feature flags and credential/channel administration