MCP

用 AI 做 Telegram 的 CRM 数据录入:通过 MCP 自动填充字段与标签

Matias, Author of Entergram Blog
Matias Jul 28, 2026 14 分钟阅读
通过 MCP 用 AI 自动填充 Telegram CRM 字段的封面图

那个永远是空的 CRM 字段

凡是在 Telegram 上做销售或客服的团队,最后都会遇到同一个形状的问题。你搭好一套 Telegram CRM,设计了一组看起来很合理的字段——阶段、优先级、成交金额、语言、来源——大概有两周时间,所有人都认真填写。然后某个忙碌的周二到来,四十个新会话涌进来,从那以后再没有人更新过任何东西。半年后,你有 1400 个会话,而字段有 80% 是空的。

问题不在字段本身。没有人愿意打开一个会话,往回翻 200 条消息,弄明白这个人是一位说土耳其语的分销商、四月份问过批量价格,然后再把这些信息敲进四个不同的字段里。这是每个会话十五分钟的工作量,而且产出的东西客户永远看不到。所以它就是不会被做。

但信息并没有丢失。它全都躺在消息里。每一个会话早就告诉了你:这个人说什么语言、大致处在漏斗的哪一环、是买家还是客服工单、有多急。只是这些信息从来只有一个有闲工夫的人类才读得出来。

MCP 补上的正是这个缺口。接入 Entergram 的 Telegram MCP 服务器后,AI 代理可以读取这些消息、判断字段该填什么值、在字段还不存在时把它创建出来,然后把值写回你的 CRM——1400 个会话,一次跑完,而你可以去做别的事。

这篇文章讲的就是这一件事:把 AI 代理当作 Telegram CRM 的数据录入引擎。不是"和收件箱聊天",而是真正把一套结构化的字段填满,之后你可以基于它筛选、出报表、做群发。

MCP 到底给了代理什么

Model Context Protocol 是让 AI 客户端调用外部系统的标准。Entergram 提供托管的 MCP 服务器,它公开的工具集合决定了代理实际能做什么。对这项工作来说,有四组工具最关键:

  • 会话与检索 —— entergram_list_workspace_chatsentergram_get_workspace_chat。这是一段对话的 CRM 视图:当前字段值、关联工单、内部备注。
  • 消息 —— entergram_list_messagesentergram_send_message。这是代理推理所依据的原始证据,也是它回复的通道。
  • CRM 自定义字段 —— entergram_list_custom_columnsentergram_create_custom_columnentergram_create_custom_column_optionentergram_patch_chat_custom_fields。读取结构、扩展结构、写入值。
  • 内部备注与工单 —— entergram_create_chat_commententergram_create_ticket。代理留下判断依据的地方,以及升级问题的出口。

真正关键的是 create_custom_column 这个能力本身存在。大多数集成只允许机器往别人设计好的字段里写值。而在这里,代理连字段本身都能设计——选类型(texttextareanumberdateselectmultiselectcheckbox)、定义选项列表、给每个选项配颜色——然后立刻开始填写。这把流程从"先配置,再自动化"变成了"描述你想要的结果,让它把结构搭出来"。

配置只需要几分钟:在 设置 → 开发者 → 连接器(API 与 MCP) 里复制你的 MCP 服务器地址,粘贴进 Claude、ChatGPT、Cursor、n8n 或你在用的客户端,然后授权所需权限范围。MCP 连接器帮助页和我们的任意 AI 客户端接入指南覆盖了各平台的具体步骤。下文都默认这个连接已经建好。

示例一:一个会自己填满的"语言"字段

先从立刻见效的那个开始,尤其是你在做跨境生意的时候。

你根本不知道大多数联系人更习惯用什么语言。团队默认用英文写,收到很短的回复,然后把这解读成"兴趣不大"。有一半情况根本不是兴趣不大——那只是一个在用自己第三外语打字的人,因为费劲所以写得简短。

下面是完整流程,写成一段提示词:

在我的 Entergram 工作区里新建一个会话自定义字段,名为"语言",类型为 select,包含这些选项:英语(en)、俄语(ru)、西班牙语(es)、土耳其语(tr)、葡萄牙语(pt)、波斯语(fa)、阿拉伯语(ar)、中文(zh)、德语(de)、法语(fr),以及混合/不确定(unclear)。给每个选项配一个不同的颜色。

然后遍历工作区里的所有会话。每个会话读取最近 100 条消息,只看联系人写的内容(忽略我自己的消息和任何机器人输出),判断他主要使用哪种语言,把结果写进"语言"字段。如果联系人的消息少于五条,或者他用两种语言写得差不多一样多,就填 unclear,不要猜。

在写入任何内容之前,先把前 20 个会话连同你建议的值和一行理由列给我看。我确认之后,你再处理剩下的。

代理实际执行的步骤:

  1. 调用 entergram_list_custom_columns 检查"语言"字段是否已存在——这样第二次运行不会创建重复字段。
  2. 调用 entergram_create_custom_column,传入 type: "select" 和选项数组,每一项都带有 label、稳定的 value 和十六进制 color
  3. 调用 entergram_list_workspace_chats 列出会话,用 items[].telegramId 作为标准会话 ID。
  4. 对每个会话调用 entergram_list_messages 拉取近期记录。
  5. 判断出值后,调用 entergram_patch_chat_custom_fields 写入 { language: "tr" }

有几件事决定了这个字段是真的好用,还是你过阵子就不再相信它:

把你自己的消息过滤掉。 如果代理连你这边的内容一起读,一个惯用英文的客服团队会把每一条结果都往英文方向拉偏。"只看联系人写的内容"这句指令是实实在在起作用的。

把文字和语言区分开。 西里尔字母不等于俄语——也可能是乌克兰语、保加利亚语或塞尔维亚语。阿拉伯字母也不等于阿拉伯语——波斯语和乌尔都语同样使用它。如果你在这些市场做生意,就在提示词里明确写出来,代理会去读词汇而不是简单匹配字母。

给它一个退路。 unclear 这个选项,正是防止字段被"自信的胡说"填满的东西。一个填了 90% 且准确的字段,胜过一个填了 100% 但有 15% 是错的字段——因为后者会悄悄毒化你在它之上构建的每一次群发。

风险高时加一个置信度字段。 第二个字段——语言置信度,类型 number——让代理在每个判断旁边记录 0–100 的分值。然后你筛出低于 70 的那些自己过一遍。要人工核对的从 1400 个变成了四十个。

这个字段一旦存在,就不是摆设。它决定谁收到哪一套回复模板、哪位同事接手这个会话,以及——见下文——一个联系人收到哪个语言版本的群发。

示例二:从对话里推断出的销售阶段

机制一样,但判断更难。这正是你的销售本该维护、却从来没维护过的那一列。

创建一个 select 字段"漏斗阶段",选项为:新线索、资格确认、已约演示、已发方案、谈判中、已成交、已流失、沉睡。

每个会话读取最近 100 条消息,选出对话真正支撑得住的那个阶段。要基于证据,不要凭感觉:"已发方案"仅当我发过报价或文档;"已约演示"仅当双方约定了具体时间的通话;"已成交"仅当有付款或启动的确认;"已流失"仅当对方明确拒绝。如果联系人最后一条消息超过 45 天且没有明确结果,就填"沉睡"。

每标注一个会话,还要留一条内部备注,引用支撑该阶段判断的那条具体消息及其日期。

最后这一行才是让整件事值得信任的关键。entergram_create_chat_comment 写下的备注只有你的团队能看到,客户永远看不到。于是每个被标注的会话都自带审计线索——"已发方案,依据 6 月 12 日:'这是 200 个席位的报价'"。当销售不认同某个标签时,他两秒钟就能看到代理为什么这么判断,然后去修正标签,而不是对整列失去信心。

基础版本跑通之后,值得加的几个变体:

  • 一个日期字段 最后一次实质接触,取自最后一条非无意义消息的时间戳——排除"好的"、"谢谢"、贴纸和表情回应。按它排序,你得到的是一份真正的跟进队列,而不是被点赞表情污染过的列表。
  • 一个 number 字段 成交金额,填入联系人真正提到过的任何数字。没谈过就留空。你的漏斗突然有了金额,而这些金额是从没人记录过的对话里挖出来的。
  • 一个 textarea 字段 卡点,用一句话说明每笔生意为什么还没成。把二十个会话的这一列读一遍,你对自己漏斗的理解会超过任何仪表盘能给你的。

如果你在做规模化触达,把它和我们的 Telegram 销售自动化指南结合起来——阶段字段正是让漏斗其余部分变得可寻址的那块拼图。

示例三:贴合你真实分诊方式的客服标签

客服需要的结构和销售不一样,而这正是 multiselect 发挥价值的场景,因为一段对话经常同时是账单问题故障反馈。

创建一个 multiselect 字段"问题类型",选项为:账单、故障、上手引导、功能建议、集成、账号访问、滥用举报。创建一个 checkbox 字段"需要人工"。创建一个 select 字段"情绪",选项为:满意、中性、不满、愤怒。

对最近 14 天内联系人有活动的每个会话,读取近期消息并填好这三个字段。当联系人提出的问题一直没被回答,或者情绪为"不满"或"愤怒"时,勾选"需要人工"。

然后,对所有"需要人工"已勾选且情绪为"愤怒"的会话,创建一张高优先级工单,标题用一句话概括问题,并关联到该会话。

multiselect 的值以选项值数组的形式提交——["billing", "bug"],而不是显示标签,这正是代理写入前必须先读取字段结构的原因。checkbox 字段接受真正的布尔值。日期字段接受 ISO 8601 字符串。其中任何一项格式不对,写入会被直接拒绝而不是被悄悄改坏——这正是你想要的行为。

最终你得到的是一条按比"到达时间"更有意义的维度排序的客服队列。筛选 需要人工 = 是 并按情绪排序,你处理列表的顺序就真正对应了降低流失。再配合工单看板,代理开出的升级工单会直接出现在团队本来就在用的泳道里。

示例四:从来没人填过的那些字段

上面两个是显而易见的。下面这些通常会让人意外。

活跃时段。 一个 number 字段 活跃小时,填入联系人最常发消息的时刻(UTC 制),由最近 100 条消息的时间戳算出。这对代理没有额外成本——时间戳它本来就有——却能告诉你这个人真正在工位上的时间。在 UTC 07:00 联系迪拜的买家、在 UTC 19:00 联系圣保罗的买家,回复率会明显更高,而额外成本为零。

回复习惯。 一个 select 字段——回复很快一天内回复要好几天很少回复——由你发出消息与对方回复之间的时间间隔中位数推导而来。这个字段告诉你"沉默"到底有没有意义。一个一贯要四天的联系人并没有变冷;一个平时一小时内就回、却已经一周没动静的人,才是真的变冷了。

公司与职位。 文本字段,从这个人在对话中自己说过的话里提取——签名、自我介绍、第一个月那条"我们是新加坡一家 40 人的交易所"的消息。它就摆在记录里,只是从来没人把它抄进字段。

推荐来源。 一个 select 字段,从联系人提到的"怎么找到你们的"里提取——某个社群、某个合作伙伴、某个具体频道。在整个工作区跑一遍,你就为一个从来没有归因数据的渠道做出了归因报告。

合规标记。 一个复选框 已要求不接收营销,只要有人曾经说过不希望收到推广就勾上。在全部历史记录上跑一次,你就用团队只记得一半的那些消息,搭出了一份抑制名单。在下一次营销活动之前,光是这一个字段就值回全部投入。

这些都不需要新的产品功能。它们全都只是"字段 + 一次阅读扫描"——而这恰恰是 MCP 值得接入的原因。

示例五:向 AI 刚刚构建出的分群做群发

现在是回报环节。上面那些字段本身不是目的;它们存在,是为了让你能对"人群"而不是"个人"采取行动。

当语言、漏斗阶段、最后一次实质接触都填好之后,下面这样的请求就成立了:

找出所有漏斗阶段为"沉睡"、语言为俄语、"已要求不接收营销"未勾选、且最后一次实质接触超过 60 天的会话。把名单列给我看,包含姓名和他们最后说过的话。

用俄语起草一条简短的唤回消息——两句话,不要表情符号,提到我们上次聊的是价格。把草稿和收件人名单给我看。先不要发送。

你审阅,你调整措辞。然后:

发送,一次一个会话,用销售账号发,每条之间留间隔。跳过最近 48 小时内联系过我们的人。发送后把漏斗阶段改为"资格确认",并留一条内部备注记录日期和这次活动的名称。

这就是一次分群精准、语言匹配、且尊重抑制名单的群发,同时还顺带更新了你的 CRM——而它建立在一小时前还不存在的字段之上。群发消息指南讲的是通过 Entergram 界面完成同样的工作;当分群条件只有"读过对话才能判断"时,MCP 这条路才是你需要的。

有三条规则在这里比本文任何其他地方都更重要:

永远要求先空跑一遍。 "把名单和草稿给我看,先别发"应该出现在你写的每一条群发提示词里。发送是唯一无法撤回的动作,而 messages.write 允许代理以你的身份发消息。

控制节奏。 Telegram 自身的反垃圾机制会对突发流量作出反应。一条一条发、中间留间隔,不是走过场式的谨慎,而是保持账号健康的方式。我们关于在 Telegram 上批量发送消息的文章详细讲了各项限制。

写各语言的原生版本,而不是一条英文消息的翻译。 你现在有"语言"字段了,就好好用它——一条以俄语思维写成的俄语消息,效果强过机器翻译的英文;只要你提出要求,代理完全写得出前者。

在整个工作区跑一遍

第一次大规模回填时的几点实操建议。

分批做。 一次要求处理 50 个会话,而不是在一条指令里塞 1400 个。代理的上下文是有限的,而一个会汇报进度的分批任务,你可以随时叫停、纠正、继续。"处理第 1–50 个会话,给我一张汇总表,然后等我",比"把所有的都做了"是好得多的指令。

按价值排序。 先做活跃会话,而不是按字母顺序。万一任务跑到一半中断,你希望做完的是有用的那一半。

让重复运行是幂等的。 告诉代理:除非你明确要求刷新,否则跳过字段已有值的会话。这样你就可以每周跑同一条提示词来覆盖新会话,而不会重做旧工作。

只授予真正需要的权限范围。 只读取和打标签的话,chats.readmessages.readchat_custom_fields.write 就够了。在进入群发阶段之前,messages.write 完全不要开。权限范围才是真正的安全边界——参见队友和已连接客户端能看到什么

任何不可逆的动作都要有人把关。 标签改错了很便宜。发给 300 个人的消息不是。

常见问题

AI 真的能读我的私人 Telegram 会话吗?
通过 Entergram 的 MCP 服务器可以——它运行在你已连接的账号上,而不是机器人上,因此看到的私聊、群组和频道和你看到的一样。这正是重点:机器人看不到你真正做生意的那些对话。这个区别在 Telegram MCP 与 Bot API 的对比里有详细说明。

能不能改用 Telegram 机器人?
不行。Bot API 只能读取发送给机器人的消息。本文里的每一个流程都依赖于从普通账号读取真实的会话历史。

哪些 AI 客户端支持?
任何支持 MCP 的客户端——Claude、ChatGPT、Perplexity、Cursor、Cline、Windsurf、Zed、Goose、Raycast,以及 n8n 和 Make。配置就是一个网址加一次 OAuth 授权;参见把 Claude 接入 Telegram MCP完整的连接器清单

代理标错了怎么办?
你像修改任何其他字段一样,在会话表里改掉那个值。这正是"留内部备注"这个习惯重要的原因——你能看到判断依据、发现规律,然后去调整提示词,而不是干脆放弃这一列。

通过 MCP 创建的字段会出现在普通界面里吗?
会。它们就是普通的自定义字段——可筛选、可排序、团队可见,也能用在数据分析和分群构建里。MCP 只是通往同一套结构的第二扇门,不是一个平行系统。

从一个字段开始

常见的错误是第一天就想设计出一套完美的十二字段体系。别这么做。先只做"语言",在整个工作区跑一遍,然后感受一下按它筛选收件箱是什么体验。这只需要一条提示词和一杯咖啡的时间,而值准不准,一眼就看得出来。

然后加"漏斗阶段"。再加客服标签。再加那些奇怪的——活跃小时、回复习惯、推荐来源——没有哪个 CRM 会内置它们,因为没有哪个 CRM 猜得到你会想要。

真正的解锁点不是"AI 能往你的数据库里写东西"。而是一段对话终于成了可查询的对象:可以打标签、可以计数、可以分群、可以据此行动——而不需要任何人往回翻 200 条消息,才能想起这个人到底是谁。

接入你的 Telegram MCP 服务器,从一个字段开始。

Matias, Author of Entergram Blog
Matias

Telegram CRM & Email Marketing Writer at Entergram

Matias writes about Telegram CRM, customer support automation, and email marketing for Entergram. He covers how teams turn Telegram into a real business channel — from multi-account inboxes and ticketing to AI-powered analytics.

Jul 28, 2026 · 14 分钟阅读

阅读全文

准备升级您的 Telegram 工作流程?

不要浪费另一个潜在客户。不要错过另一条消息。

开始使用 Entergram