Inserire un singolo modulo Make in qualsiasi scenario, mappare un'entità da un passaggio precedente e ricevere un oggetto JSON strutturato, validato rispetto allo schema e fuso tra più modelli, con output multilingue in 40 lingue prodotto in un'unica passata LLM. 9 moduli di prima classe con menu a discesa dinamici e gestione degli errori consapevole dei limiti del piano, progettati per il modello di fatturazione per operazione di Make.
Entity Enricher include già un connettore n8n che consuma uno stream di Server-Sent Events. I moduli di Make non possono consumare nativamente gli SSE: ogni modulo è una singola chiamata HTTP atomica. Per supportare l'arricchimento come singola operazione di Make, il backend espone un endpoint dedicato POST /api/single/enrich/sync che incapsula lato server il flusso di streaming e restituisce il risultato fuso finale in un'unica risposta.
Selezionate più di una lingua nel campo Lingue ed Entity Enricher popola ogni proprietà multilingue in tutte le lingue selezionate con una singola chiamata LLM — non N round-trip sequenziali per lingua. 40 lingue coprono i principali mercati europei, asiatici, mediorientali e africani.
Risultato di una chiamata Enrich Entity con languages = ["en", "fr", "de", "ja"]:
{
"names": {
"primary": {
"en": "Aspirin",
"fr": "Aspirine",
"de": "Aspirin",
"ja": "アスピリン"
}
},
"indications": {
"en": "Pain, fever, inflammation; antiplatelet therapy.",
"fr": "Douleur, fièvre, inflammation ; antiagrégant plaquettaire.",
"de": "Schmerz, Fieber, Entzündung; Thrombozytenaggregationshemmer.",
"ja": "痛み、発熱、炎症;抗血小板療法。"
}
}I moduli Make a valle possono mappare direttamente qualsiasi lingua: {{enrichEntity.result.names.primary.fr}}. Il menu a discesa Lingue mostra l'elenco completo delle 40 lingue, con un avviso di limite del piano quando il profilo della sua organizzazione limita il numero di lingue selezionabili.

Il codice sorgente dell'app Make si trova nel repository pubblico TOT-Concept (sincronizzato dal monorepo di Entity Enricher). Fino all'arrivo della v1.0 sul marketplace di Make, effettui il sideload tramite il Developer Hub:
make-app-entity-enricher/ come .zip, oppure incolli ogni file .json / .imljson nella rispettiva scheda dell'editor.ent_XXXXXXXXXXXX). La connessione viene testata automaticamente su /api/enrichment/options.
Ogni campo selezionabile nei moduli Make è popolato da un RPC che interroga l'API di Entity Enricher al momento della configurazione. Gli schemi fissati compaiono per primi (contrassegnati con 📌), le etichette dei modelli includono il prezzo per milione di token e le organizzazioni con piano limitato vedono un avviso al raggiungimento della quota.

https://entityenricher.ai. Sovrascrivetelo solo per i deployment self-hosted.Il modulo centrale espone i propri campi di input tramite menu a discesa dinamici: schema, modelli (selezione multipla), lingue (selezione multipla), strategia, modelli opzionali di classificazione e arbitraggio, ricerca web, schema di risposta, output strutturato rigoroso, timeout e interruttori dei metadati. Mappa un'entità da qualsiasi modulo precedente tramite il campo Entity data.
Quando sono selezionati 2 o più modelli, il risultato viene automaticamente fuso lato server. Il pannello di output di Make mostra is_fused: true, l'elenco dei source_models e un riepilogo di fusione che conteggia i campi concordanti e in conflitto:

9 moduli suddivisi in 5 categorie. I moduli di ricerca emettono un bundle per ogni risultato per le catene Iterator/Aggregator a valle; i moduli di azione emettono un singolo bundle.
| Categoria | Modulo | Descrizione |
|---|---|---|
| Enrichment | Enrich Entity | Arricchimento con singola chiamata e fusione multi-modello. Restituisce il risultato finale fuso (o del miglior modello singolo). Si annulla automaticamente in caso di avviso di classificazione. |
| Schemas | List Schemas | Restituisce un bundle Make per ogni schema salvato, pronto per le catene Iterator/Aggregator. |
| Schemas | Get Schema Details | Contenuto completo dello schema, inclusi domini di competenza, proprietà e chiavi di ricerca. |
| Records | List Records | Cerca tra i record di enrichment passati con filtri (tipo, esito, testo libero). |
| Records | Get Record | Recupera un singolo risultato di arricchimento con metriche complete per prompt. |
| Fusion | Merge Results | Unisci nuovamente più risultati di arricchimento, facoltativamente con un arbitro LLM diverso. |
| Attachments | Upload Attachment | Carica un file (mappato come buffer da un modulo a monte, ad es. HTTP ▸ Get a File) e restituisce il relativo ID allegato da utilizzare in Enrich Entity. |
| Attachments | Delete Attachment | Elimina un allegato tramite ID — un comodo passaggio di pulizia post-arricchimento. |
| Configuration | Get Options | Modelli, lingue e strategie disponibili, e i limiti del piano dell'organizzazione. |
Gli scenari di Make vengono fatturati per operazione. Invece di trasferire il modulo Batch Enrich del connettore n8n, l'app Make utilizza l'Iterator integrato di Make + Enrich Entity. Ogni iterazione è indipendente, gli errori non si propagano a catena e la fatturazione riflette esattamente ciò che è stato elaborato.
Una singola chiamata Enrich Entity popola ogni proprietà multilingue in tutte le lingue selezionate — prodotta in un solo passaggio LLM, non in N chiamate sequenziali. Mappa qualsiasi lingua direttamente: {{result.names.primary.fr}}.
Un endpoint dedicato POST /api/single/enrich/sync incapsula il flusso di streaming lato server. Un'operazione Make = un bundle. Nessun polling, nessun pattern a due moduli.
7 RPC recuperano schema, model, lingue, strategie, model di classification/arbitration e opzioni di ricerca web al momento della configurazione — gli schema fissati compaiono per primi, le etichette dei model includono i prezzi.
Selezionate 2 o più modelli e il risultato viene fuso automaticamente. Il bundle di output include is_fused, source_models[] e un riepilogo fusion: {agreed_fields, conflicted_fields, total_fields}.
Un modello di classificazione economico e opzionale verifica che l'entità corrisponda al tipo previsto dallo schema prima dell'esecuzione dell'arricchimento. Le discordanze producono un DataError tipizzato invece di dati allucinati.
Gli errori HTTP 402 (limiti del piano o crediti insufficienti) diventano OutOfMoneyError tipizzati di Make. Il messaggio riporta il dettaglio leggibile del backend (con un URL di ricarica per la fatturazione quando i crediti sono esauriti) più un codice leggibile dalla macchina: ramifichi il gestore degli errori dello scenario in base al codice per avvisare le persone, ripiegare su modelli più economici o mettere in pausa.
Il menu a discesa Web Search legge parameters.models e si disabilita quando nessuno dei model selezionati dichiara supports_web_search.
Gli scenari di Make vengono fatturati per operazione. I flussi di lavoro multi-entità utilizzano l'Iterator integrato di Make + Enrich Entity, offrendo una gestione granulare degli errori per singola entità e una fatturazione precisa.
Timeout predefinito di 300 secondi per chiamata, limitato a [10, 900]. Il job viene annullato automaticamente lato server se non termina in tempo, restituendo un ConnectionError tipizzato.
Ogni stato che il backend può restituire è mappato su un errore Make tipizzato, così i gestori di errori degli scenari possono ramificarsi in base alla modalità di errore anziché analizzare stringhe.

| HTTP | Tipo di errore Make | Quando si attiva |
|---|---|---|
| 400 | DataError | Schema non trovato, chiavi di ricerca mancanti, modelli o lingue non validi. |
| 401 | InvalidCredentials | Chiave API errata o mancante. |
| 402 | OutOfMoneyError | Limite del piano superato OPPURE crediti insufficienti. Message = body.detail.detail (leggibile, include un URL di ricarica per insufficient_credits) + body.detail.code (leggibile dalla macchina). Distinguete in base al codice: insufficient_credits, model_limit_exceeded, language_limit_exceeded, concurrent_job_limit_reached, daily/weekly/monthly_prompt_limit_exceeded. |
| 403 | AccessDeniedError | Ruolo o ambito insufficiente. |
| 404 | InvalidConfigurationError | Schema o record non trovato. |
| 422 | DataError | Avviso di classification. body.detail.classification contiene status, reasoning, confidence, entity_description. |
| 429 | RateLimitError | Limite di frequenza del provider (transitorio). |
| 499 | RuntimeError | Job annullato. |
| 502 | ConnectionError | Errore del provider LLM upstream (es. overflow del contesto). |
| 504 | ConnectionError | timeout_seconds trascorso; processo annullato automaticamente lato server. |