Overview
CRM — Overview
CRM is Corteksa's core data engine. Your workspace defines its own objects
(Contact, Company, Deal, or anything you create) and their fields at
runtime, then reads and writes records through one uniform API — no schema
migration, no redeploy. Objects link through relations, and each object gets
custom views, comments, and import/export for free.
When should I use CRM?
- You want to store and query business data (contacts, deals, tickets, …) without hand-coding a table and endpoints for each.
- You want an external app to read/write records with a scoped API key.
- You need custom fields per workspace — the same object can have different fields in every tenant.
- You want relations, filtering, kanban views, bulk ops, and CSV/XLSX import/export out of the box.
If you only need the concepts (objects, fields, relations, slugs), read the Data Model first — this guide is the API on top of it.
Key concepts
Everything is addressed by slug, never a numeric id.
| Concept | What it is |
|---|---|
| Object | A type of thing you track (contacts, deals). Has a stable slug. |
| Field | A typed column on an object. Also has a slug (email-p0zx) — the key you use in a record's data body, not the display name. |
| Record | One row of an object. The records API (/object/data/:objectSlug) is your main surface. |
| Relation | A link between two objects (one-to-one, one-to-many, many-to-many). |
| View | A saved, filtered layout of an object — list, table config, or kanban board. |
How CRM works
A record write flows: your app → /object/data/:objectSlug → DataService
facade → validation (per field type) → dedicated object table. Every mutation
emits a domain event (data.created / data.updated / data.deleted) that
audit, real-time, workflow, and webhook listeners react to. See
Architecture.
The 17 field types are listed in the Data Model.
select / multi_select / status values validate against the field's allowed
options.
Next
- Build the UI → Frontend Integration
- Wire the backend → Backend Integration
- The endpoints → REST API
- Copy-paste calls → Examples