Ergonode is GraphQL only, and every attribute kind has its own typed mutation. mappio knows which one to use, writes your variants in the order Ergonode requires, and replays the same rules on every file that supplier sends.
Supplier files are built for humans. Ergonode is built for a schema. Most of the work is the distance between the two, and it comes back with every new file.
Text, numeric, select, multi select, unit, price and relation each need a different typed mutation. Send a value through the wrong one and Ergonode answers with an unknown error and no detail.
Children have to exist before the variable product can bind them. Get the order wrong and the bindings fail.
Ergonode validates workflow transitions server-side, so you cannot simply set the status you want from wherever the product is now.
You draw the mapping on a canvas. Tricky rules are described in plain language and compiled once into a fixed rule, so runs stay reproducible. Below is what the Ergonode side of that actually does.
Pick the template and the attribute rail scopes to its attributes. Templates carry no display name in the API, so the picker shows the template code. The built-in SKU is not part of the attribute stream, so a field named esa_sku is injected and you map SKU like any other column.
Text, textarea and date go out as a string, numeric, price and unit as a float, select as an option code, multi select as a list of option codes and a relation as a list of SKUs. The kind comes from your live catalog, not from the shape of the value, so an article number that looks numeric still lands as text.
Locale is a property of the connection you draw. Three description columns feed one attribute in three languages, and the run language decides the default.
Mark a parent key, one or more variant axes and the variant SKU on source columns. Simple products are created first, then the variable product with its bindings, which is the order Ergonode requires. Axis values that pass through a ValueMap still resolve to binding codes.
Because Ergonode enforces the transition graph, the shortest path from the product's current status to the one you mapped is computed and walked step by step instead of set in one jump.
A flow can hold more than one taxonomy node. Each maps a source value to a category, and a product gets the deduped union of everything that resolved, in one category call.
Missing options are created with a short suggested code, lowercased, that you can edit per value. Option custom fields of type text, textarea and rich text can be filled from other columns in the same row, so the long care text lands in a custom field while the option keeps a readable name. Option names cap at 255 characters.
Create text, textarea, numeric, date, select, multi select, unit, price and relation attributes from the canvas. Ergonode has no API to add an attribute to a template, so a created attribute is instance-wide and you add it to the template in Ergonode itself. The editor tells you this at the moment you create one.
Writes go out as aliased GraphQL mutations, 25 operations per request, paced. One rejected value can fail a whole batched document, so a batch in which every operation failed with the same error is retried one operation at a time. Only the real offender fails, and Ergonode's own validation detail is shown on the row.
A value like nvt on a numeric attribute is skipped with a warning naming the SKU. A duplicate value on a unique attribute, such as a shared customs code, is recorded as a skip rather than failing the product. A relation to a SKU that does not exist yet is dropped from that write and named in the warning, so the rest of the relation still lands.
Select and multi select map to option codes, and missing options can be created and enriched. A price attribute is a single float whose currency is configured on the attribute inside Ergonode, and a unit attribute reads its symbol from the attribute.
We would rather you read this before you sign up than find it in week two. Every item below is a real boundary of the Ergonode connector today.
Media attributes are visible in the rail but not written. Option custom fields of type image are filtered out for the same reason.
An Ergonode price attribute holds one float and its currency is configured on the attribute inside Ergonode. Per-edge currency, where several columns merge into one collection, is an Akeneo feature.
Simple and variable products only. Grouping products are not created.
Ergonode has no API for it. An attribute created from the editor exists instance-wide, and you add it to the template in Ergonode before it appears in the scoped rail.
Ergonode refuses longer option names with an opaque error, so names are truncated at 255. Put the full text in an option custom field.
The Ergonode API returns no display name for a template, so pickers and warnings show the template code.
Ergonode exposes GraphQL only, at /api/graphql/. You add the instance URL and an API key, which is sent as an X-API-KEY header, and the connection is verified with a live handshake. The key is stored encrypted and is never part of an exported mapping.
Yes. You mark the parent key, the variant axes and the variant SKU on source columns. Simple products are created first and then the variable product with its bindings, which is the order Ergonode requires. Axis values that run through a ValueMap still resolve to binding codes.
Yes. Ergonode validates status transitions server-side, so mappio computes the shortest path from the product's current status to the one you mapped and walks it step by step.
Writes are batched as aliased GraphQL mutations, 25 operations per request. A single rejected value can fail the whole batched document, so a batch in which every operation failed with the same error is retried one operation at a time. Only the real offender fails, and the reason Ergonode returned is shown on the row.
No. Every write is hashed per operation, so a re-run of an unchanged file reports the products as unchanged and writes nothing. A force full resync is there for the times you do want everything pushed again.
The editor, the transforms and the workflow are shared. Only the write path differs per PIM, so each connector has its own page.
Start a workspace, connect your Ergonode instance and map your first supplier file. Fourteen days free, no card charged during the trial.