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

Questions

The same answers as the manual, in short.

If a sentence on this page and a sentence in the manual diverge, the manual wins: it changes together with the code.

Espo on one side

The manual is the docs folder.
The repository
What is Nesso?
It is the engine that moves records between an external system and EspoCRM. You configure the channel, the sheet and the field mapping. From then on the same engine moves the records. It is not a second CRM and it is not a connector with an ERP's name written in the code.
Does it talk to Espo's tables?
No. Every read and every write toward Espo goes through the HTTP API, with the Espo-Authorization header. No SQL on Espo's tables.
Which channels are there?
Inbound: webhook, a database read with SELECT only, CSV, Excel, SFTP, FTPS, a PDF whose name contains the company key, a document. Outbound: HTTP. The database can be MySQL, MariaDB, Postgres, SQL Server or Oracle.
Who wins if the cell arrives empty?
By default the source wins, even if the cell is empty. A field can have another owner, Espo: then the night run does not clear it. That is the rule that protects a note a person wrote.
If the customer disappears from the file, what happens in Espo?
The record is closed and stays in the history. It is not deleted. The first close asks for confirmation. The right to be forgotten is a different act, and it is not this close.
Does it also write back to the ERP?
Not until write-back is turned on for that integration. When it is on, it touches only the columns you named.
Does it create Espo users from a master file?
No. A team and a person are assigned from a column or from a fixed value. A user is not created.
Can the night run start on its own?
Yes, if the cadence is 5 minutes, 15, one hour, or a fixed time. The same integration does not start twice. Two different integrations can run together. After an error it waits the whole interval, unless retry_failed is on.
Is there a queue that resends failed rows?
It stays off. With retry_queue on, only an inbound row that has an external identity, and not in the same run. Outbound is not sent again: the cursor already retries the record that did not leave.
Are passwords stored in clear text?
Without the NESSO_SECRET_KEY variable, yes, in the SQLite file of the local volume. With the variable a new save is sealed and a password already in clear text still opens. The trial does not set the variable.
Does Nesso run the Espo portal?
No. It does not create portal users and it does not change roles. If the rule is on, outbound skips records of another team. Off, outbound does not change.
Are the recipes my ERP's connector?
No. Accounts, contacts and sites prepare a mapping to review, on the fields Espo already has. The price list points at Product: if the sheet is missing, the fields stay empty. It is not a certified connector.
How do I try it?
From the public repository, with Docker. It starts an empty Espo. Production dumps are not imported. The Gruppo Meridia demo is the proof, not a second product.

Beyond the list

Nesso is not a second CRM. It always has Espo on one side and a channel on the other. Writes toward Espo go through the HTTP API. There is no query on the tables.

The retry queue, the portal filter, the seal, and write-back exist and stay off. The trial does not turn them on. Without NESSO_SECRET_KEY the password in the volume stays cleartext.

The recipes are not a certified connector. The price list looks at Product: if the sheet is missing, the fields stay empty. Mail stays in Espo.

The trial is the repository.

No form. Clone it, start an empty Espo, read the docs folder.

The trial

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