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

What can go wrong

Look first. Then write.

Preview does not write. Read mode and the global switch stop writes. The retry queue and the portal filter stay off.

Espo on one side

A switch that is off is a choice, not a hidden defect.
The brakes

Before the write

Preview shows what would be born and what would change, without calling the write. A VAT number already present is seen first. Undo goes back on what the run wrote.

Read mode and the global switch stop writes. A run in read mode reads, compares, and does not send the POST.

Passwords and secrets

Without the NESSO_SECRET_KEY variable the connection password stays cleartext in the SQLite volume. The trial does not set the variable. With the variable, a new save is sealed. An old cleartext row still opens.

Removing the variable after sealing means that connection does not open until the password is typed again. Secrets do not enter the public connection page and do not enter the export.

Things that stay off

The retry queue is off. When on, it queues again only an inbound row that has an external id, not in the same run, and it does not requeue HTTP outbound: that already has its own attempts.

The portal filter is off. It does not create portal users and it does not change roles. When on, outbound skips records of other teams. A missing key still stops the pull.

Mail stays in Espo. The Advanced Pack is not rewritten and is not in the repository. No SQL query on Espo tables. Production dumps are not imported.

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