> ## Documentation Index
> Fetch the complete documentation index at: https://docs.switchbord.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Feature Matrix

> Charles capability map and internal replacement priorities.

# 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 and compliance

* 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

## Read next

* [Product Requirements](/platform/prd)
* [Compatibility Surface](/api-reference/compatibility)
* [Webhook Model](/operations/webhooks)
