시나리오에 Make 모듈 하나만 넣고 이전 단계의 엔티티를 매핑하면, 구조화되고 스키마로 검증되며 여러 모델이 융합된 JSON 객체를 받습니다. 40개 언어의 다국어 출력도 단일 LLM 패스로 생성됩니다. 동적 드롭다운과 플랜 한도를 인식하는 오류 처리를 갖춘 15개의 정식 모듈이 Make의 작업당 과금 모델에 맞게 설계되었습니다.
Entity Enricher는 Server-Sent Events 스트림을 사용하는 n8n 커넥터를 이미 제공합니다. Make 모듈은 SSE를 기본적으로 사용할 수 없으며, 각 모듈은 하나의 원자적 HTTP 호출입니다. 강화를 단일 Make 작업으로 지원하기 위해 백엔드는 스트리밍 흐름을 서버 측에서 래핑하고 최종 융합 결과를 하나의 응답으로 반환하는 전용 POST /api/single/enrich/sync 엔드포인트를 제공합니다.
Languages 필드에서 두 개 이상의 언어를 선택하면 Entity Enricher가 모든 다국어 속성을 단일 LLM 호출로 선택한 모든 언어에 채웁니다 — 언어마다 N번의 순차적 왕복 호출이 아닙니다. 40개 언어가 주요 유럽, 아시아, 중동, 아프리카 시장을 포괄합니다.
languages = ["en", "fr", "de", "ja"]로 Enrich Entity를 한 번 호출한 결과:
{
"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": "痛み、発熱、炎症;抗血小板療法。"
}
}다운스트림 Make 모듈은 모든 언어를 직접 매핑할 수 있습니다: {{enrichEntity.result.names.primary.fr}}. 언어 드롭다운에는 전체 40개 언어 목록이 표시되며, organization 프로필에서 선택 가능한 언어 수를 제한하는 경우 요금제 제한 알림이 표시됩니다.

Make 앱 소스는 공개 TOT-Concept 저장소에 있습니다(Entity Enricher 모노레포에서 동기화됩니다). 앱이 Make 마켓플레이스에 등록되기 전까지는 Developer Hub를 통해 사이드로드하세요:
make-app-entity-enricher/ 디렉터리를 .zip으로 업로드하거나, 각 .json / .imljson 파일을 편집기의 해당 탭에 붙여넣으세요.ent_XXXXXXXXXXXX, /api/enrichment/options에 대해 자동 테스트됨), 또는 OAuth 2.0 연결: Entity Enricher에 로그인한 후 Authorize를 클릭하세요.
Make 모듈의 모든 선택 가능한 필드는 구성 시점에 Entity Enricher API를 호출하는 RPC로 채워집니다. 고정된 스키마가 먼저 표시되고(📌 표시), 모델 레이블에는 백만 토큰당 가격이 포함되며, 플랜 제한이 있는 조직은 할당량에 도달하면 알림을 보게 됩니다.

https://entityenricher.ai입니다. 자체 호스팅 배포의 경우에만 재정의하세요.중앙 모듈은 동적 드롭다운으로 입력 필드를 노출합니다: 스키마, 모델(다중 선택), 언어(다중 선택), 전략, 선택적 분류 및 중재 모델, 웹 검색, 응답 스키마, 엄격한 구조화 출력, 타임아웃, 메타데이터 토글. Entity data 필드를 통해 이전 모듈의 엔터티를 매핑하세요.
모델을 2개 이상 선택하면 결과가 서버 측에서 자동으로 융합됩니다. Make 출력 패널에는 is_fused: true, source_models 목록, 그리고 일치하거나 충돌한 필드 수를 집계한 fusion 요약이 표시됩니다:

identity_merges — 이번 실행에서 다른 단어로 생성되었던 기존 정체성을 재사용한 사례와, 그 판단 근거가 된 유사도입니다(정확한 코드나 토큰 일치로 결정된 경우에는 유사도를 측정하지 않으므로 비어 있습니다).entity_keys — 실제로 저장된 키 컬럼 값으로, 후속 모듈이 방금 생성한 행을 추측 없이 지정할 수 있습니다.status는 부분적으로만 기록된 경우를 단순 성공이 아니라 partial로 정직하게 보고하며, skipped_items와 key_collisions도 함께 제공합니다.retries가 기존 attempts 필드를 대체했습니다 — 호환성이 깨지는 이름 변경이므로 이를 매핑한 시나리오는 모두 업데이트하세요.7개 카테고리에 걸쳐 15개 모듈이 있습니다. Search 모듈은 후속 Iterator/Aggregator 체인을 위해 결과마다 하나의 번들을 내보내고, Action 모듈은 단일 번들을 내보냅니다.
| 범주 | 모듈 | 설명 |
|---|---|---|
| Enrichment | Enrich Entity | 다중 모델 융합을 사용하는 단일 호출 보강. 최종 융합(또는 최상의 단일 모델) 결과를 반환합니다. 분류 경고 시 자동으로 취소됩니다. |
| Schemas | List Schemas | 저장된 schema마다 하나의 Make 번들을 반환하며, Iterator/Aggregator 체인에 바로 사용할 수 있습니다. |
| Schemas | Get Schema Details | 전문 영역, 속성, 검색 키를 포함한 전체 스키마 콘텐츠입니다. |
| Schemas | Generate Sample | 하나의 블로킹 호출로 하나의 entity 유형에 대한 현실적인 샘플 JSON 객체 1..N개를 생성합니다 — schema 작성의 진입점입니다. 첫 번째 샘플이 필드 집합을 정의하고, 나머지는 동일한 필드의 인스턴스 변형입니다. |
| Schemas | Generate Schema | 동일한 entity 유형의 샘플 객체 1..N개로부터 JSON schema를 생성하고 자동 저장합니다 — 필드의 합집합, 일부 샘플에서 누락된 필드는 nullable로, 실제 관측된 값은 예시로 사용됩니다. |
| Records | List Records | 필터(유형, 성공 여부, 자유 텍스트)로 과거 강화 레코드를 검색합니다. |
| Records | Get Record | prompt별 전체 지표와 함께 단일 enrichment 결과를 조회합니다. |
| Records | Inject Records into Database | 저장된(또는 변환된) 보강 결과를 해당 스키마의 데이터베이스 동기화로 전송합니다. 스키마의 게시된 계약에 따라 다시 검증한 뒤 승인 게이트를 거칩니다. |
| Fusion | Merge Results | 여러 보강 결과를 다시 병합하며, 선택적으로 다른 LLM 중재자를 사용할 수 있습니다. |
| Attachments | Upload Attachment | 파일(상위 모듈에서 버퍼로 매핑됨, 예: HTTP ▸ Get a File)을 업로드하고 Enrich Entity에서 사용할 첨부 파일 ID를 반환합니다. |
| Attachments | Delete Attachment | ID로 첨부 파일을 삭제합니다 — 강화 후 유용한 정리 단계입니다. |
| Database Sync | List Database Syncs | schema의 database sync를 대기 중인 델타 수와 함께 반환합니다. |
| Database Sync | Fetch Database Deltas | database sync를 위한 SQL 델타의 다음 FIFO 윈도우를 반환합니다. Claim이 활성화되어 있으면 행이 리스되어 확인 처리가 필요하며, 그렇지 않으면 읽기를 재실행할 수 있습니다. |
| Database Sync | Acknowledge Database Deltas | 특정 ID까지 적용된 델타를 확인 처리합니다 — 리스를 해제하고, sync 옵션에 따라 전달된 사본을 삭제합니다. |
| Configuration | Get Options | 사용 가능한 model, 언어, 전략 및 organization의 요금제 한도입니다. |
Database Sync 모듈은 예약된 시나리오에서 데이터베이스 동기화 델타 피드를 처리합니다. Fetch Database Deltas가 다음 SQL 구간을 확보하고, 데이터베이스 또는 HTTP 모듈이 이를 적용하며, Acknowledge Database Deltas가 이를 확정합니다(Fetch의 Next Cursor를 Acknowledge에 매핑하세요).
Make 시나리오는 작업당 요금이 청구됩니다. Make 앱은 n8n 커넥터의 Batch Enrich 모듈을 이식하는 대신 Make의 기본 Iterator + Enrich Entity를 사용합니다. 각 반복은 독립적이며, 실패가 연쇄되지 않고, 청구는 실제로 처리된 내용을 정확히 반영합니다.
단일 Enrich Entity 호출로 선택한 모든 언어의 다국어 속성을 채웁니다 — N번의 순차 왕복이 아니라 한 번의 LLM 패스로 생성됩니다. 어떤 언어든 직접 매핑하세요: {{result.names.primary.fr}}.
전용 POST /api/single/enrich/sync 엔드포인트가 스트리밍 흐름을 서버 측에서 래핑합니다. 하나의 Make 작업 = 하나의 번들. 폴링도, 두 모듈 패턴도 없습니다.
Enrich Entity 모듈은 엔티티 데이터, 스키마, 언어, 웹 검색만으로 열립니다 — Entity Enricher가 조직의 최적 모델로 자동 실행됩니다. 모델, 첨부파일, 전략, 분류/중재 옵션은 Make의 "고급 설정 표시" 토글 뒤에 있습니다.
10개의 RPC가 구성 시점에 스키마, database sync, 모델, 언어, 전략, 분류/중재 모델, 응답 스키마 및 구조화된 출력 옵션을 가져옵니다. 고정된 스키마가 먼저 표시되고, 모델 라벨에는 가격이 포함됩니다.
모델을 2개 이상 선택하면 결과가 자동으로 융합됩니다. 출력 번들에는 is_fused, source_models[], 그리고 fusion: {agreed_fields, conflicted_fields, total_fields, method, arbitration_model} 요약이 포함됩니다.
선택적인 저렴한 classification model이 enrichment을 실행하기 전에 entity가 schema에서 기대하는 유형과 일치하는지 확인합니다. 불일치는 환각 데이터 대신 유형이 지정된 DataError를 생성합니다.
HTTP 402 오류(요금제 한도 또는 크레딧 부족)는 형식이 지정된 Make OutOfMoneyError로 변환됩니다. 메시지에는 백엔드의 사람이 읽을 수 있는 세부 정보(크레딧이 소진된 경우 결제 충전 URL 포함)와 기계가 읽을 수 있는 코드가 함께 표시됩니다. 이 코드를 기준으로 시나리오 오류 처리기를 분기하여 담당자에게 알리거나, 더 저렴한 모델로 대체하거나, 일시 중지하세요.
Web Search 드롭다운은 parameters.models를 읽으며, 선택한 모델 중 supports_web_search를 선언하는 모델이 없으면 자동으로 비활성화됩니다.
Make 시나리오는 작업당 요금이 청구됩니다. 다중 엔티티 워크플로는 Make의 기본 Iterator + Enrich Entity를 사용하여 엔티티별 세분화된 오류 처리와 정확한 청구를 제공합니다.
호출당 기본 300초 타임아웃이며 [10, 900] 범위로 제한됩니다. 작업이 제시간에 완료되지 않으면 서버 측에서 자동으로 취소되며 형식화된 ConnectionError를 반환합니다.
백엔드가 반환할 수 있는 모든 상태는 유형이 지정된 Make 오류로 매핑되어, 시나리오 오류 핸들러가 문자열을 파싱하는 대신 실패 모드에 따라 분기할 수 있습니다.

| HTTP | Make 오류 유형 | 실행 시점 |
|---|---|---|
| 400 | DataError | 스키마를 찾을 수 없거나, 검색 키가 없거나, 모델 또는 언어가 유효하지 않습니다. |
| 401 | InvalidCredentials | API 키가 잘못되었거나 누락되었습니다. |
| 402 | OutOfMoneyError | 플랜 한도 초과 또는 크레딧 부족. 메시지 = body.detail.detail (사람이 읽을 수 있으며, insufficient_credits의 경우 충전 URL 포함) + body.detail.code (기계가 읽을 수 있음). 코드에 따라 분기하세요: insufficient_credits, model_limit_exceeded, language_limit_exceeded, concurrent_job_limit_reached, daily/weekly/monthly_prompt_limit_exceeded. |
| 403 | AccessDeniedError | 역할 또는 범위가 부족합니다. |
| 404 | InvalidConfigurationError | 스키마 또는 레코드를 찾을 수 없습니다. |
| 422 | DataError | 분류 경고. body.detail.classification에 status, reasoning, confidence, entity_description이 포함됩니다. |
| 429 | RateLimitError | 프로바이더 속도 제한(일시적)입니다. |
| 499 | RuntimeError | 작업이 취소되었습니다. |
| 502 | ConnectionError | 업스트림 LLM 공급자 오류입니다 (예: 컨텍스트 오버플로). |
| 504 | ConnectionError | timeout_seconds가 경과했습니다. 작업이 서버 측에서 자동으로 취소되었습니다. |
이 앱은 가져올 수 있는 시나리오 블루프린트 6종을 제공합니다. 단일 보강, Iterator 배치 패턴, 문서에서 보강, 이미지에서 샘플을 거쳐 스키마로, 샘플에서 스키마로, 그리고 데이터베이스 동기화의 델타 피드 비우기입니다. 모듈을 처음부터 연결하지 말고 하나를 가져온 뒤 자신의 커넥션으로 바꿔 사용하세요.