Core Concepts
Apps
Extend thoroughbreds.ai with code — custom objects, server-side logic, UI components, and AI agents, all as TypeScript packages.
Most CRMs give you a config panel. thoroughbreds.ai gives you a platform. Apps are how developers extend thoroughbreds.ai beyond what the UI offers — defining data models, server-side logic, UI components, and AI capabilities as code, then deploying them to one or more workspaces.
Why apps exist
Workflows cover no-code automation. But some things need code: a custom pricing engine, a proprietary enrichment pipeline, a compliance check that runs on every record update, a custom UI panel that pulls data from an internal tool.
Apps let you build these as first-class extensions — not brittle scripts talking to an API from outside, but code that runs on the platform with full access to the type system, permission model, and UI.
What an app can define
An app is a TypeScript package that declares entities using the thoroughbreds-sdk:
| Entity | What it does |
|---|---|
| Objects & Fields | New data tables and fields on existing objects — same treatment as built-in ones |
| Logic Functions | Server-side TypeScript triggered by HTTP routes, cron schedules, or database events |
| Front Components | Sandboxed React components that render inside thoroughbreds.ai’s UI (side panel, widgets, command menu) |
| Skills & Agents | AI capabilities — reusable instructions and autonomous assistants |
| Views & Navigation | Pre-configured list views and sidebar menu items |
Everything is detected via AST analysis at build time — no config files, no registration boilerplate. Put a export default defineObject(...) in any .ts file and the SDK picks it up.
How they run
- Logic functions execute in isolated Node.js processes, sandboxed from the host. They access data through a typed API client scoped to the app’s role permissions.
- Front components run in Web Workers using Remote DOM — sandboxed from the main page but rendering native DOM elements (not iframes).
- Permissions are enforced at the API level. An app only sees what its role allows.
The developer experience
You write your app as a TypeScript project on your machine. The CLI watches your source files and live-syncs them to a running thoroughbreds.ai server — edit a file, see the change in the UI within a second. The typed API client regenerates automatically when the schema changes. When you’re ready, yarn thoroughbreds app:publish --private pushes to a production server, or yarn thoroughbreds app:publish lists your app on npm and the thoroughbreds.ai marketplace.