レシピ
リードエンリッチメント
構造化抽出で企業ウェブサイトから CRM リードをエンリッチする
会社 URL のリスト(CRM、サインアップフォーム、または手動アップロード)から、構造化されたファーモグラフィックデータ —— 業種、従業員数、技術スタック、コンタクトチャネル —— を抽出し、リードレコードに書き戻します。
スキーマ
{
"type": "object",
"properties": {
"companyName": { "type": "string" },
"industry": { "type": "string", "description": "Primary industry from the homepage / about page" },
"employeeCount": { "type": "string", "description": "Headcount band, e.g. '11-50'" },
"headquarters": { "type": "string", "description": "City, country" },
"contactEmail": { "type": "string" },
"linkedinUrl": { "type": "string" }
},
"required": ["companyName"]
}実装
import httpx
API = "https://openapi.thunderbit.com/openapi/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}
leads = [
{"id": "lead_1", "url": "https://acme.com"},
{"id": "lead_2", "url": "https://stripe.com"},
]
job = httpx.post(f"{API}/batch/extract",
headers=H,
json={"urls": [l["url"] for l in leads],
"schema": SCHEMA,
"webhook": {"url": "https://your-server.com/webhook/leads",
"secret": "whsec_..."}}).json()Webhook が発火したら、results[].url をリード ID に紐付け直し、構造化フィールドを CRM に書き込みます。
ヒント
requiredは最小限に保ちましょう —— 多くの中小企業サイトには全フィールドが揃っていません- 「ベストエフォート」パスを追加しましょう:
contactEmailが欠落している場合は、/contactページも Distill しましょう - ドメイン単位でキャッシュしましょう —— 同じドメインを毎月再エンリッチすれば通常は十分です
関連
このレシピは現在 CRM 連携パターン(HubSpot / Salesforce)を追加して拡張中です —— 近日中にご確認ください。