通话只是手段,客户才是资产:聊聊 Voicelen 里的客户是怎么被管理的
通话只是手段,客户才是资产:聊聊 Voicelen 里的客户是怎么被管理的
上一篇讲了 Voicelen 的整体架构 — 一通电话怎么从进来到落库,中间被哪些角色处理。有读者留言说:”你把电话讲清楚了,那电话背后的人呢?”
这篇就讲电话背后的人 — 客户。
做呼叫中心做到最后,大家会有一个共同的感受:通话只是手段,客户才是资产。一通电话结束了,如果客户信息没沉淀下来,那这通电话就白打了。反过来,如果客户信息沉淀得好,哪怕他这次没成交,下一次某个同事翻到他的档案,能立刻接着上次的对话继续 — 那就叫资产。
Voicelen 里的客户模块,前后重构过三次。今天把最新这一版拆开讲讲,它包含哪些能力、为什么这么设计、我踩过哪些坑。

客户是从哪儿来的
Voicelen 里客户进入系统的入口有三个:
手工录入。 一个客户一个客户地加,适合零星补录。表单很朴素:号码、姓名、以及一堆企业自定义的扩展字段(职业、来源渠道、上次沟通对象…)。扩展字段是完全动态的 — 企业在设置里配置想要哪些字段,前端会自动生成对应的表单项。
批量导入。 从 Excel 里粘一大堆号码进来,一次几万条。这个入口用得最多,常见于市场部门拿到一批新线索,交给客服团队跟进。
通话中自动创建。 有一个陌生号码打进来了,系统之前没见过这个人 — 那就顺手给他建一条档案,姓名先填”未知客户”,通话结束之后由座席补全。这样避免了”通话结束了才想起来这号码还没入库”的尴尬。
三个入口都会做同一件事:校验号码格式 + 查重 + 脱敏加密。
号码格式很好理解 — 不合法的号码直接拒绝。查重是按”企业 + 号码”这个组合来判定的,一家企业里同一个号码只允许有一条客户档案。至于脱敏加密,值得单独讲。
脱敏这件事
隐私保护现在是硬要求。客户的手机号如果全员可见、可复制、可导出,一旦有员工把整张表拷贝走,那就是一场事故。
Voicelen 的做法是把”看号码”这个动作拆成两件事:
一是显示脱敏。 前端拿到的号码默认是 138****8000 这样的形式。中间四位星号,谁都看不到。除非这个员工被显式授予了”查看完整号码”的权限,否则他从头到尾看不到真号码。
二是拨号加密。 但客服总要打电话吧?打电话需要真号码,可员工又不该看到真号码,怎么办?
我们的做法是:后端返回给前端的除了脱敏号码,还有一个”加密令牌” — 22 个字符的乱码字符串。这个令牌是用企业自己的密钥加密出来的,只有 Voicelen 后端能解开。员工点”拨号”按钮的时候,前端把令牌发给后端,后端解出真号码,直接发起呼叫。
整个过程里,员工的浏览器/手机里从没出现过完整的号码。他能打电话,但他复制不走号码。
这个设计的关键在于密钥是企业级的,每家企业一把密钥,企业管理员可以在设置里旋转密钥 — 就像密码定期更换一样。哪怕数据库被扒走了,不知道密钥也解不开。

客户档案里存了什么
一个客户档案除了基础的号码和姓名,还有几组冗余字段:
累计通话次数
最近一次通话时间
累计质检评分
跟进状态(待跟进 / 跟进中 / 已成交 / 已流失)
归属客服
上次通话备忘(AI 生成的一段话,几十字概括最近一次通话)
这些字段严格来说都可以从其它表里算出来 — 通话次数就是 count(*) 通话记录、评分平均可以现算。但我把它们冗余到客户表里,是因为列表页要按这些字段排序和筛选。
比如”最近 30 天没通过话、评分平均 3 分以下的客户”,如果每次都去联表算,几万个客户的列表页会卡到没法看。冗余进来之后,一个索引就能搞定。
冗余字段的更新时机是我犹豫最久的地方。最后的做法是:顺手更新,不新建同步进程。计费的进程扣完费之后,顺手把通话次数 +1;质检的进程算完分之后,顺手把评分累加进去。历史数据不回填 — 从现在开始,新通话/新质检发生了自然会累积,老的数据保持它原来的样子。
这个选择的代价是:某个客户在你启用 Voicelen 之前已经通过 100 次电话,你在新系统里看到他”通话次数 0”。但换来的好处是,不需要一个专门的定时任务扫全表,不会有”某个通话漏统计了”的诡异 bug。
上次通话备忘 — 让客户”活”起来
刚才提到的”上次通话备忘”值得单独说说。
这是 Voicelen 里我最喜欢的一个小功能。它的作用是:当一个客服打开某个客户档案准备打电话之前,能一眼看到上次和他聊了什么。不是听录音、不是翻文字对话,而是一段几十字的话,类似:
“客户对我们的年费套餐有兴趣,预算在 2000 元以内,希望周五前给他打回访。上次通话情绪偏正面。”
这段话是通话结束后,由 AI 基于对话内容自动生成的。它有一个”过期时间” — 默认 30 天没通话就自动清零,避免展示的是几个月前的过时信息。
这个功能上线之后,客服的反馈是:再也不用听录音了。以前打回访,尤其是接手别人客户的时候,得先花五分钟听录音回忆一下上次聊了啥。现在瞄一眼备忘就行。
标签
除了固定字段,客户身上还挂标签。
Voicelen 的标签分两层:
系统标签 — 内置的,主要用来标客户意向:强意向、弱意向、无意向、待确认。这一组标签是由 AI 质检模块自动打上去的,每次通话结束、意向变化了,标签跟着换。
自定义标签 — 企业自己建的,想标什么标什么。常见的有”VIP 客户””价格敏感””竞品用户””老带新”。这一组标签是可以由 AI 自动打的 — 但不是随便打,而是必须命中”企业已经建好的自定义标签”。这里我特意做了一个限制:AI 不会自动创建新标签。
为什么?因为一旦让 AI 随便建标签,一个月之后你会发现企业里冒出来上百个五花八门的标签 — “对活动感兴趣的用户””想了解优惠的用户””想问价格的用户” — 语义高度重叠,谁也不知道该用哪个。所以 Voicelen 强制:标签体系由人定义,AI 只在既定体系里做选择。
跟进记录
跟进记录是挂在客户身上的一系列时间线事件:某年某月某日,谁,做了什么,备注什么。
跟进记录分两种来源:
手动跟进 — 客服自己填的。通话结束了,点”跟进”,写一段话。
自动跟进 — AI 生成的。质检模块判断这通电话应该有一个跟进事项之后,自动生成一条,标记为”AI 生成”。
界面上两种颜色区分。这样客服打开客户档案能一眼看清:哪些是我自己录的,哪些是系统帮我录的。系统录的可以覆盖,可以修改,但保留原始版本可查。
归属
客户模块里最难做的一部分,是归属。
Voicelen 里的客户有一个字段叫”归属客服”。这个字段决定了:这个客户是我的、还是别人的、还是公海里没人认领的。
一个客户可以处于三种状态:
私海 — 已经有明确的归属客服。这个客服可以看到 TA、跟进 TA、打电话给 TA。其他客服看不到 TA。
公海 — 没有归属。所有客服都能看到,谁都可以”领取”,领了之后就变成 TA 的私海客户。
归属流转 — 客户可以从一个客服的私海转到另一个客服的私海(比如主管做团队调整),也可以主动放回公海。
看上去简单,但一个真实的问题是:如果一个客服把客户领了却不跟进,怎么办?
我见过太多这种情况 — 客服一次领 500 个客户,领完就不管了,别人也看不到、也没法跟进,资源就烂在他手里。
Voicelen 的做法是设了两条超时红线:
第一条:首次跟进超时。 客服领取客户之后,必须在 N 小时内至少打一通电话或写一条跟进(N 由企业设置,默认 24 小时)。超时了,系统自动把这个客户放回公海,谁都可以再领。
第二条:长期无跟进回收。 客户已经跟了一段时间,但最近 N 天没任何动静(默认 30 天),也自动放回公海。
两条红线执行时都会写一条流水到”客户归属日志”表 — 记录谁在什么时候把客户领走了、什么时候被系统回收了、什么时候被主管手工转给了别人。这条流水非常关键:出了纠纷(比如两个客服都说某个客户是自己的),翻日志就有真相。
黑名单
最后讲一下黑名单,这是客户模块的反面。
黑名单里放的是”不要再联系这个号码”的号码。来源有三种:
手工添加 — 客服接到骚扰后,把号码拉黑
客户主动要求 — 客户在通话中明确说”以后别打了”,系统自动加入
投诉记录 — 收到 12321 之类的投诉,合规团队批量加入
黑名单可以按方向配置:只挡呼入、只挡呼出、双向都挡。举个例子,某个客户是我们的老客户,还会打电话进来找我们,但企业已经决定不再外呼推销他 — 那这个号码就只加”呼出黑名单”。
命中黑名单的时候会记录一条拦截日志:什么时候被拦的、拦了多少次。这个统计对合规审计很重要 — 能证明”这个号码进入黑名单之后,我们再也没打过他”。
黑名单在 Voicelen 里覆盖了 6 个通话入口 — 手工外呼、批量外呼、AI 外呼、客户呼入、开放接口拨号、队列自动分配 — 无一遗漏。这是我特意花时间抠的地方,因为只要有一个入口漏了,黑名单形同虚设。
导出
上一篇提到过,呼叫中心里到处都是”我要一份 Excel”的需求。客户导出是这些需求里最频繁的。
Voicelen 里客户导出是一个异步任务:你在筛选条件下点”导出”,系统立刻返回任务号,后台慢慢生成。生成期间你可以继续做别的事。导出好了在”我的导出”页面下载。
导出的字段是可配置的 — 你想导哪些字段就勾哪些。但有一个字段永远不会全量导出:手机号。导出的默认是脱敏号码。如果你有”导出完整号码”的权限,可以勾选加密令牌一起导出 — 但那个令牌离开 Voicelen 就是一段乱码,别人拿到也没用。
单个任务硬上限 5 万行。超过就报错,让你缩小筛选。这是刻意划的红线 — 一次导 10 万条客户是骚扰营销的典型行为,产品不鼓励。
写在最后
Voicelen 的客户模块,从表面看是个 CRUD — 客户表、跟进表、标签表、黑名单表。但深挖下去,你会发现它其实是一套围绕客户资产的运营体系:
隐私保护决定了客户敢不敢留信息
冗余字段决定了列表页能不能用
归属流转决定了客户会不会烂在某个人手里
备忘和跟进决定了客服能不能高效对话
黑名单和权限决定了企业会不会因为某个员工翻车
每一条都不是技术问题,是产品问题。而这些产品问题,又不是拍脑袋能定的,只能在真实场景里被客户捶出来。Voicelen 走到今天这一版,基本上每个字段背后都有一个”某家企业问我们能不能加这个”的故事。
如果你在做类似的东西、或者正在选型呼叫中心系统,希望这两篇文章能给你一些参考。
下次再聊。
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: