Corteksa

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.

ConceptWhat it is
ObjectA type of thing you track (contacts, deals). Has a stable slug.
FieldA 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.
RecordOne row of an object. The records API (/object/data/:objectSlug) is your main surface.
RelationA link between two objects (one-to-one, one-to-many, many-to-many).
ViewA saved, filtered layout of an object — list, table config, or kanban board.

How CRM works

A record write flows: your app → /object/data/:objectSlugDataService 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

On this page