Covan Platform

A platform first,
products second.

Every service desk is an app on the same foundation, so a capability built once — an SLA clock, an approval step, a report — is immediately available to every team.

3level hierarchy
1shared record engine
0code branches, custom tables
21+field types
01 · Hierarchy

Tenant, company, app.

Everything in the platform sits in a three-level hierarchy. Isolation is enforced on every query: one tenant never sees another’s data, and roles decide which companies and apps a person can reach.

Tenant

Contract holder

For example a municipality or a holding. Isolation starts here: one tenant never sees another’s data.

municipality / holding / customer
Company

Legal or organizational unit

Has its own users, departments, sites and CMDB. A holding runs many companies on one installation.

users / departments / sites / calendars
App

Workspace for one team

Created from a template in one step; fields, statuses, workflows, roles, SLAs and menu take shape through configuration.

ITSM / HR / CSM / facilities / events / SDLC

Hierarchy and the shared CMDB

isolation
Tenantcontract holder · municipality / holding
Companyusers, departments, sites, calendars
CMDBone shared pool per company
AppsITSM · İK · CSM · Facilities · SDLC
Recordsevery app writes into the same record engine

One CMDB, every app.

The CMDB is shared by the whole company and fed by the platform’s own discovery. Apps consume the CMDB; they never own a private copy of it.

  • One shared pool per company.
  • Tenant and company isolation on every query.
  • Role scopes: assigned to me, my team, my company.
02 · Record engine

One physical table per record kind.

Every request, incident, problem, change, case, work order, project, epic and sprint — across every tenant and every app — lives in the same record store and is told apart by its type. Team-specific fields live in flexible JSON columns that are indexed and searchable.

record · INC-0021299
// one table, separated by type
{
"tenant_id":   "acme-holding",
"company_id":  "acme-energy",
"app_id":      "itsm",
"type":        "incident",
"number":      "INC-0021299",
"state":       "in_progress",
"assignment":  { "team": "platform-ops" },
"fields": {                        // team-specific, indexed
"impact":      "high",
"ci_ref":      "SRV-EBLD-WEB01",
"root_cause":  "db_saturation"
},
"sla_due_at":  "2026-10-27T16:40:00Z"
}

Assets, knowledge articles and CIs have their own shared stores because their lifecycles differ. Everything else uses the same engine.

  • A new department is onboarded in hours.
  • Cross-process reports need no integration.
  • Upgrades never have to migrate customer-specific tables.

Relationship diagram

CMDB
BUSINESS SERVICE BS-CORP-PORTAL DATABASE EBLD-DB01 SERVER SRV-EBLD-WEB01 Tier 1 Prod Uses database Runs on impact-carrying relationship informational relationship
03 · Durability

Event-driven and durable.

A record change commits together with its history and a domain event in one transaction, so no rule and no SLA misses a change, even across restarts.

Committed as one transaction

Every change to a record commits together with its history and a domain event in one transaction, so a timer or a rule never misses a change, even across restarts.

Background worker

It relays events to SLAs, automation rules and workflows. Long-running sweeps (SLA breaches, schedules, discovery housekeeping) run on a single elected leader.

One data model

One physical table per record kind. Assets, knowledge articles and CIs have their own shared stores because their lifecycles differ.

04 · Customization

Customisability without custom code.

Administrators shape each app through screens, not development projects. Every option below is configuration that survives upgrades and can be moved between environments as a package.

Fields & forms

More than 21 field types. Fields are defined in layers (record type → app → service template) and a more specific layer can override or hide an inherited field.

Custom tables

Lookup lists (vendors, cost centers) or full custom objects with numbering, references and forms. No database change is involved.

Statuses & lifecycle

Per-app status sets and a lifecycle workflow that defines which moves are allowed, who may make them, and what must be true first.

Process workflows

A visual designer for approvals, tasks, timers, parallel branches and joins, notifications, scripts and AI agent steps.

Automation rules

“When this happens and these conditions hold, do that.” 18 action types; any action can be delayed.

UI policies & validation

Make fields mandatory, read-only or hidden based on other values, and block invalid changes before they are saved.

Scripts

JavaScript for the cases configuration cannot cover, run in an isolated sandbox with a curated, tenant-guarded API. Script Includes work like libraries.

SLA / OLA / UC

Several policies per record type matched on any attribute; business-hour calendars with holidays; pause on hold; breach escalation and at-risk warnings.

Roles & access

A permission matrix per record type (view, create, edit, transition, approve, export …) with scopes such as assigned to me, my team, my company, plus field-level hiding.

Reports & dashboards

A safe query builder over any field of any object (following references two levels deep), charts, KPIs and drag-and-drop dashboards.

Configuration packages

Export a whole app or a single workflow, rule or template as a portable bundle and import it elsewhere with a full dry-run preview first.

05 · Designer

Approvals, tasks, parallel branches.

The visual process designer combines approvals, tasks, timers, parallel branches and joins, notifications, scripts and AI agent steps. An approver can be a manager, a team, a department head or the result of a script.

  • Two-level approval (manager, then head of department) is built in.
  • Any action can be delayed; SLA clocks pause on hold.
  • Script steps run in the sandbox with the curated API.
StartApprovalTaskTimerParallelJoinNotifyScriptAITransition
Automation / Process designer
AY
Two-level approval
Request · Approval flow · v4
Dry runPublish
START APPROVAL Manager approval APPROVAL Department head TRANSITION Move to in progress END Rejected TASK Notify requester
Steps
Start
Approval
Task
Timer
Transition
AI agent
06 · Configuration surface

21+ field types, 18 action types.

Fields and actions are defined as data. Adding a field does not change a database schema, and writing a new automation does not open a code branch.

textlong textselectmulti-selectcheckboxdatedate-timeintegerdecimalcurrencyuser referencedepartment referenceCI referencelookup +7
set fieldsassignnotifysend e-mailstart workflowtransitionrun scriptcall AIsend surveysync CI or assetcreate recordadd task +6

SLA compliance · last 12 weeks

%96,4
W1W6W12
On time · 64% At risk · 22% Breached · 14%
07 · Runtime

A single Docker Compose stack is enough.

PostgreSQL 17, Node.js and a React web client. A single Docker Compose stack is enough for a full installation, and the data stays in the customer’s data center.

component

PostgreSQL 17

Data layer

component

Node.js

Application server

component

React

Web client

component

Docker Compose

Single-stack install

Roadmap: SAML/OIDC single sign-on, MFA and workforce SCIM. Local and AD/LDAP login with provisioning works today.

08 · Scale and governance

Enterprise scale, auditable governance.

In a multi-company installation, scale is not only about server count: who sees what, which change is audited, and which background job runs exactly once are scale too.

Isolation on every query

One tenant never sees another’s data; roles decide which companies and apps a person can reach.

Audit trail and history

Every record change is written together with its history; access changes and sign-ins are audited.

One leader, consistent background work

Long-running sweeps (SLA breaches, schedules, discovery housekeeping) run on a single elected leader, so multi-node installations never duplicate work.

Governance through configuration

Apps and workflows move between environments with a full dry-run preview, so test and production share the same configuration.

Next step

Test the architecture against your own scenario.

In the demo we walk through the record engine, approval designer and CMDB impact analysis using your own processes.

Request a demo Explore the platform hello@covan.io · covan.io