使用 OpenClaw AI 实现销售管道自动化
销售团队只花费 35% 的时间进行实际销售。其余的用于 CRM 数据输入、电子邮件后续序列、准备提案、更新预测和研究前景。这些都是必要的任务,但它们并不是销售人员唯一有资格完成的熟练对话、建立关系和复杂谈判。销售人员花在行政工作上的每一个小时,就相当于没有花在实现收入上的一个小时。
OpenClaw AI 代理负责端到端销售流程的管理和协调层。他们鉴定入站线索、研究前景、维护后续序列、生成初稿提案、更新对话笔记中的 CRM 数据、进行严格的统计预测,并提醒销售经理存在风险的交易。销售人员专注于对话。代理处理与这些对话相关的一切。
要点
- OpenClaw 的潜在客户资格代理实时对入站潜在客户进行评分并确定优先级,确保销售代表首先关注概率最高的机会。
- 前景研究代理在开始外展活动之前自动构建全面的公司和联系人资料。
- 后续序列代理在电子邮件、电话提醒和 LinkedIn 上保持多点触控节奏 — 当潜在客户响应时自动暂停。
- 提案代理会在五分钟内根据呼叫记录和 CRM 数据生成提案初稿,并将其格式化为您的模板。
- 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 };
},
});
前景研究代理:每次对话之前的情报
一位在通话前了解潜在客户最近面临的挑战、增长轨迹、技术堆栈、关键决策者和竞争环境的销售人员,其表现比盲目推销的销售人员要好得多。研究代理自动构建这个情报包。
研究组成部分:
- 公司概况:规模、行业、收入范围、地点、商业模式、主要产品/服务。
- 最新新闻:过去 90 天的新闻稿、融资公告、领导层变动、产品发布和客户赢得。
- 技术堆栈:从职位发布、网站技术指纹识别和意图数据中识别出的当前软件工具。
- 主要联系人:决策者和影响者及其角色、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 商机上,可在通话前通过销售代表的移动应用程序进行访问。
外展顺序管理:坚持无烦恼
多点触控外展序列需要一致性,而人类发现很难在大量潜在客户中保持一致性。外展代理可靠地管理序列:在正确的时间发送正确的消息,在潜在客户参与时暂停,并根据响应模式恢复或升级。
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 };
},
});
序列性能按步骤进行跟踪:序列中每封电子邮件的打开率、回复率和肯定回复率。低绩效步骤将被标记以进行内容修订。
提案生成:五分钟内形成初稿
从头开始写提案需要几个小时的时间。提案代理会在几分钟内根据呼叫记录、从 CRM 中提取的要求以及标准提案模板生成初稿。
生成过程:
- 从 CRM 中提取机会的自定义字段(痛点、要求、预算、时间表、利益相关者)。
- 检索机会的通话记录和会议摘要。
- 使用法学硕士从笔记中提取具体要求并引用挑战。
- 将要求映射到您的产品/服务产品和定价。
- 生成提案部分:执行摘要、问题陈述、建议的解决方案、定价、时间表、后续步骤。
- 将输出格式化为与您的提案模板匹配的 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 天没有记录任何活动
- 错过了上次预定的会议而没有重新安排
- 决策时间推迟且没有任何解释
- 冠军联系人关闭(没有电子邮件活动),而同一帐户的另一个利益相关者处于活动状态
- 最近的电话会议记录中提到了竞争性内容
- 交易处于同一阶段的时间是历史平均时间的两倍以上
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 之外的交易不会被自动拒绝,它们会获得较低的优先级分数,这意味着它们会进入不同的路由路径(较长的后续节奏、SDR 而不是 AE-direct)。销售领导层可以审查得分低于阈值的交易,并在发现模型未匹配的情况下手动升级符合条件的交易。
外展序列代理能否以不同的方式处理热入站潜在客户和冷出站潜在客户?
是的。序列模板是根据潜在客户来源选择的。来自演示请求的入站潜在客户会收到热情的入站序列,该序列以直接预订链接而不是教育内容开始。外向潜在客户会收到冷序列,其中包含价值和痛苦确认。内容下载线索会收到与内容主题一致的培育序列。序列选择是根据潜在客户的 UTM 来源或 CRM 来源字段自动进行的。
对于在通话期间手写笔记的代表来说,CRM 卫生如何发挥作用?
CRM Hygiene Agent 与您的会议转录工具(Gong、Chorus、Fireflies、Otter)集成。每次通话后,会议记录都会自动处理——代理提取行动项目、后续步骤、利益相关者提及、预算信号和时间表信息,并更新相关的 CRM 字段。对于喜欢自己注释的代表,他们可以将注释粘贴到客服人员按计划处理的 CRM 字段中。
预测模型需要哪些数据才能产生准确的预测?
预测模型需要至少 12 个月的已结束机会数据(赢的和输的)以及阶段历史记录、交易规模、行业和销售代表信息。更丰富的数据(通话活动计数、电子邮件活动、利益相关者参与度)可产生更准确的模型。对于 CRM 历史记录少于 12 个月或历史成交交易少于 200 笔的公司,该模型使用行业基准作为基准,并随着积累而过渡到公司特定的数据。
提案代理能否针对不同产品生成不同格式的提案?
是的。可以配置多个提案模板,并根据机会包含的产品和客户群来选择模板。复杂的企业实施采用与标准订阅许可证不同的模板。模板以 Word 或 Google 幻灯片格式定义,并由您的营销或销售运营团队维护。代理填充可变内容部分,同时保留模板的格式和品牌。
后续步骤
正确的销售自动化可以增强销售人员的能力,而不是取代他们。通过处理研究、排序、CRM 维护和提案起草,OpenClaw 代理为您的销售团队提供了进行更有意义的对话并达成更多交易所需的时间。
ECOSIRE 的 OpenClaw 服务 包括全面的销售自动化实施 — 从根据 ICP 校准的潜在客户资格评分,到与 CRM 集成的渠道预测。我们的团队为销售周期复杂、较长的 B2B SaaS 公司、企业软件供应商和服务公司构建了销售自动化系统。
联系 ECOSIRE 讨论您的销售自动化需求并了解 OpenClaw 如何加快您的管道速度。
作者
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.