Sanka

AIリード評価エージェントを構築する

インバウンドリードを自動評価し、ICP適合度でスコアリングして適切な担当者へ渡すAIリード評価エージェントを構築します。ChatGPT/Codex、Claude、Cursor、MCP、Python SDKに対応します。

インバウンドリードの山は、件数だけを見ると問題が小さく見えます。ですが実際には、最初の確認までに時間がかかることで、良いリードも悪いリードも同じように営業工数を消費します。InsideSalesの「2018 State of Sales Development」では、SDRは1アカウントあたり平均19.0分を調査に使っていると回答しており、HubSpotの2024 Sales Trends Reportでは、営業担当者が実際の販売活動に使えている時間は1日あたり約2時間だと示されています。手作業で評価している限り、優先順位づけは遅れやすいです。(InsideSales, 2018, HubSpot, 2024) AIリード評価エージェントを入れると、この最初の判断を早められます。新規リードの取り込み、会社情報の補完、ICP適合度のスコアリング、案件化、担当者への引き継ぎまでを1つの流れで処理できます。私自身、SMBからグローバル企業まで成長支援とプロダクト実装に関わる中で、最初に効果が出やすい自動化はダッシュボード追加ではなく、誰に今すぐ対応すべきかを数分で判断できる仕組みだと感じています。

この記事で作るもの

この記事では、インバウンドリードを受け取ってから、エンリッチメント、スコアリング、案件化、担当者ルーティングまで進める流れを作ります。 評価前のリードコンタクト AIスコアリング後の評価済み取引 できあがる仕組みは、次の5つを実行します。
  1. フォームやCRM登録から新規リードを取り込みます。
  2. メールドメインなどを使って会社情報を補完します。
  3. ICP基準に沿ってリードをスコアリングします。
  4. 条件を満たしたリードだけを取引として作成します。
  5. 次に対応すべき担当者へ、理由付きで引き継ぎます。
セットアップの目安は、AIアシスタント連携なら0分、MCPなら5分、Python SDKなら15分です。

オプション A: ChatGPT/Codex、Claude、Cursorから使う(0分)

まずはコードを書かずに試したい場合に向いています。

1. 接続を一度だけ済ませます

スタートガイドを見ながら、AIアシスタントやプラグインからSankaへ接続します。接続手順は他の記事と共通なので、このページではセットアップ詳細ではなく、リード評価の使い方に絞ります。

2. リード評価の依頼を貼り付けます

たとえば次のように依頼できます。
mia.park@northwindretail.com から新規リードが来ました。コンタクトを作成し、会社情報を補完し、ICPに沿ってスコアリングしてください。スコアが高ければ取引を作成し、なぜ優先対応すべきかも教えてください。ICPは、B2B企業、従業員50〜500名、北米または日本、リード対応やルーティングに課題がある会社です。

3. 返ってくる結果を確認します

返却内容の見どころは次の通りです。
  • コンタクトと会社レコードが作成されていること
  • 会社情報の補完結果があること
  • スコアと理由がセットで返ること
  • 条件に応じて取引が作成されること
  • 次アクションが営業担当者に伝わること
デモ:AIアシスタントによるリード評価 まずはこの方法で、どの条件なら案件化されるかを業務側とすり合わせるのがおすすめです。

オプション B: IDEからMCPで構築する(5分)

Cursor、Claude Code、その他のMCPクライアントから、再利用しやすい形で実行したいチーム向けです。

1. SankaをMCPで接続します

接続の流れはスタートガイドを確認してください。そのうえで、開発者向けクイックスタートからAPIキーを発行し、MCP設定を行います。 SankaでのAPIトークン設定

2. IDEのAIにやりたいことを伝えます

次のような指示を使えます。
テキスト
Sanka上でリード評価フローを作成してください。

要件:
1. 入力はリードのメールアドレス
2. コンタクトを作成または更新する
3. ドメインから会社情報を補完する
4. 次のICPでスコアリングする
   - 業種: B2B SaaS、物流、ヘルスケア、業務サービス
   - 従業員数: 50〜500名
   - 地域: 北米または日本
   - シグナル: 比較検討中、または業務変更の必要がある
5. スコア70以上なら高優先度で取引を作成する
6. スコア50〜69なら通常優先度で取引を作成する
7. スコア50未満ならコンタクトのみ残す
8. スコア、理由、次アクションを返す

3. 出力の型を確認します

最低限、次の情報が揃っていると現場で使いやすいです。
確認項目見たい内容
会社情報の補完業種、規模、地域、検討背景が入っていること
ICPスコア点数だけでなく、理由も短く説明されていること
取引作成条件を満たすリードだけが案件化されること
ルーティング担当者がすぐ対応判断できるメモが付くこと

オプション C: Python SDKで構築する(15分)

ロジックをコード管理したい場合や、フォーム連携・Webhook連携まで含めて運用したい場合はこちらが向いています。

1. SDKをインストールします

Python
pip install sanka-sdk

2. 評価関数を実装します

Python
from sanka import Sanka

client = Sanka(api_key="sk_...")

def qualify_lead(email: str, icp_criteria: dict) -> dict:
    domain = email.split("@")[1]

    contact = client.contacts.create({
        "email": email,
        "source": "inbound_form"
    })

    enrichment = client.ai.enrich({
        "type": "company",
        "domain": domain
    })

    company_data = enrichment.get("data", {})

    score_result = client.ai.score({
        "type": "company",
        "record_id": contact.get("company_id"),
        "criteria": icp_criteria
    })

    score = score_result.get("score", 0)
    reasons = score_result.get("reasons", [])

    result = {
        "contact_id": contact.get("id"),
        "email": email,
        "company": company_data.get("name"),
        "enrichment": company_data,
        "score": score,
        "reasons": reasons,
    }

    if score >= 70:
        deal = client.deals.create({
            "name": f"{company_data.get('name', domain)} - Inbound Evaluation",
            "contact_id": contact.get("id"),
            "stage": "qualification",
            "priority": "high",
            "source": "inbound_form",
            "score": score,
        })
        result["deal_id"] = deal.get("id")
        result["action"] = "deal_created_high_priority"
    elif score >= 50:
        deal = client.deals.create({
            "name": f"{company_data.get('name', domain)} - Nurture Review",
            "contact_id": contact.get("id"),
            "stage": "qualification",
            "priority": "medium",
            "source": "inbound_form",
            "score": score,
        })
        result["deal_id"] = deal.get("id")
        result["action"] = "deal_created_medium_priority"
    else:
        result["action"] = "contact_saved_no_deal"

    return result

3. フォームやWebhookとつなぎます

インバウンドフォーム、チャットボット、または別のトリガーから、この評価関数を呼び出すようにします。
Python
from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route("/webhook/lead", methods=["POST"])
def handle_lead():
    data = request.json or {}
    email = data.get("email")

    if not email:
        return jsonify({"error": "email required"}), 400

    icp = {
        "industries": ["B2B SaaS", "Technology", "Healthcare", "Logistics"],
        "employee_range": [50, 500],
        "regions": ["North America", "Japan"],
        "min_funding_stage": "Series A",
    }

    result = qualify_lead(email, icp)
    return jsonify(result)

スコア設計の基本

最初のバージョンは、シンプルで説明しやすい基準から始めるのが安全です。
シグナルルール例重み
会社の適合度業種と従業員規模がICPに合っている35%
地域適合対象市場で事業をしている15%
課題の切迫度対応遅延、ルーティング漏れ、手作業の課題がある25%
検討の進み具合比較検討中、または導入時期が見えている25%

期待できる効果

重要なのは、より多くのリードを触ることではありません。営業が今触るべきリードに、早く集中できることです。
指標導入前導入後
初回評価までの時間数時間〜翌営業日数分
1件あたりの事前調査10〜20分一次判定はほぼ自動
担当引き継ぎ時の情報量メモが不十分スコア、理由、次アクションが揃う
低適合リードへの工数流出多いルールで抑えやすい

次のステップ

参考リンク

最短で試すならスタートガイドから始めてください。MCPやSDKで実装する場合は、先にAPIキーを発行しておくと進めやすいです。