Schema Overview
Handlet database conventions for accounts, workspaces, conversations, and workflow state.
Handlet is multi-tenant. Product tables that belong to a customer workspace use account_id to scope data to the owning account.
Account model
- Personal accounts map
auth.users.idtoaccounts.id. - Team accounts are shared workspaces with members, roles, and permissions.
- Team URLs use the workspace slug, not the account UUID.
Handlet product areas
- conversations, messages, customers, and inbox state
- connected provider accounts and channel health
- business assumptions, tone settings, and knowledge records
- AI suggestion review and audit events
- billing and commercial acceptance metadata
Naming rule
Use account_id for tenant scoping. Do not introduce organisation_id or organization_id columns unless a dedicated tenancy migration changes the model first.
Schema sources
Declarative schema files live under apps/web/supabase/schemas; migrations record the historical changes applied to the database.