规则引擎文档

创建 IF/THEN 规则来自动回复、路由对话并自定义聊天行为。

规则的工作原理

规则让您完全控制访客发送消息时发生的事情。每条规则在每条访客消息到达时被评估, AI 自动回复有机会响应之前。

  • 每条规则有条件(IF)和动作(THEN)。
  • 匹配模式决定条件如何组合:ALL 条件必须匹配(AND 逻辑)或 ANY 条件匹配即可(OR 逻辑)。
  • 规则按优先级顺序执行 — 数字越小优先级越高(先执行)。
  • 匹配即停止 — 启用后,此规则触发后不再检查后续规则。
  • 规则可以抑制 AI 自动回复(例如 REPLY_TEXT 代替 AI 处理回复)。

条件参考

条件定义规则何时触发。您可以使用 ALL(AND)或 ANY(OR)匹配模式组合多个条件。

MESSAGE_CONTAINS

检查访客的消息是否包含特定单词或短语。

参数说明
value在消息中搜索的文本
caseSensitivetrue / false — 匹配是否区分大小写

示例:"消息包含 pricing" 匹配 "What's your pricing?"

MESSAGE_MATCHES_REGEX

将访客的消息与正则表达式进行匹配。

参数说明
pattern包含分隔符的正则表达式,例如 /order\s*#?\d+/i

示例:/\b(refund|return|cancel)\b/i 匹配任何退款相关的消息

提示:使用 regex101.com 在添加前测试您的正则表达式。

VISITOR_LANGUAGE

检查访客的检测语言。

参数说明
operatorequalsnot_equalsin
value语言代码,如 enplde

示例:访客语言等于 pl → 路由到波兰语客服

OPERATOR_ONLINE

检查团队中是否有客服当前在线。

参数说明
valuetrue = 至少一位客服在线,false = 所有客服离线

示例:客服在线 = false → 发送"我们当前不在线"消息

SESSION_VARIABLE

检查对话上存储的自定义变量(由之前的规则设置)。

参数说明
key要检查的变量名
operatorequalsnot_equalsexistsnot_exists
value期望值(exists / not_exists 不需要)

示例:会话变量 lead_type 等于 demo → 分配给销售团队

动作参考

动作定义规则条件满足后执行什么操作。一条规则可以有多个动作。

REPLY_TEXT

向访客发送自动文本回复。

参数说明
text发送给访客的消息

注意:抑制 AI 自动回复 — 由规则处理回复。

示例:"我们的团队已离线。我们将在工作时间内回复您。"

REPLY_AI

明确告知系统对此消息使用 AI 自动回复。

注意:与其他动作组合使用 — 例如,设置变量同时让 AI 回复。

SET_VARIABLE

在对话上存储键值对,供其他规则后续使用。

参数说明
key变量名
value变量值

注意:不会抑制 AI — 变量设置后 AI 仍可回复。

示例:设置 interest = enterprise 用于后续跟进

ASSIGN_TO_OPERATOR

将对话分配给团队中的特定客服。

参数说明
operatorId从团队成员中选择

注意:隐含抑制 AI — 已分配的对话不会获得 AI 回复。

示例:将 VIP 客户路由给高级支持客服

NOTIFY_OPERATORS

向所有在线客服发送带声音通知的实时告警。

参数说明
message向客服显示的告警消息

注意:不会抑制 AI — 告警和 AI 回复同时进行。

示例:"紧急:访客需要立即帮助!"

SEND_EMAIL

发送包含对话上下文的邮件。适用于升级处理或 CRM 集成。

参数说明
to收件人邮箱地址
subject邮件主题
body邮件正文(可选 — 对话上下文会自动附加)

注意:不会抑制 AI。

CALL_API

调用外部 API endpoint 并将响应存储为会话变量。需要先配置 API 连接

参数说明
endpointId从已配置的 API endpoint 中选择

注意:不会抑制 AI — 与 REPLY_AI 组合使用,让 AI 利用获取的数据。详见 API 连接文档

示例:调用订单跟踪 API → 将状态存入会话 → AI 用真实订单数据回复

实用示例

可直接使用的规则方案,您可以根据自己的需求调整。

1. 自动回答价格问题

通过静态回复回答常见问题,节省 AI token。

IF (ANY match): MESSAGE_CONTAINS price, MESSAGE_CONTAINS cost, MESSAGE_CONTAINS pricing

THEN: REPLY_TEXT: "Our plans start at €19/month. See full pricing at enuchat.com/pricing"

匹配模式:ANY · 匹配即停止:

2. 按语言路由访客

将波兰语访客直接发送给波兰语客服。

IF (ALL match): VISITOR_LANGUAGE equals pl

THEN: ASSIGN_TO_OPERATOR → 波兰语客服

匹配模式:ALL · 匹配即停止:

3. 下班时间问候

在无人在线时设定预期。

IF (ALL match): OPERATOR_ONLINE = false

THEN: REPLY_TEXT: "Thanks for reaching out! Our team is currently offline. AI will try to help, but we'll follow up during business hours."

匹配模式:ALL · 匹配即停止:(让 AI 同时回复)

4. 标记并路由演示请求

两条规则通过会话变量协同工作。

规则 1 — IF (ALL match): MESSAGE_CONTAINS demo

规则 1 — THEN: SET_VARIABLE lead_type = demo_request。匹配即停止:(AI 回复第一条消息)

规则 2 — IF (ALL match): SESSION_VARIABLE lead_type equals demo_request

规则 2 — THEN: ASSIGN_TO_OPERATOR → 销售团队。匹配即停止:

第一条消息设置标签并由 AI 回复。同一访客的第二条消息路由到销售团队。

5. 用正则检测订单号

自动将订单相关查询路由给客服。

IF (ALL match): MESSAGE_MATCHES_REGEX /\b(order|tracking)\s*#?\s*\d{'{'}4,}/i

THEN: ASSIGN_TO_OPERATOR → 支持客服, REPLY_TEXT: "I see you have an order question. Let me connect you with our support team."

匹配模式:ALL · 匹配即停止:

6. 组合条件(AND 逻辑)

仅在多个条件全部为真的极特定场景下触发。

IF (ALL match): VISITOR_LANGUAGE equals en, MESSAGE_CONTAINS urgent

THEN: ASSIGN_TO_OPERATOR → 高级客服

匹配模式:ALL(两者都必须匹配)· 匹配即停止:

技巧与最佳实践

  • 顺序很重要:优先级数字越小的规则先执行。将最重要的规则放在最前面。
  • 使用"匹配即停止"防止同一条消息触发多条规则。
  • 上线前测试 — 使用操作面板中的测试面板。
  • REPLY_TEXT 消息保持简洁 — 访客期望的是对话,而不是长文。
  • 使用 SESSION_VARIABLE 构建多步骤流程 — 在第一条消息上标记对话,之后再根据标记执行操作。
  • 正则提示:始终使用大小写不敏感标志 /i,并在 regex101.com 测试您的正则表达式。
  • 少即是多:10–15 条精心设计的规则胜过 50 条相互重叠的规则。
  • 规则在 AI 之前执行 — 如果规则处理了消息,AI 不会回复(为您节省 token)。

准备好自动化您的聊天了吗?

几分钟内设置您的第一条规则,让自动化处理重复性工作。

免费开始使用