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

Rules

The run applies rules. It does not invent a trade.

Every field has an owner. A date is read in three formats. An Italian phone becomes +39. A duplicate is rejected or adopted, if the integration says so.

Espo on one side

A rule that is not written does not fire.
The load

The owner

By default the source wins, even if the cell arrives empty. Clearing applies only to the source fields. If the owner is Espo, the different value goes into a queue to look at and the field on Espo stays.

On create, the Espo-owned field is written too: the record does not exist yet, and there is no note to protect. From the next run, the owner counts.

The key and the duplicate

Identity is one convention: integration id, a colon, external value. Two integrations on the same sheet do not mix, because the key contains the integration.

If Espo refuses because a similar record already exists with another key, the row is rejected. The integration can be told to adopt that record. It is not the default.

Before Espo

An unreadable date does not invent a day. A list must have at least one value, if the new field is a list. An Italian phone is put into international form. An Espo error, if it names a field, reports that name.

A required column is missing: the file is not moved and the reject is a single one. A cell is missing: the row is rejected and the others continue, if the column is there.

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