Make.com コネクタ - Entity Enricher ドキュメント

Make.com コネクタ

1 つの Make モジュールを任意のシナリオに配置し、前のステップからエンティティをマッピングすると、構造化され、スキーマで検証され、複数のモデルでフュージョンされた JSON オブジェクトを受け取れます — 40 言語の多言語出力を単一の LLM パスで生成します。動的ドロップダウンとプラン制限に対応したエラー処理を備えた 9 つのファーストクラスモジュールで、Make の操作単位の課金モデル向けに設計されています。

Make 向けに設計

Entity Enricher は Server-Sent Events ストリームを利用する n8n コネクター をすでに提供しています。Make のモジュールは SSE をネイティブに扱えず、各モジュールは 1 回の単一な HTTP 呼び出しになります。エンリッチメントを 1 つの Make オペレーションとして実行できるよう、バックエンドは専用の POST /api/single/enrich/sync エンドポイントを公開しており、ストリーミングフローをサーバー側でラップして、最終的なフュージョン結果を 1 つのレスポンスで返します。

n8n connector
POST /enrich/stream → job_id
GET /llm/stream/{id}
GET /llm/stream/{id}
... (events)
[final bundle out]
Make.com connector
POST /enrich/sync
(server awaits internally)
[final bundle out]

ワンパスでの多言語エンリッチメント

言語フィールドで複数の言語を選択すると、Entity Enricher はすべての多言語プロパティを選択したすべての言語で1回のLLM呼び出しで入力します — 言語ごとにN回の逐次往復は行いません。40の言語が、欧州、アジア、中東、アフリカの主要市場をカバーします。

languages = ["en", "fr", "de", "ja"] を指定した 1 回の 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}}。Languages ドロップダウンには全 40 言語のリストが表示され、組織のプロファイルで選択可能な言語数が制限されている場合はプラン制限の通知が表示されます。

Make モジュール:対応する40言語を表示する言語の複数選択ドロップダウン

インストール

Make アプリのソースは公開 TOT-Concept リポジトリにあります(Entity Enricher のモノレポから同期)。v1.0 が Make.com マーケットプレイスに登場するまでは、Developer Hub からサイドロードしてください。

  1. 開発者としてMakeの組織にサインインします。
  2. Apps → Create a new app → Custom App に移動します。
  3. make-app-entity-enricher/ ディレクトリを .zip としてアップロードするか、各 .json.imljson ファイルをエディターの対応するタブに貼り付けてください。
  4. Entity Enricher → Settings → API Keys のキー(形式は ent_XXXXXXXXXXXX)を使用して APIキー接続を追加します。接続は /api/enrichment/options に対して自動的にテストされます。
Make:API キー接続のセットアップフォーム

動的ドロップダウン

Makeモジュール内の選択可能なすべてのフィールドは、設定時にEntity Enricher APIを呼び出すRPCによって設定されます。ピン留めされたスキーマが最初に表示され(📌で示されます)、モデルラベルには100万トークンあたりの価格が含まれ、プラン制限のある組織はクォータに達すると通知が表示されます。

Make モジュール:ピン留めされたスキーマを上部に表示した状態で開いたスキーマのドロップダウン

前提条件

APIキーEntity Enricherでorganizationアクセスキーを作成します。API Keysのドキュメントを参照してください。サービス間連携には、独自のロールを持つorganizationアクセスキーをご利用ください。
ベース URLEntity EnricherインスタンスのURL — デフォルトはhttps://entityenricher.aiです。セルフホスト環境の場合のみ上書きしてください。
OAuth 2.0Entity Enricherの認可サーバーが導入され次第、APIキー認証とともにv0.4で提供予定です。エンドユーザーのシナリオでは、標準のMake OAuthフローを通じて自身のアカウントを接続できるようになります。

Enrich Entity の動作例

中心となるモジュールは、動的なドロップダウンで入力フィールドを提供します:スキーマ、モデル(複数選択)、言語(複数選択)、戦略、オプションの分類モデルおよびアービトレーションモデル、Web検索、レスポンススキーマ、厳密な構造化出力、タイムアウト、メタデータの切り替えです。Entity dataフィールドを介して、以前の任意のモジュールからエンティティをマッピングできます。

2つ以上のmodelを選択すると、結果はサーバー側で自動的にfusionされます。Make出力パネルにはis_fused: truesource_modelsのリスト、そして一致したフィールドと競合したフィールドを集計するfusionサマリーが表示されます:

Make の出力パネル:複数モデルによるフュージョン済みエンリッチメント結果

利用可能なモジュール

5つのカテゴリーにまたがる9つのモジュール。検索モジュールは、下流のIterator/Aggregatorチェーン向けに結果ごとに1つのバンドルを出力します。アクションモジュールは単一のバンドルを出力します。

カテゴリモジュール説明
EnrichmentEnrich Entityマルチモデルフュージョンによる単一呼び出しエンリッチメント。最終的にフュージョンされた(または最良の単一モデルの)結果を返します。分類警告時には自動的にキャンセルされます。
SchemasList Schemas保存済みのschemaごとに1つのMakeバンドルを返し、Iterator/Aggregatorチェーンですぐに利用できます。
SchemasGet Schema Details専門領域、プロパティ、検索キーを含むスキーマの全内容です。
RecordsList Recordsフィルター(タイプ、成功、フリーテキスト)を使って過去のエンリッチメントレコードを検索します。
RecordsGet Recordprompt ごとの完全なメトリクスを含む単一のenrichment結果を取得します。
FusionMerge Results複数のエンリッチメント結果を、必要に応じて別のLLMアービターで再マージします。
AttachmentsUpload Attachmentファイル(上流モジュールからバッファとしてマッピングされたもの、例:HTTP ▸ Get a File)をアップロードし、Enrich Entity で使用するアタッチメント ID を返します。
AttachmentsDelete AttachmentIDでattachmentを削除します。enrichment後の便利なクリーンアップ手順です。
ConfigurationGet Options利用可能なモデル、言語、ストラテジー、および組織のプラン上限。

マルチエンティティワークフロー:イテレーターパターン

Make シナリオは操作単位で課金されます。Make アプリは n8n コネクタの Batch Enrich モジュールを移植する代わりに、Make 組み込みの Iterator + Enrich Entity を使用します。各反復は独立しており、障害が連鎖せず、課金は処理された内容を正確に反映します。

[trigger: array of entities]
[Make: Iterator] (splits into N bundles)
[this app: Enrich Entity] (one operation per entity)
[Make: Aggregator] (recombines, optionally with skip-on-error)
[downstream: upsert to CRM / database]

主な特徴

40 言語での多言語対応

1回の Enrich Entity 呼び出しで、選択したすべての言語における多言語プロパティをすべて設定します。N回の順次往復ではなく、1回のLLMパスで生成されます。任意の言語を直接マッピングできます:{{result.names.primary.fr}}。

ワンコール・エンリッチメント

専用の POST /api/single/enrich/sync エンドポイントが、サーバー側でストリーミングフローをラップします。1つのMake操作=1つのバンドル。ポーリングも、2モジュール構成も不要です。

動的ドロップダウン(RPC)

7つの RPC が設定時にスキーマ、モデル、言語、戦略、分類/アービトレーションモデル、Web検索オプションを取得します。ピン留めされたスキーマが最初に表示され、モデルのラベルには料金が含まれます。

マルチモデル自動フュージョン

2つ以上のモデルを選択すると、結果は自動的にフュージョンされます。出力バンドルには is_fused、source_models[]、および fusion: {agreed_fields, conflicted_fields, total_fields} のサマリーが含まれます。

事前 classification

任意の安価な分類モデルが、エンリッチメントの実行前にエンティティがスキーマの期待する型と一致するかを検証します。不一致の場合は、幻覚されたデータではなく型付きのDataErrorが生成されます。

プラン上限とクレジットの認識

HTTP 402エラー(プランの上限またはクレジット不足)は、型付きのMake OutOfMoneyErrorになります。メッセージには、バックエンドの人間が読める詳細(クレジットが尽きた場合は課金チャージ用URLを含む)と機械可読なコードが反映されます。シナリオのエラーハンドラーでコードに応じて分岐し、人間に警告したり、より安価なモデルにフォールバックしたり、一時停止したりできます。

Web検索ドロップダウンのロック

Web検索のドロップダウンはparameters.modelsを読み取り、選択されたモデルのいずれもsupports_web_searchを宣言していない場合は無効になります。

batchモジュールなし

Make シナリオは操作単位で課金されます。複数エンティティのワークフローは Make 組み込みの Iterator + Enrich Entity を使用し、エンティティごとのきめ細かなエラー処理と正確な課金を実現します。

設定可能なタイムアウト

呼び出しごとのデフォルトのタイムアウトは300秒で、範囲は[10, 900]です。ジョブが時間内に完了しない場合、サーバー側で自動的にキャンセルされ、型付きのConnectionErrorが返されます。

エラーコントラクト

バックエンドが返し得るすべてのステータスは、型付きのMakeエラーにマッピングされるため、シナリオのエラーハンドラーは文字列を解析するのではなく、失敗モードに応じて分岐できます。

Make シナリオ:OutOfMoneyError で分岐するエラーハンドラー
HTTPMake のエラータイプ発火するタイミング
400DataErrorスキーマが見つからない、検索キーが不足している、モデルまたは言語が無効です。
401InvalidCredentialsAPI キーが正しくないか、指定されていません。
402OutOfMoneyErrorプラン上限の超過またはクレジット不足です。メッセージ = body.detail.detail(人間が読める形式で、insufficient_credits の場合はチャージ用URLを含みます)+ body.detail.code(機械可読)。code で分岐します: insufficient_credits、model_limit_exceeded、language_limit_exceeded、concurrent_job_limit_reached、daily/weekly/monthly_prompt_limit_exceeded。
403AccessDeniedErrorロールまたはスコープが不足しています。
404InvalidConfigurationErrorスキーマまたはレコードが見つかりません。
422DataErrorclassification警告。body.detail.classification には status、reasoning、confidence、entity_description が含まれます。
429RateLimitErrorプロバイダーのレート制限(一時的)。
499RuntimeErrorジョブがキャンセルされました。
502ConnectionErrorアップストリームのLLMプロバイダーエラー(例: コンテキストオーバーフロー)。
504ConnectionErrortimeout_seconds が経過したため、ジョブはサーバー側で自動的にキャンセルされました。

ワークフローのアイデア

CRMエンリッチメント新しいHubSpot/Salesforceの連絡先でトリガーし、会社データでエンリッチして、CRMレコードを更新します。
スプレッドシートパイプラインGoogle Sheetsからエンティティを読み込み、Iterator + Enrich Entityで処理し、結果を新しいシートに書き戻します。
条件付き再アービトレーションまずルールベースのフュージョンを実行します。conflicted_fields > 5 の場合は、コストのかかるエンリッチメントを再実行することなく、Merge Results経由でLLMアービターと再マージします。
プラン上限ルーティングOutOfMoneyError が発生した場合は、Slack で担当者に通知し、クォータのウィンドウがリセットされるまでシナリオを一時停止します。
スケジュールされた更新cronスケジュール(Make Scheduleトリガー)で実行し、古くなったレコードを最新のモデルで再エンリッチします。

次のステップ