ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Botpress ClickUp 集成实战:为聊天机器人接入 ClickUp 任务创建、更新与评论能力

Botpress ClickUp 集成实战:为聊天机器人接入 ClickUp 任务创建、更新与评论能力 AI 应用后端【免费下载链接】botpressThe open-source hub to build deploy GPT/LLM Agents ⚡️项目地址https://gitcode.com/gh_mirrors/bo/botpress点击查看免费下载本文基于 Botpress 开源仓库中的 ClickUp 官方集成集成说明文档编写围绕该集成的配置流程、可用动作Actions、Webhook 事件、评论通道与 API 限制展开。读者阅读后将掌握如何在 Botpress 工作区中完成 ClickUp 集成的鉴权配置理解createTask、updateTask、deleteTask、getListMembers四个内置动作的完整参数与底层 API 调用关系并了解机器人如何通过 Webhook 实时感知任务创建、更新、删除与评论事件。集成能做什么连接聊天机器人到 ClickUpClickUp 集成让 Botpress 聊天机器人能够直接操作你的 ClickUp 工作区。官方集成定义integration.definition.ts将它的能力概括为 Create and update tasks, and add comments from your chatbot即创建任务在指定 List 中新建任务可携带描述、状态、负责人、截止日期与标签更新任务修改任务的名称、描述、状态、归档状态、负责人与截止日期删除任务按任务 ID 删除任务查询列表成员获取某个 List 下所有成员及其邮箱信息回复任务评论通过comment通道机器人可以直接在任务的评论区发表文本消息接收实时事件集成启用时自动注册 ClickUp Webhook将taskCreated、taskUpdated、taskDeleted、taskCommentPosted等事件实时转发给 Botpress。换言之团队可以在聊天工具中通过机器人完成帮我建一个任务把某任务状态改为进行中提醒大家查看某个任务的评论等操作而不必频繁切换界面从而简化项目管理流程、提升团队协作效率。配置前置准备获取 API Key 与 Team ID使用该集成前需要从 ClickUp 账户中准备两项核心凭证API Key与Team ID。官方文档hub.md给出的步骤如下1. 生成 API Key登录你的 ClickUp 账户进入个人 Profile 设置选择Apps区块生成或获取你的 API Key。API Key 是集成调用 ClickUp API 的唯一凭证在 Botpress 侧会被保存为集成配置项apiKey并被封装进 HTTP 请求头中详见下文底层实现。2. 查找 Team ID打开 ClickUp 工作区查看左侧菜单栏复制工作区的 URL例如https://app.clickup.com/9011669285/v/s/90112461548URL 中最后一段 ID 即为 Team ID上例中对应90112461548。注意示例 URL 中倒数第二段9011669285是 Workspace ID而末尾的90112461548才是集成所需的 Team ID两者不要混淆。在 Botpress 中配置并启用集成完成上述凭证准备后按以下步骤在 Botpress 中启用 ClickUp 集成进入 Botpress 工作区的Integrations区块选择ClickUp Integration打开配置面板依次填入以下两项配置API Key上一步生成的 ClickUp API KeyTeam ID从工作区 URL 末尾提取的 Team ID保存配置并启用集成启用成功后机器人即可与你的 ClickUp 工作区交互。从集成定义看integration.definition.tsapiKey与teamId均为必填字符串Botpress 会基于 zod schema 对配置做类型校验。集成启用时对应 src/index.ts 中的register钩子会先调用getUser()校验 API Key 是否有效确认有访问权限后再向 ClickUp 注册 Webhook——也就是说如果 API Key 无效集成会直接注册失败避免留下一个看起来启用、实际不可用的集成实例。内置动作Actions详解集成对外暴露四个动作均可直接在 Botpress 的画布节点或 LLM 工具调用中使用。动作声明位于 integration.definition.ts实现位于 src/actions。createTask在列表中创建任务参数类型必填说明listIdstring是任务要创建到的 List 的 IDnamestring是任务名称descriptionstring否任务描述statusstring否任务状态如待办/进行中/完成assigneesnumber[]否任务负责人ClickUp 成员 ID 数组dueDatestringISO datetime否截止日期tagsstring[]否任务标签输出{ taskId: string }实现要点createTask.ts动作会把 ISO 格式的dueDate字符串通过new Date(dueDate).getTime()转换为毫秒级时间戳再交给ClickUpClient.createTask调用 ClickUp 的POST /list/{listId}/task接口最终返回新任务的taskId由 ClickUp 返回的数值型 ID 转为字符串。updateTask更新任务详情参数类型必填说明taskIdstring是要更新的任务 IDnamestring否任务新名称descriptionstring否任务新描述statusstring否任务新状态archivedboolean否是否归档assigneesToAddnumber[]否需要新增到任务的成员assigneesToRemovenumber[]否需要从任务移除的成员dueDatestringISO datetime否新截止日期输出{ taskId: string }实现要点updateTask.tsassigneesToAdd与assigneesToRemove会被合并为{ add: [...], rem: [...] }结构dueDate同样转换为毫秒时间戳最终通过PUT /task/{taskId}提交。所有字段均可选未传入的字段不会在请求体中携带。deleteTask删除任务参数类型必填说明taskIdstring是要删除的任务 ID输出{}无返回数据实现调用 ClickUp 的DELETE /task/{taskId}接口deleteTask.ts。删除是不可逆操作建议在画布逻辑中增加确认环节。getListMembers获取列表成员参数类型必填说明listIdstring是要查询成员列表的 List ID输出members: { id: number; username: string; email: string }[]实现调用 ClickUp 的GET /list/{listId}/member接口getListMembers.ts。该动作常与createTask配合使用先查询列表成员拿到合法成员 ID再把这些 ID 作为assignees传入建任务动作避免传入无效的负责人。动作的公共封装四个动作都通过 action-wrapper.ts 统一封装每个动作执行前会记录Running action xxx的调试日志含 botId 与输入执行时通过toolFactories注入基于当前集成配置创建的ClickUpClient实例一旦底层调用抛错会使用createAsyncFnWrapperWithErrorRedaction将异常收敛为sdk.RuntimeError以Failed to create a new task、Failed to update the task等自定义消息返回给调用方避免向用户暴露底层 API 细节。事件与 Webhook实时感知任务变化ClickUp 集成的实时性来自 Webhook。集成启用时src/index.ts 的setWebhook函数会调用GET /team/{teamId}/webhook查询已有 Webhook若存在 endpoint 与当前 BotpresswebhookUrl相同的记录则更新其为 active 状态并同步事件列表否则新建 Webhookendpoint 指向 Botpress 分配的回调地址。注册的事件包括taskCommentPosted、taskCreated、taskUpdated、taskDeleted四种。所有 Webhook 回调统一进入 handler.ts 分发请求体先做 JSON 解析非法 JSON 返回 400taskCreated/taskUpdated/taskDeleted通过client.createEvent向 Botpress 抛出对应事件payload 为{ id: task_id }。集成定义中声明的三个事件integration.definition.ts即与之对应可在 Botpress 画布中通过事件节点监听并驱动后续流程例如任务创建后自动通知相关人员taskCommentPosted转入executeCommentReceived处理见下节。评论通道让机器人参与任务讨论集成定义了一个名为comment的通道integration.definition.ts支持text文本消息。通道实现位于 channels.ts机器人发送文本时会调用 ClickUp 的POST /task/{taskId}/comment接口以当前 API Key 对应的账户身份在任务下发表评论notify_all为 false并从返回结果中取出评论 ID 作为消息标签id回执。与机器人发评论相对的是接收用户评论。Webhook 中的taskCommentPosted事件由 executeCommentReceived.ts 处理其逻辑是先获取当前机器人账户信息跳过机器人自己发出的评论避免回声循环对每条评论历史记录按user.id创建/复用 Botpress 用户按task_id创建/复用comment通道下的会话会话标签taskId即任务 ID将评论内容写入 Botpress 消息使机器人的对话引擎可以把任务评论当作普通消息来处理。由此形成闭环团队成员在 ClickUp 任务下留言 → 事件进入 Botpress → 机器人可以感知并基于知识库或 LLM 自动回复 → 回复内容通过comment通道写回 ClickUp 评论区。底层实现ClickUpClient 与 API 调用关系所有 ClickUp API 调用集中在 client.ts 的ClickUpClient类中它基于axios构建baseURL为https://api.clickup.com/api/v2每个请求携带Authorization: apiKey请求头。主要端点映射如下方法HTTP 端点用途getUserGET /user校验凭证、获取当前用户listWebhooksGET /team/{teamId}/webhook查询已注册 WebhookcreateWebhookPOST /team/{teamId}/webhook注册 WebhookupdateWebhookPUT /webhook/{webhookId}更新 WebhookcreateCommentPOST /task/{taskId}/comment发布任务评论createTaskPOST /list/{listId}/task创建任务getTaskGET /task/{taskId}查询任务updateTaskPUT /task/{taskId}更新任务deleteTaskDELETE /task/{taskId}删除任务getListMembersGET /list/{listId}/member查询列表成员集成包依赖axios ^1.7.7以及botpress/sdk、botpress/common、botpress/client见 package.json并提供了check:typetsc 类型检查、check:bplint、build、testvitest等标准脚本。如果你想在本地查看或扩展该集成可阅读其 集成定义 与 入口文件。平台限制与最佳实践官方文档hub.md明确说明ClickUp 集成受平台 API 限制约束主要包括速率限制Rate Limits每个工作区限制为每分钟 100 次请求、每秒钟 10 次请求请求体大小限制Payload SizeAPI 调用存在大小限制发送的数据需符合 ClickUp 的规格要求。这些限制意味着批量操作要控速当机器人需要一次性创建/更新大量任务时应避免在短时间内密集调用可在流程中引入节流或分批策略防止触发限流导致任务失败长文本要精简写入任务描述或评论的文本不宜过长超出载荷上限的请求会被拒绝失败要可观测、可重试得益于动作封装层的错误收敛action-wrapper.ts限流等异常会以明确的错误消息返回给流程便于在画布中设计重试或告警分支更稳妥的做法是配合指数退避在外部编排层实现自动重试。关于速率限制的完整规则与最佳实践ClickUp 官方开发者文档中有更详细的说明集成使用者可在遇到 429 等限流响应时查阅官方文档并据此调整调用节奏。小结Botpress 的 ClickUp 集成把项目管理后台与对话机器人打通通过apiKeyteamId两步配置即可启用createTask、updateTask、deleteTask、getListMembers四个动作覆盖了任务生命周期管理Webhook 与comment通道则让机器人既能实时感知任务变化也能直接参与任务评论讨论。结合官方给出的速率限制每工作区每分钟 100 次、每秒 10 次在实际流程设计中为批量操作预留节流与重试空间即可稳定地把 ClickUp 协作能力嵌入团队日常对话中。赞分享AI 应用后端【免费下载链接】botpressThe open-source hub to build deploy GPT/LLM Agents ⚡️项目地址https://gitcode.com/gh_mirrors/bo/botpress点击查看免费下载相关推荐Botpress Asana 集成接入指南用聊天机器人管理项目与任务Botpress Asana 集成接入指南用聊天机器人管理项目与任务 本篇技术指南讲解 Botpress 官方 Asana 集成 integrations/AI 应用后端Botpress Trello 集成实战指南让聊天机器人直接创建、更新卡片并订阅看板事件Botpress Trello 集成实战指南让聊天机器人直接创建、更新卡片并订阅看板事件 Botpress 的 Trello 集成当前仓库版本为 2.1.3AI 应用后端10 分钟搭好 Syncthing 中继服务器strelaysrv 部署、公共池与私有中继两条路线10 分钟搭好 Syncthing 中继服务器strelaysrv 部署、公共池与私有中继两条路线 两台 Syncthing 设备都躲在 NAT 后面直连死网络通信存储创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表