OpenClaw AI によるセールス パイプラインの自動化
営業チームが実際に販売に費やすのは時間の 35% だけです。残りの作業は、CRM データ入力、電子メールによるフォローアップ シーケンス、提案書の準備、予測の更新、および見込み客の調査に当てられます。これらは必要な作業ではありますが、営業担当者だけが行うことができる熟練した会話、関係構築、複雑な交渉ではありません。営業担当者が管理業務に費やす 1 時間は、収益を得るために費やされない 1 時間です。
OpenClaw AI エージェントは、販売プロセスの管理層と調整層をエンドツーエンドで処理します。彼らは、インバウンドの見込み客を特定し、見込み客を調査し、フォローアップ手順を維持し、最初の提案書を作成し、会話メモから CRM データを更新し、統計的厳密さで予測し、リスクにさらされている取引について営業マネージャーに警告します。営業マンは会話に集中します。エージェントはこれらの会話に関するすべてを処理します。
重要なポイント
- OpenClaw の見込み客評価エージェントは、リアルタイムでインバウンド見込み客をスコアリングして優先順位を付け、営業担当者が最も可能性の高い商談に最初に集中できるようにします。
- 見込み客リサーチ エージェントは、アウトバウンド アウトリーチを開始する前に、包括的な企業と連絡先のプロファイルを自動的に作成します。
- フォローアップ シーケンス エージェントは、電子メール、電話リマインダー、LinkedIn 全体でマルチタッチのリズムを維持し、見込み顧客が応答すると自動的に一時停止します。
- 提案エージェントは、テンプレートにフォーマットされた通話メモと CRM データから 5 分以内に最初の提案を生成します。
- CRM 衛生担当者は、通話メモと会議の概要を解析して、商談フィールド、次のステップ、ステージングを自動的に更新します。
- 予測エージェントは統計モデルをパイプラインに適用し、シナリオ分析により確率加重収益予測を生成します。
- リスク警告エージェントは、取引が停滞する兆候を示した場合にマネージャーに通知します。四半期末に驚くことはもうありません。
- ECOSIRE は、Salesforce、HubSpot、Odoo CRM、Pipedrive と統合された OpenClaw 販売自動化を構築します。
セールスオートメーションアーキテクチャ
OpenClaw の販売スタックは、リードから取引成立までのファネル全体をカバーします。
Inbound Lead / SDR Prospect
↓
[ Qualification Agent ] — ICP fit score, intent signals, company profile
↓
[ Research Agent ] — full company + contact profile, recent news, pain signals
↓
[ Outreach Agent ] — multi-touch sequence management, pause on response
↓
[ Conversation Support Agent ] — pre-call brief, post-call note parsing, CRM update
↓
[ Proposal Agent ] — first-draft proposal from requirements, formatted to template
↓
[ Pipeline Intelligence Agent ] — forecast, risk alerts, deal health scoring
各エージェントは個別に展開できます。ほとんどの組織は、CRM の衛生管理とフォローアップのシーケンス管理 (最大の時間節約、最小のリスク) から開始し、信頼性が高まるにつれて資格スコアリングと提案の生成を追加します。
リード適格性評価エージェント: 最も価値の高い機会を優先する
インバウンド見込み客の質は大きく異なります。適格性評価エージェントは、送信後数分以内に理想顧客プロファイル (ICP) に照らしてすべての新規リードをスコアリングするため、営業担当者は最初に最適なリードから作業を行います。
ICP スコアリング要素は営業リーダーによって定義され、エージェントの設定にエンコードされます。
{
"icpCriteria": {
"companySize": {
"weight": 0.20,
"tiers": [
{ "range": [500, 5000], "score": 1.0 },
{ "range": [100, 500], "score": 0.8 },
{ "range": [5000, 999999], "score": 0.6 },
{ "range": [0, 100], "score": 0.3 }
]
},
"industry": {
"weight": 0.25,
"targetIndustries": ["manufacturing", "distribution", "retail"],
"avoidIndustries": ["government", "nonprofit"]
},
"techStack": {
"weight": 0.15,
"positiveSignals": ["odoo", "sap", "quickbooks"],
"negativeSignals": ["competitor-a", "competitor-b"]
},
"intent": {
"weight": 0.25,
"signals": ["pricing-page-visit", "demo-request", "free-trial-signup"]
},
"geographicFit": {
"weight": 0.15,
"targetRegions": ["north-america", "western-europe", "middle-east"]
}
}
}
export const QualifyLead = defineSkill({
name: "qualify-lead",
tools: ["crm", "clearbit", "intent-data"],
async run({ input, tools }) {
const lead = input.lead;
// Enrich with firmographic data
const firmographic = await tools.clearbit.enrich({ email: lead.email, domain: lead.companyDomain });
// Get intent signals
const intent = await tools.intentData.getSignals({
domain: lead.companyDomain,
lookbackDays: 30,
topics: ["erp-software", "inventory-management", "accounting-software"],
});
// Score against ICP
const scores = {
companySize: scoreCompanySize(firmographic.employees, icp.companySize),
industry: scoreIndustry(firmographic.industry, icp.industry),
techStack: scoreTechStack(firmographic.tech, icp.techStack),
intent: scoreIntent(intent, lead.formSource, icp.intent),
geography: scoreGeography(firmographic.country, icp.geographicFit),
};
const weightedScore = Object.entries(scores).reduce((sum, [key, score]) => {
return sum + score * icp.icpCriteria[key].weight;
}, 0);
const tier = weightedScore >= 0.75 ? "A" : weightedScore >= 0.55 ? "B" : weightedScore >= 0.35 ? "C" : "D";
await tools.crm.updateLead(lead.id, {
icpScore: weightedScore,
icpTier: tier,
enrichedData: firmographic,
intentSignals: intent.topics,
});
// Route A and B leads to SDR immediately; C and D to nurture
if (tier === "A" || tier === "B") {
await tools.crm.assignToSdr(lead.id, { priority: tier === "A" ? "urgent" : "normal" });
}
return { leadId: lead.id, icpScore: weightedScore, tier, firmographic };
},
});
見込み客調査エージェント: 会話の前にインテリジェンスを
電話をかける前に、見込み顧客の最近の課題、成長軌道、技術スタック、主要な意思決定者、競合状況を理解している営業担当者は、何も考えずに営業する営業担当者よりも劇的に優れたパフォーマンスを発揮します。 Research Agent は、このインテリジェンス パッケージを自動的に構築します。
研究の構成要素:
- 会社概要: 規模、業界、収益範囲、所在地、ビジネスモデル、主要な製品/サービス。
- 最近のニュース: 過去 90 日間のプレス リリース、資金調達の発表、リーダーシップの変更、製品の発売、および顧客の獲得。
- テクノロジー スタック: 求人情報、Web サイト テクノロジーのフィンガープリンティング、およびインテント データから特定された現在のソフトウェア ツール。
- 主要な連絡先: 意思決定者とインフルエンサー、その役割、LinkedIn の活動、コンテンツへの最近の関与。
- ペインシグナルキーワード: 会社の最近のコンテンツ、求人情報、および関連する課題を示す LinkedIn の投稿に表示されるトピック。
- 競争環境: 見込み顧客が現在使用しているベンダー (技術スタックから)、および代替ベンダーを評価していることがわかっているかどうか (意図シグナルから)。
export const ResearchProspect = defineSkill({
name: "research-prospect",
tools: ["web-search", "linkedin", "clearbit", "intent-data", "llm"],
async run({ input, tools }) {
const [companyInfo, recentNews, techStack, contacts, intentSignals] = await Promise.all([
tools.clearbit.enrichCompany(input.domain),
tools.webSearch.search(`${input.companyName} news site:businesswire.com OR site:prnewswire.com`, { limit: 5, dateRange: "past-90-days" }),
tools.clearbit.getTech(input.domain),
tools.linkedin.getKeyContacts(input.companyName, { titles: ["CTO", "CFO", "CEO", "Head of Operations", "IT Director"] }),
tools.intentData.getSignals({ domain: input.domain, topics: input.relevantTopics }),
]);
// Synthesize into a brief
const brief = await tools.llm.generate({
prompt: buildResearchBriefPrompt({ companyInfo, recentNews, techStack, contacts, intentSignals }),
maxTokens: 800,
temperature: 0.2,
});
return { brief, companyInfo, recentNews, techStack, contacts, intentSignals };
},
});
調査概要は CRM オポチュニティに添付されており、電話をかける前に営業担当者のモバイル アプリからアクセスできます。
アウトリーチ シーケンス管理: 煩わしさのない持続性
マルチタッチのアウトリーチシーケンスには一貫性が必要ですが、人間が多数の見込み客に対して一貫性を維持するのは困難です。 Outreach Agent は、適切なタイミングで適切なメッセージを送信し、見込み客が関与したら一時停止し、応答パターンに基づいて再開またはエスカレーションするなど、シーケンスを確実に管理します。
export const ManageOutreachSequence = defineSkill({
name: "manage-outreach-sequence",
tools: ["email", "crm", "calendar"],
async run({ input, tools }) {
const sequence = getSequenceTemplate(input.sequenceType); // e.g., "cold-outbound-saas"
const step = sequence.steps[input.currentStep];
// Check if prospect has responded or booked a meeting
const hasResponded = await tools.email.hasReplied(input.threadId);
const hasMeetingBooked = await tools.crm.hasMeetingScheduled(input.prospectId);
if (hasResponded || hasMeetingBooked) {
await tools.crm.updateSequenceStatus(input.prospectId, "PAUSED_ENGAGED");
return { action: "SEQUENCE_PAUSED", reason: hasResponded ? "replied" : "meeting-booked" };
}
// Check if we are at a dead-end step
if (input.currentStep >= sequence.steps.length) {
await tools.crm.updateSequenceStatus(input.prospectId, "SEQUENCE_COMPLETE_NO_RESPONSE");
return { action: "SEQUENCE_COMPLETE" };
}
// Execute step
if (step.channel === "email") {
const draft = personalizeTemplate(step.template, {
prospect: input.prospect,
company: input.company,
researchBrief: input.researchBrief,
});
await tools.email.send({ to: input.prospect.email, subject: step.subject, body: draft, threadId: input.threadId });
} else if (step.channel === "phone-reminder") {
await tools.crm.createCallTask({
prospectId: input.prospectId,
assignedTo: input.ownerId,
dueDate: addBusinessDays(new Date(), step.delayDays),
notes: step.callGuide,
});
}
// Schedule next step
await tools.crm.scheduleNextSequenceStep(input.prospectId, {
step: input.currentStep + 1,
executeAt: addBusinessDays(new Date(), sequence.steps[input.currentStep + 1]?.delayDays ?? 3),
});
return { action: "STEP_EXECUTED", step: input.currentStep, channel: step.channel };
},
});
シーケンスのパフォーマンスは、シーケンス内の各電子メールの開封率、返信率、肯定的な返信率などのステップごとに追跡されます。パフォーマンスの低いステップには、コンテンツ改訂のフラグが立てられます。
提案書の作成: 5 分で初稿を作成
提案書を最初から作成すると、作成に何時間もかかります。提案エージェントは、通話メモ、CRM から抽出された要件、および標準の提案テンプレートから最初の草案を数分で生成します。
生成プロセス:
- CRM から案件のカスタム フィールド (問題点、要件、予算、タイムライン、関係者) を取得します。
- 商談の通話メモと会議の概要を取得します。
- LLM を使用して、メモから特定の要件と引用された課題を抽出します。
- 要件を製品/サービスの提供内容と価格にマッピングします。
- 提案セクションを生成します: エグゼクティブ サマリー、問題ステートメント、提案されたソリューション、価格設定、タイムライン、次のステップ。
- 提案テンプレートに一致する Word ドキュメントまたは Google ドキュメントとして出力をフォーマットします。
export const GenerateProposalDraft = defineSkill({
name: "generate-proposal-draft",
tools: ["crm", "document-generator", "llm"],
async run({ input, tools }) {
const [opportunity, callNotes, pricing] = await Promise.all([
tools.crm.getOpportunity(input.opportunityId),
tools.crm.getCallNotes(input.opportunityId),
tools.crm.getPricingConfiguration(input.products),
]);
const requirements = await tools.llm.extract({
content: callNotes.map(n => n.content).join("\n\n"),
schema: {
painPoints: z.array(z.string()),
specificRequirements: z.array(z.string()),
timeline: z.string().optional(),
budget: z.string().optional(),
decisionCriteria: z.array(z.string()),
},
});
const proposal = await tools.llm.generate({
prompt: buildProposalPrompt(opportunity, requirements, pricing),
maxTokens: 3000,
temperature: 0.3,
});
const document = await tools.documentGenerator.createFromTemplate({
template: "proposal-template-v3",
content: proposal,
metadata: { opportunity, generatedAt: new Date().toISOString() },
});
await tools.crm.attachDocument(input.opportunityId, document);
return { documentId: document.id, documentUrl: document.url };
},
});
予測インテリジェンス: 統計パイプラインの精度
営業マネージャーは長い間、パイプラインの直感的なレビューに頼っており、担当者に取引を「コミット」、「ベストケース」、または「アップサイド」に分類するよう依頼してきました。 OpenClaw の予測エージェントは、この主観的なプロセスを統計モデリングに置き換えます。
各機会は、以下に基づいて予測された勝利確率を受け取ります。
- 特定のビジネスの段階から段階へのコンバージョン率 (CRM の過去の機会データから計算)
- 同様の取引の過去の平均と比較した現在のステージの日数
- エンゲージメントシグナル(電子メール活動、会議の頻度、関係者の範囲)
- 平均と比較した取引サイズ (大規模な取引はより低いレートで成約)
- 競争力のある存在(競争力のある取引は成約率が低くなります)
このモデルは、計画をサポートするシナリオ分析 (保守的、基本的、楽観的) を使用して、週ごとに確率加重予測を生成します。
リスクアラート: 四半期終了前に停滞している取引を発見
リスク アラート エージェントはパイプラインを毎日監視し、四半期のサプライズを逃す前に警告の兆候を示している取引にフラグを立てます。
監視される警告信号:
- アクティブな段階の取引について、14 日以上ログインしたアクティビティがない
- 最後に予定されていた会議が再スケジュールされずに欠席された
- 意思決定のスケジュールは説明なしに逸れた
- 同じアカウントの別の関係者がアクティブな間、チャンピオンの連絡先が暗くなりました (メール アクティビティはありません)
- 最近の通話記録における競合他社の言及
- 取引は過去の平均時間の 2 倍以上同じステージにありました
export const MonitorDealRisk = defineSkill({
name: "monitor-deal-risk",
tools: ["crm"],
async run({ input, tools }) {
const openDeals = await tools.crm.getOpportunities({
stage: ["qualification", "demo", "proposal", "negotiation"],
closeDateBefore: addDays(new Date(), 90),
});
const atRisk = [];
for (const deal of openDeals) {
const risks = [];
const daysSinceActivity = daysSince(deal.lastActivityDate);
if (daysSinceActivity > 14) risks.push({ type: "NO_ACTIVITY", days: daysSinceActivity });
if (deal.daysInStage > deal.avgDaysInStage * 2) risks.push({ type: "STALLED", daysInStage: deal.daysInStage });
if (deal.competitorMentioned) risks.push({ type: "COMPETITIVE_THREAT" });
if (risks.length > 0) {
atRisk.push({ dealId: deal.id, dealName: deal.name, ownerId: deal.ownerId, risks, amount: deal.amount });
}
}
return { atRisk, checkedCount: openDeals.length };
},
});
リスク アラートは、取引所有者 (アクションの実行を促す) と営業マネージャー (パイプラインの健全性の可視化) の両方に送信されます。アラートには、フラグだけでなく、特定の警告信号が含まれます。
よくある質問
認定エージェントは、定義された ICP 以外の業界やユースケースをどのように処理しますか?
ICP 構成には、基本スコアを受け取る「その他」カテゴリが含まれています。定義された ICP の範囲外の取引は自動拒否されません。優先度スコアが低くなります。つまり、別のルーティング パス (フォローアップ ケイデンスが長く、AE ダイレクトではなく SDR) に入ります。営業リーダーは、しきい値を下回るスコアの取引をレビューし、モデルに適合していないことがわかった場合は、条件を満たす取引を手動でアップグレードできます。
アウトリーチ シーケンス エージェントは、コールド アウトバウンドとは異なる方法でウォーム インバウンド リードを処理できますか?
はい。配列テンプレートはリードソースに基づいて選択されます。デモリクエストからのインバウンドリードは、教育コンテンツではなく直接予約リンクから始まる温かいインバウンドシーケンスを受け取ります。アウトバウンドの見込み客は、価値と痛みの認識を伴うコールド シーケンスを受け取ります。コンテンツ ダウンロード リードは、コンテンツ トピックに合わせた育成シーケンスを受け取ります。シーケンスの選択は、リードの UTM ソースまたは CRM 起点フィールドに基づいて自動的に行われます。
通話中に手書きのメモをとる営業担当者にとって、CRM の衛生管理はどのように機能しますか?
CRM Hygiene Agent は、会議の文字起こしツール (Gong、Chorus、Fireflies、Otter) と統合されます。会議の記録は各通話後に自動的に処理されます。エージェントはアクション アイテム、次のステップ、関係者の言及、予算シグナル、タイムライン情報を抽出し、関連する CRM フィールドを更新します。独自のメモを希望する営業担当者は、エージェントがスケジュールに従って処理する CRM フィールドにメモを貼り付けることができます。
正確な予測を生成するには、予測モデルにどのようなデータが必要ですか?
予測モデルには、ステージ履歴、取引規模、業界、および営業担当者の情報を含む、少なくとも 12 か月分の成約済み商談データ (成約と失敗の両方) が必要です。より豊富なデータ (通話アクティビティ数、電子メール アクティビティ、関係者の関与) により、より正確なモデルが生成されます。 CRM 歴が 12 か月未満、または過去の成約取引が 200 件未満の企業の場合、モデルは業界ベンチマークをベースラインとして使用し、データが蓄積されるにつれて企業固有のデータに移行します。
プロポーザル エージェントは、さまざまな製品に対してさまざまな形式でプロポーザルを生成できますか?
はい。複数の提案テンプレートを構成でき、テンプレートは商談に含まれる製品と顧客セグメントに基づいて選択されます。複雑なエンタープライズ実装には、標準のサブスクリプション ライセンスとは異なるテンプレートが使用されます。テンプレートは Word または Google Slides 形式で定義され、マーケティングまたは営業運用チームによって管理されます。エージェントは、テンプレートの書式設定とブランドを維持しながら、可変コンテンツ セクションに入力します。
次のステップ
販売自動化を適切に実施すると、営業担当者が置き換えられるのではなく、営業担当者が強化されます。 OpenClaw エージェントは、調査、順序付け、CRM メンテナンス、提案書の作成を処理することで、営業チームがより有意義な会話を行い、より多くの取引を成立させるために必要な時間を取り戻します。
ECOSIRE の OpenClaw サービス には、CRM と統合されたパイプライン予測を通じて、ICP に合わせて調整されたリード適格性スコアリングに至るまで、完全な販売自動化の実装が含まれています。私たちのチームは、複雑で長い販売サイクルを持つ B2B SaaS 企業、エンタープライズ ソフトウェア ベンダー、サービス会社向けに販売自動化システムを構築してきました。
ECOSIRE に連絡 して、セールス オートメーションの要件について話し合い、OpenClaw がパイプラインの速度をどのように加速できるかを確認してください。
執筆者
ECOSIRE Research and Development Team
ECOSIREでエンタープライズグレードのデジタル製品を開発。Odoo統合、eコマース自動化、AI搭載ビジネスソリューションに関するインサイトを共有しています。
関連記事
AI-Powered Accounting Automation: What Works in 2026
Discover which AI accounting automation tools deliver real ROI in 2026, from bank reconciliation to predictive cash flow, with implementation strategies.
Payroll Processing: Setup, Compliance, and Automation
Complete payroll processing guide covering employee classification, federal and state withholding, payroll taxes, garnishments, automation platforms, and year-end W-2 compliance.
AI Agents for Business Automation: The 2026 Landscape
Explore how AI agents are transforming business automation in 2026, from multi-agent orchestration to practical deployment strategies for enterprise teams.