Corteza
Apache-2.0 low-code platform with a shipped CRM app and an API-first backend driven over OAuth2.
A Go server plus Vue apps for building CRM and other structured-data apps from modules, records, pages and workflows, maintained by Planet Crust. Deploy with docker-compose and a .env; the CRM comes as a low-code template you reshape in the UI. Every subsystem (records, modules, users, roles, workflows, reporting, federation) is a REST resource with OAuth2 client-credentials JWTs.
- I want a CRM whose fields and workflows our agent can redefine through an API, under a permissive license
- I need several small business apps (CRM, case management) on one self-hosted platform
- Admin bootstrap (roles, users, auth clients) is manual in the Admin web app
- Access tokens expire after two hours; agents must refresh
- The Discovery search stack adds OpenSearch and a second server image
- Docs are versioned (2024.9); check they match the deployed VERSION
Last activity Aug 27, 2026. Fit: adaptable 3, operable 3.
Editions
Self-hosted · Free open source
- Clone
git clone https://github.com/cortezaproject/corteza - ImageContainer
- HostedOpen the hosted app
Planet Crust cloud · Free closed source
- HostedOpen the hosted app
Adaptable: what is yours to change
Make it yours
Config only16 things to edit
The devops guide ships docker-compose.yaml plus a .env: DOMAIN, VERSION, DB_DSN, AUTH_JWT_SECRET, SMTP_* and HTTP_WEBAPP_* are the working set, with DISCOVERY_* for the optional search stack. The CRM itself is low-code: modules, fields, pages and workflows live in the database and are edited in the UI or over the API, so an SMB reshapes the CRM without a build step.
- Env vars
DOMAINVERSIONDB_DSNAUTH_JWT_SECRETSMTP_HOSTSMTP_USERSMTP_PASSSMTP_FROMHTTP_WEBAPP_ENABLEDHTTP_WEBAPP_LISTLOG_LEVELACTIONLOG_DEBUGDISCOVERY_ENABLEDDISCOVERY_BASE_URL- Config files
.envdocker-compose.yaml- Prompt files
- none
- Accounts you need
- SMTP relayPlanet Crust account (cloud edition)
Source
- github.com/cortezaproject/corteza
- Apache-2.0 license
- Last commit Aug 27, 2026
- 2,141 stars
Operable: what an agent can drive
Interface
OfficialAPIpublished by the builderremote or local
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
Reach
Partial coverage. 6 of 9 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Create, read, update and delete records in any module | Reachable | Integrator guide: compose records API |
| Define modules, fields and namespaces | Reachable | Integrator guide: modules and namespaces are API resources |
| Run and manage automation workflows | Reachable | Integrator guide: automation workflows API |
| Manage users, roles and permissions | Reachable | Integrator guide: system users and roles |
| Reporting | Reachable | Integrator guide: reporting subsystem exposed |
| Sync data across instances | Reachable | Federation nodes and data synchronization in the guide |
| Build record pages and layouts | Undetermined | Pages are compose resources; API coverage not confirmed on the access page |
| Write automation scripts (Corredor) | Undetermined | Automation scripts are a separate integrator topic; not on the access page |
| Import the CRM template | Undetermined | Template import is documented as a UI step |
Code stack
- Languages
- GoJavaScript
- Frameworks
- Vue.js
- Package manager
- go modules + yarn
- Database
- PostgreSQLMySQL/PerconaSQLite (dev)
- Hosting target
- Docker Compose
- Built
- Human-written (recorded, never ranked)
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: Go server with Vue web apps; devops guide docker-compose | 95% |
| executionModel | No model dependency in README or docs | 85% |
| operability | Integrator guide accessing-corteza: OAuth2 client credentials, /auth/oauth2/token, API docs at /api/docs | 90% |
| effort | devops-guide deploy-online: .env and docker-compose.yaml with named vars | 90% |
| editions | README: Apache-2.0; Planet Crust hosted trial | 70% |
| active | GitHub pushedAt 2026-08-27 | – |
| reach | 80% |
Open questions
- Planet Crust cloud prices
- API coverage for compose pages and automation scripts
- Is 2024.9 still the current release line?
Sources
- github.com/cortezaproject/corteza sourcing:smb-ops-crm:community
- docs.cortezaproject.org/corteza-docs/2024.9/integrator-guide/accessing-corteza/index.html sourcing:smb-ops-crm:community
- docs.cortezaproject.org/corteza-docs/2024.9/devops-guide/examples/deploy-online/index.html analysis