Customization

Extend HotCRM with ObjectStack metadata, actions, flows, AI skills, and UI definitions.

Customization

This section is for developers and technical implementers extending HotCRM with code. If you are configuring users, profiles, flows, or sharing from the app, start with Administration.

What you can build

AreaWhat it covers
Extending objectsFields, objects, hooks, flows, validation, sharing
AI skillsSkills for the platform assistant, and the barrel that registers them
UI extensionsPages, views, dashboards, actions
Testing and CIMetadata validation and automated checks

Current source layout

HotCRM is a single ObjectStack app. Add or modify metadata under src/, then export it from the matching barrel file.

src/
├── objects/        # *.object.ts schemas and *.hook.ts lifecycle logic
├── hooks/          # barrel that hands the object hooks to the stack
├── actions/        # UI actions and executable action bodies
├── flows/          # automation
├── skills/         # AI skills
├── apps/
├── views/
├── pages/
├── dashboards/
├── reports/
├── datasets/       # dimensions and measures the dashboards and reports query
├── mappings/       # import column-to-field projections
├── profiles/
├── sharing/
├── translations/
├── data/           # seed data
├── docs/           # package docs stating the business rules the flows implement
└── interfaces/     # shared types (an empty barrel today)

HotCRM authors skills, not agents: the two app-owned copilots and the directory that held them were retired, and AI capability now comes from the platform assistant every ObjectStack environment provides. Exporting a skill from src/skills/index.ts is the whole wiring step. See AI Skills.

File suffix protocol

SuffixWhat it defines
*.object.tsData model
*.hook.tsObject lifecycle logic
*.actions.tsUI actions and executable actions
*.flow.tsAutomation
*.skill.tsAI Copilot skill
*.page.tsUI page
*.view.tsList or kanban view
*.dashboard.tsDashboard
*.report.tsReport
*.sharing.tsSharing rule
*.profile.tsPermission profile

Golden rules

  • Use the crm_ prefix for HotCRM object names.
  • Use ObjectQL and ObjectStack APIs, not raw SQL.
  • Keep metadata exported from the relevant src/**/index.ts file.
  • Update translations when adding user-visible labels.
  • Run pnpm verify before publishing.

Next

On this page