
n8n 学习管理系统集成3 个任务搭出每周课程提醒工作流【免费下载链接】n8nFair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400 integrations.项目地址: https://gitcode.com/GitHub_Trending/n8/n8nn8n 是一个 fair-code公平代码许可的工作流自动化平台把 400 多个现成集成节点和自定义代码放在同一个可视化画布上支持自托管或云服务。本文围绕n8n 学习管理系统集成这个主题带你用 3 个独立小任务搭出一条自动工作流每周一上午 9 点从 LMS学习管理系统API 拉取本周课程数据整理成课程与作业提醒自动推送到班级 Slack 频道。每个任务都可以单独完成你已经会哪部分就可以直接跳过。搭建前的准备开始之前先备齐 3 样东西一个可用的 n8n 实例不想折腾注册 n8n 云服务账号浏览器直接进编辑器想数据留在自己手里用 Docker 本地自托管。仓库里的docker/images/n8n/目录提供现成的镜像与启动脚本一条命令即可# 用 Docker 启动 n8n然后浏览器打开 http://localhost:5678 docker compose up -dLMS 的 API 凭据向学习管理系统管理员索取API 基础地址形如https://lms.yourschool.edu/api和一个 API Key。拿不到 Key 也没关系可以先拿任何公开的 JSON 接口练手流程完全一样。Slack 机器人令牌在 Slack 管理后台创建一个自定义应用Custom App开启发送消息Chat权限把应用拉进课程群拿到以xoxb-开头的 Bot Token。 三个凭据在 n8n 里统一放在凭据面板里管理后面的任务会用到。任务一配置定时触发让工作流每周一自动运行要做什么让整条流程每周一上午 9:00 自动跑一次不需要人点。怎么做新建工作流点击画布上的添加第一个节点。在节点搜索框里输入Cron选中Cron定时触发器。搜索框支持按名称直接筛选找不到节点时先看一眼这里展开参数把触发时间设置为小时9、分0、星期Monday。保存。做完看到什么效果选中 Cron 节点后面板会显示下次运行时间应该指向最近的周一上午 9 点。工作流本身还不会发送任何东西——它现在只是在等那个时间点。任务二用 HTTP Request 节点从 LMS 拉取课程数据要做什么在触发之后调用学习管理系统的接口把本周课程列表取回来。怎么做点 Cron 节点的输出端口添加一个HTTP Request节点。请求方法选GETURL 填入课程接口地址例如{你的API基础地址}/courses。配置认证根据 LMS 的鉴权方式选择对应的凭据类型自定义 Header、Query 参数或 OAuth 等。首次使用时 n8n 会打开一个凭据创建面板按界面逐项填入 API 地址、账号和 Key保存后即可在所有节点复用响应格式保持默认 JSON。做完看到什么效果手动点一次运行后HTTP Request 节点上会显示收到 N 条数据点开输出面板能看到课程数组每条记录大致包含课程名、开始日期、作业截止时间等字段。只要数据能取回来这个任务就通过了。任务三格式化消息用 Slack 节点推送到课程群要做什么把上一节点的 JSON 数据整理成人能读的一句话发到课程 Slack 频道。怎么做在 HTTP Request 后面接一个Code节点把课程数据拼成消息文本。下面这段短脚本的作用就是把本周课程逐条转成课程名 截止日期的行const courses $input.first().json.courses; const lines courses.map(c 《${c.name}》开始 ${c.startDate}作业截止 ${c.homeworkDeadline}); return [{ json: { text: 本周课程更新\n${lines.join(\n)} } }];再添加一个Slack节点接在 Code 节点后面。节点的参数都通过下拉框选择例如 Resource 选Message、Operation 选Send在 Slack 节点里选刚才创建的凭据Channel 填入课程群 ID或群名Text 字段用表达式引用上一步的结果{{ $json.text }}。保存。做完看到什么效果运行一次工作流课程 Slack 群会收到一条消息列出本周每门课程的开始时间和作业截止时间。这就是整条 n8n 学习管理系统集成流程的终点。联调与验证按顺序确认 4 点流程就跑通了点画布下方橙色的Execute Workflow按钮触发一次完整运行。逐个点击每个节点检查输入输出Cron 有触发记录 → HTTP Request 拿到课程数组 → Code 输出的text排版正常。到 Slack 课程群确认消息真的送达格式符合预期。全部通过后把右上角的Inactive开关切到激活状态。此后每周一上午 9 点工作流自动执行随时可以切到 Executions 页签查看历史运行记录。两个最常见的小问题Slack 收不到消息检查 Bot Token 是否开了发送消息权限、应用是否已加入该频道。HTTP Request 返回 401API Key 填错或已过期回 LMS 后台重新生成。延伸应用流程跑通后可以继续尝试这几件事减少打扰在数据处理后加一个IF节点本周没有作业时改发本周无作业或者干脆不发。多一个渠道复制消息分支再接一个Email节点把同一份提醒抄送到学生邮箱。数据回流用 HTTP Request 发PUT请求把批改后的成绩写回学习管理系统完成双向同步。想深入某个节点的行为可以阅读项目内对应源码packages/nodes-base/nodes/HttpRequest/HttpRequest.node.ts与packages/nodes-base/nodes/Slack/Slack.node.ts仓库docker/images/n8n/下的 README 也说明了自托管镜像的构建细节适合想自己打包部署的读者。【免费下载链接】n8nFair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400 integrations.项目地址: https://gitcode.com/GitHub_Trending/n8/n8n创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考