Product How it works Channel, sheet, the record's run Architecture Espo on one side, the API on the other The model It proposes the mapping. It does not save. The run Cadence, and this morning's number Rules Owner, key, reject Sheets The ones Espo already has The field Who wins if the cell is empty The record How it enters and how it leaves What can go wrong Preview, read mode, the switch
Channels Channels File, table, call, outbound Recipes A mapping to review The trial The repository, an empty Espo
Nesso Why Nesso Not SQL, not a second CRM Who it is for Who has to trust the run Decisions The ones the code keeps The project The public repository
FAQ The trial
Italiano English

Architecture

Two memories. One write direction toward Espo.

The hash remembers the inbound row. The cursor remembers the outbound. Neither is a query on Espo tables.

Espo on one side

The engine volume is not the Espo database.
The boundaries

Three pieces

The external system delivers or receives rows: a file, a SELECT, a call, an HTTP endpoint. Nesso holds the connection and the integration. Espo holds the sheets, the teams, the history.

An integration has one connection. A connection can have several integrations. If the connection is HTTP, the integration leaves Espo. In the other cases it enters.

Where the data sits

The sheets sit in Espo. The engine keeps its own memory in a SQLite file: connections, integrations, hash, cursor, journal. That file is not a second CRM and it does not replace Espo.

Without NESSO_SECRET_KEY the passwords in that volume stay cleartext. With the variable, a new save is sealed. The trial does not set the variable.

What does not cross the boundary

No SQL on Espo tables. No production dump in the trial Espo. The Advanced Pack is not in the repository. CRM mail does not pass through the engine. Espo users are not created from a master.

Two different integrations can run together. The same one does not start twice. After an error the full interval is waited, unless retry_failed is on.

The passage

Espo on one side. The external system on the other.

Nesso stands in the middle. It reads the channel, applies the mapping, and writes through Espo’s API. It does not open the CRM tables.

01

The external system

Not us

A file, a table, a call. That ERP’s name is not in the code. Nesso is not that system.

02

Nesso

This is us

Channel, sheet, fields. If the write switch is off, it does not write. If the field belongs to Espo, it does not clear it.

03

Espo

The sheet

The record, if it is born, is born there. CRM mail stays in Espo. The Advanced Pack is not rewritten.

Nesso always has Espo on one side. It is not a bridge between any two systems.

The product boundary