# 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.

Alternative to: Salesforce

- Capabilities: adaptable, operable
- Vertical: smb-ops-crm
- Shape: internal-tool
- Form factor: web-app
- Execution model: deterministic
- Provenance: human-written (recorded, never ranked)
- Repo: https://github.com/cortezaproject/corteza (Apache-2.0), 2141 stars, last commit 2026-08-27
- Last activity: 2026-08-27
- Page: apps/cortezaproject--corteza.html
- JSON: apps/cortezaproject--corteza.json

## Use it when

- 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

## Gotchas

- 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

## Editions

- Self-hosted: Free, open source
  - source: https://github.com/cortezaproject/corteza
  - container: https://docs.cortezaproject.org/corteza-docs/2024.9/devops-guide/index.html
  - hosted: https://latest.cortezaproject.org/
- Planet Crust cloud: Free, closed source
  - hosted: https://www.planetcrust.com/start-trial-lp-main

## Adaptable: make it yours

Effort: config-only (16 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: DOMAIN, VERSION, DB_DSN, AUTH_JWT_SECRET, SMTP_HOST, SMTP_USER, SMTP_PASS, SMTP_FROM, HTTP_WEBAPP_ENABLED, HTTP_WEBAPP_LIST, LOG_LEVEL, ACTIONLOG_DEBUG, DISCOVERY_ENABLED, DISCOVERY_BASE_URL
- Config files: .env, docker-compose.yaml
- Prompt files: none
- Accounts you'll need: SMTP relay; Planet Crust account (cloud edition)

## Operable: what an agent can drive

Operability: official. Interface: api at https://docs.cortezaproject.org/corteza-docs/2024.9/integrator-guide/accessing-corteza/index.html (published by the builder, both).

### Reach (partial coverage)

- 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: Go, JavaScript
- Frameworks: Vue.js
- Package manager: go modules + yarn
- Database: PostgreSQL, MySQL/Percona, SQLite (dev)
- Hosting target: Docker Compose

## Evidence and confidence

- formFactor: README: Go server with Vue web apps; devops guide docker-compose (confidence 0.95)
- executionModel: No model dependency in README or docs (confidence 0.85)
- operability: Integrator guide accessing-corteza: OAuth2 client credentials, /auth/oauth2/token, API docs at /api/docs (confidence 0.9)
- effort: devops-guide deploy-online: .env and docker-compose.yaml with named vars (confidence 0.9)
- editions: README: Apache-2.0; Planet Crust hosted trial (confidence 0.7)
- active: GitHub pushedAt 2026-08-27
- reach:  (confidence 0.8)

## Open questions

- Planet Crust cloud prices
- API coverage for compose pages and automation scripts
- Is 2024.9 still the current release line?

## Sources

- https://github.com/cortezaproject/corteza (sourcing:smb-ops-crm:community)
- https://docs.cortezaproject.org/corteza-docs/2024.9/integrator-guide/accessing-corteza/index.html (sourcing:smb-ops-crm:community)
- https://docs.cortezaproject.org/corteza-docs/2024.9/devops-guide/examples/deploy-online/index.html (analysis)
