本教程详细介绍如何使用n8n和飞书两个免费工具,零代码搭建专属智能客服系统。文章从准备工作开始,逐步指导读者创建飞书数字员工,配置n8n智能大脑,包括消息接收、智能处理和回复功能的全流程,最后进行上线测试。适合创业老板、运营小白和想学习AI客服搭建的程序员,无需编程基础即可实现基础智能客服功能。

还在为重复回答客户问题而头疼?想要一个不知疲倦的数字员工?今天教你用两个免费工具——n8n和飞书,零代码搭建专属智能客服!

无论你是创业老板还是运营小白,这篇教程都能让你轻松上手,彻底告别重复劳动!

准备工作:3样东西搞定

开始前,我们需要准备:

    1. n8n账号:免费的自动化神器,可以让不同软件"对话"
    1. 飞书管理员账号:用来创建机器人
    1. 知识库文档:机器人的"大脑",比如常见问题解答

准备好了?开始"造"机器人!

第一步:创建飞书"数字员工"

1. 创建飞书应用

  • • 登录飞书开放平台
  • • 选择"创建应用" → “企业自建应用”
  • • 填写应用名称(如"智能客服助手")

2. 获取关键信息

在"凭证与基础信息"页面,记下:

  • App ID
  • App Secret

这两个是连接n8n的"钥匙",务必保存好!

3. 开通机器人权限

在"应用功能" → "机器人"中启用,然后在"权限管理"开通:

4. 配置事件订阅

在"事件订阅"页面,先留着"请求地址配置"空白,等下一步生成URL后再填。

第二步:搭建n8n智能大脑

登录n8n,开始搭建核心流程:接收消息 → 智能处理 → 回复消息

1. 添加Webhook节点(接收飞书消息)

步骤1:创建Webhook节点

  • • 在n8n工作流编辑器中,点击左侧的"+"按钮
  • • 在节点搜索框中输入"webhook"
  • • 选择"Webhook"节点并添加到画布

步骤2:配置Webhook节点

  • • 双击Webhook节点进入配置界面
  • HTTP Method: 选择"POST"(飞书事件推送使用POST方法)
  • Path: 保持默认或自定义路径(如:/feishu-bot
  • Authentication: 选择"None"(飞书验证通过Challenge机制)
  • Response Mode: 选择"When Last Node Finishes"
  • Response Data: 选择"First Entry JSON"
  • Property Name: 输入"body"

步骤3:获取Webhook URL

  • • 配置完成后,点击"Test step"或"Listen for test event"
  • • 复制生成的Test URL(格式如:https://yourdomain.com/webhook-test/uuid
  • • 确保URL显示为外网可访问地址(非localhost)

步骤4:在飞书后台配置

  • • 登录飞书开放平台,进入你的应用
  • • 找到"事件订阅" → “请求地址配置”
  • • 将复制的URL粘贴到"请求URL"字段
  • • 点击"保存"按钮

步骤5:验证连接

  • • 确保工作流已保存并激活

  • • 在n8n中确保Webhook节点处于"Listen for test event"状态

  • • 飞书会自动发送Challenge验证请求

  • • 验证成功后,飞书后台会显示"验证成功"状态

网络访问配置

  • 本地开发:使用ngrok等内网穿透工具:ngrok http 5678
  • 云端部署:配置N8N_HOST环境变量为实际域名或IP地址

2. 添加Token获取节点

添加HTTP Request节点

  • • 点击"+"添加HTTP Request节点,连接到Webhook节点
  • Method: POST
  • URL: https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal
  • Body: JSON格式
{
"app_id":"你的APP_ID",
"app_secret":"你的APP_SECRET"
}

注意:替换为真实的APP_ID和APP_SECRET,Token有效期2小时。

3. 添加智能问答节点

添加Code节点

  • • 点击"+"添加Code节点,连接到Token获取节点
  • 重要配置:将Mode设置为Run Once for All Items(对所有项目运行一次)
  • • 输入以下JavaScript代码:
// FAQ知识库 - 使用关键词匹配提高准确率
const faq = [
  {
keywords: ["工作时间", "上班时间", "营业时间", "几点上班", "几点开门", "工作日", "上班", "营业"],
answer: "周一至周五,9:00-18:00"
  },
  {
keywords: ["联系方式", "电话", "客服", "联系", "咨询", "怎么联系", "联系电话"],
answer: "客服电话:400-123-4567"
  },
  {
keywords: ["产品价格", "价格", "多少钱", "费用", "收费", "报价", "成本"],
answer: "请访问官网查看最新价格"
  },
  {
keywords: ["技术支持", "技术", "支持", "帮助", "问题", "故障", "bug", "技术问题"],
answer: "请发送邮件至 tech@company.com"
  },
  {
keywords: ["退换货", "退货", "换货", "退款", "返回", "不满意", "退", "换"],
answer: "支持7天无理由退换货,详情请查看用户协议"
  }
];

// 获取输入数据 - 明确数据来源
// 从Token节点获取access_token
const tokenData = $input.first().json;
// 从Webhook节点获取原始消息数据
const webhookData = $('Webhook').first().json.body;

// 调试信息:打印数据来源和结构
console.log('Token节点数据:', JSON.stringify(tokenData, null, 2));
console.log('Webhook原始数据:', JSON.stringify(webhookData, null, 2));
console.log('事件数据:', JSON.stringify(webhookData.event, null, 2));

// 提取用户问题并匹配回答
// 注意:content可能是JSON字符串,需要先解析
let userQuestion = "";
try {
const content = webhookData.event?.message?.content;
if (typeof content === 'string') {
// 如果content是字符串,尝试解析JSON
const parsedContent = JSON.parse(content);
    userQuestion = parsedContent?.text?.trim() || "";
  } elseif (content?.text) {
// 如果content已经是对象,直接访问text
    userQuestion = content.text.trim() || "";
  }
} catch (error) {
console.log('解析content时出错:', error);
  userQuestion = "";
}
let reply = "抱歉,暂时无法回答您的问题,正在为您转接人工客服";

// 提取chat_id,尝试多种可能的路径
const chatId = webhookData.event?.message?.chat_id ||
               webhookData.event?.message?.message?.chat_id ||
               webhookData.event?.chat_id;

console.log('提取的chat_id:', chatId);
console.log('用户问题:', userQuestion);

// 遍历FAQ数组,使用关键词匹配
for (const faqItem of faq) {
// 检查用户问题是否包含任何关键词
const matched = faqItem.keywords.some(keyword =>
    userQuestion.toLowerCase().includes(keyword.toLowerCase())
  );

if (matched) {
    reply = faqItem.answer;
console.log(`匹配到FAQ: ${faqItem.keywords[0]}, 回复: ${reply}`);
break;
  }
}

// 验证必要参数
if (!chatId) {
console.error('错误: 无法获取chat_id');
thrownewError('无法获取chat_id,请检查飞书webhook数据结构');
}

if (!tokenData.tenant_access_token) {
console.error('错误: 无法获取access_token');
thrownewError('无法获取access_token,请检查Token获取节点');
}

// 返回处理结果
const result = {
reply: reply,
chatId: chatId,
token: tokenData.tenant_access_token
};

console.log('返回结果:', JSON.stringify(result, null, 2));
return result;

4. 添加回复节点

添加HTTP Request节点

  • • 点击"+"添加第二个HTTP Request节点,连接到Code节点
  • Method: POST
  • URL: https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=chat_id
  • Authentication: Header Auth
  • Name: Authorization
  • Value: Bearer {{ $json.token }}
  • Body: JSON格式
{
"receive_id":"{{ $json.chatId }}",
"msg_type":"text",
"content":"{\"text\":\"{{ $json.reply }}\"}"
}

重要提示

  • • 如果遇到"invalid receive_id"错误,说明chatId为空,请检查Code节点的调试输出
  • • 确保飞书webhook包含完整的消息事件数据
  • • content字段需要双重JSON编码

第三步:上线测试

    1. 保存激活:点击"Save"并激活工作流
    1. 发布应用:在飞书后台"应用发布"创建新版本
    1. 开始对话:在飞书中@机器人提问测试

成功!你的智能客服已经上线了!

FAQ 常见问题

Q: 机器人不回复怎么办?
A: 检查n8n工作流是否激活,飞书权限是否开通完整。

Q: 如何让机器人更智能?
A: 将Code节点替换为调用ChatGPT或其他AI模型的API。

Q: 能处理图片消息吗?
A: 可以,需要在飞书权限中开通相应的多媒体消息权限。

Q: 免费版有限制吗?
A: n8n免费版每月有5000次执行限制,一般小团队够用。


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐