EzyJoin 智慧会议操作技能 - 预约会议室、创建/取消会议、查询会议日程与 AI 纪要、企业知识库检索
Scanned 9/8/2026
Install to Claude Code
npx -y skills add infometa/workbuddyskills --skill skills --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of ezjoin-meeting-skill?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-ezjoin-meeting-skill)More formats (shields.io, HTML) on the badges page.
---
name: ezjoin-meeting-skill
description: EzyJoin 智慧会议操作技能 - 预约会议室、创建/取消会议、查询会议日程与 AI 纪要、企业知识库检索
version: "1.0.0"
author: "EzyJoin Team"
---
# EzyJoin 智慧会议 Skill
本 Skill 提供 EzyJoin 智慧会议平台的完整操作能力。所有操作通过 MCP Server 暴露的工具完成,无需拼接 URL 或设置请求头。
## 认证说明
- 用户需先完成 OAuth 授权(WorkBuddy 自动引导,浏览器登录 EzyJoin 账号后点击"允许")
- 授权后 WorkBuddy 自动携带 access_token,MCP Server 自动识别当前用户身份
- access_token 有效期 1 小时,过期后 WorkBuddy 自动用 refresh_token 续期(30 天),无需用户干预
- 若 refresh_token 也过期,提示用户重新授权即可
- **不要要求用户提供 userId**:当前用户身份已由授权自动确定,userId 参数由服务端自动注入
## 可用工具
### teamMembers - 查询团队成员
查询当前用户加入的所有团队及成员清单。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| teamId | integer | - | 团队ID,不传则返回所有团队 |
**使用示例**:
- 用户问"我有哪些团队/同事"时调用,无需参数
- 用户提到某团队名称时,先调用本工具拿到 teamId
### meetingList - 查询会议列表
查询团队成员(含自己)权限范围内参与的所有会议,含各种审核状态(审批中/已通过/无需审核/已驳回)。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| teamId | integer | - | 仅查指定团队的会议 |
| creatorUserId | integer | - | 仅查指定创建人的会议 |
| subject | string | - | 会议主题模糊搜索,最大100字符 |
| start_time | string | - | 开始时间 >= 该时间,格式 Y-m-d H:i:s |
| end_time | string | - | 开始时间 <= 该时间,格式 Y-m-d H:i:s(跨度最多30天) |
| page | integer | - | 页码,默认1 |
| pageSize | integer | - | 每页数量,默认20,最大100 |
**使用示例**:
- 用户问"我今天的会议"→ 传 start_time/end_time 为当天 00:00:00~23:59:59
- 用户问"本周/本月会议安排"→ 按时间范围过滤
- 返回的 auditStatus 可直接判断是否在审批中:1=无需审核、2=审批中、3=已通过、4=已驳回
### meetingDetail - 查询会议详情
查询指定会议的详细信息(主题、时间、会议室、参会人等)。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| meetingId | integer | ✅ | 会议ID |
**使用示例**:
- 用户问"XX会议的详情"→ 先用 meetingList 找到 meetingId,再调用本工具
### meetingTranscription - 查询会议转写
查询指定会议的转写内容(语音转文字记录)。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| meetingId | integer | ✅ | 会议ID |
### meetingMinutes - 查询会议 AI 纪要
查询指定会议的 AI 纪要内容。type=4 为全文纪要(默认),其他类型为分段纪要:1=会议议程、2=会议决议、3=会议任务。当前用户无纪要时自动回退到该会议最新一份纪要(管理员可查看成员纪要)。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| meetingId | integer | ✅ | 会议ID |
| type | integer | - | 纪要类型:4=全文纪要(默认), 1=议程, 2=决议, 3=任务 |
**使用示例**:
- 用户问"XX会议的纪要/会议记录"→ 先 meetingList 找 meetingId,再调用本工具(默认全文纪要)
- 用户问"会议有什么决议/任务"→ 传 type=2 或 type=3
- 会议尚无纪要时返回 content=null,应如实告知用户纪要尚未生成
### companyUsers - 搜索公司用户
搜索公司用户(扁平列表),支持按姓名/手机/邮箱/拼音模糊搜索。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| keyword | string | - | 搜索关键词,不传返回全部 |
| pageSize | integer | - | 每页数量,默认20,最大100 |
### inviteUserList - 查询可邀请参会人
查询可邀请为参会人的用户列表(按部门分组),用于创建会议前查找参会人。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| keyword | string | - | 搜索关键词(部门名或用户姓名/手机/邮箱) |
### buildingRoomTree - 查询楼宇/会议室树
查询当前公司下所有楼宇、区域、会议室的三级树结构。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| 无 | - | - | 直接调用即可 |
**使用示例**:
- 用户问"有哪些会议室"或预约前先查会议室 → 调用本工具,返回楼宇(building)→区域(area)→会议室(meetingRoom)结构,取 meetingRoom 的 id/value 作为 meetingRoomId
### meetingRoomAvailability - 查询会议室占用情况
查询指定时间段内会议室的占用情况(空闲/已占用及冲突会议),用于预约前判断可用性。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| startTime | string | ✅ | 开始时间,格式 Y-m-d H:i:s |
| endTime | string | ✅ | 结束时间,格式 Y-m-d H:i:s |
| meetingRoomId | integer | - | 会议室ID(可选,只查指定会议室) |
| buildingId | integer | - | 楼宇ID(可选,只查该楼宇下的会议室) |
**使用示例**:
- 预约前先调用本工具确认会议室空闲,若占用需如实告知用户并推荐其他可用会议室
- 用户说"帮我找明天下午空闲的会议室"→ 结合 buildingRoomTree + 本工具(不带 meetingRoomId)筛选
### meetingCreate - 创建会议
创建会议。type=1 线下日程(仅会议室),type=2 综合会议(会议室 + 线上视频会议)。支持周期会议(meetingType=1 + repeatType/repeatUntil)。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| type | integer | - | 1=线下(默认), 2=综合会议 |
| meetingType | integer | - | 0=单次(默认), 1=周期会议 |
| repeatType | integer | 周期时必填 | 0=每天, 1=每周, 2=每月, 7=每个工作日 |
| repeatUntil | string | 周期时必填 | 重复截止时间,格式 Y-m-d H:i:s,最多向后1年 |
| repeatInterval | integer | - | 重复间隔,仅每周生效,默认1 |
| meetingRoomId | integer | ✅ | 会议室ID(从 buildingRoomTree 获取) |
| startTime | string | ✅ | 开始时间,格式 Y-m-d H:i:s |
| endTime | string | ✅ | 结束时间,格式 Y-m-d H:i:s |
| platform | integer | type=2 时必填 | 1=企微, 4=飞书, 5=腾讯会议 |
| password | string | - | 入会密码(最大20字符) |
| subject | string | - | 会议主题,最大50字,默认"未命名会议" |
| content | string | - | 会议描述/预约原因,最大500字 |
| inviteUserIds | integer[] | - | 参会人 userId 数组 |
**时间规则**(不满足会创建失败):
- startTime 必须晚于当前时间
- endTime 必须晚于 startTime
- 时长不少于 5 分钟
**使用示例**:
- "帮我预约明天下午 3 点到 4 点的会议室" → 先 buildingRoomTree 选会议室 → meetingRoomAvailability 确认空闲 → meetingCreate
- **创建后必须检查返回结果**:isError=true 或 code!=200 表示失败,必须如实把失败原因(msg)告知用户,禁止谎报"预约成功"
### meetingEdit - 更新会议
更新当前用户自己创建的未开始会议。只传需修改的字段,未传的保持不变。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| meetingId | integer | ✅ | 会议ID |
| subject | string | - | 新主题,最大50字 |
| content | string | - | 新描述,最大500字 |
| startTime | string | - | 新开始时间,格式 Y-m-d H:i:s |
| endTime | string | - | 新结束时间,格式 Y-m-d H:i:s |
| inviteUserIds | integer[] | - | 参会人 userId 数组(传此字段时替换全部参会人) |
**注意事项**:
- 只能修改自己创建的、未开始的会议
- 时间规则同创建会议
- 更新后必须检查返回结果,失败时如实告知用户原因
### meetingCancel - 取消会议
取消当前用户自己创建的未开始会议。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| meetingId | integer | ✅ | 会议ID |
**使用示例**:
- 用户说"取消 XX 会议" → 先用 meetingList 确认会议存在且可取消,再调用
- 调用后必须检查返回结果,失败时如实告知原因
### sendWeworkMessage - 发送企业微信消息
向公司成员发送企业微信消息。支持 text 文本和 textcard 卡片消息。收件人必须是当前用户同公司的有效用户。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| recipientUserIds | integer[] | ✅ | 收件人 userId 数组(至少1个,需为本公司用户) |
| msgType | string | ✅ | text=文本, textcard=卡片 |
| content | string | ✅ | 消息内容,最大2000字符 |
| title | string | textcard 时必填 | 卡片标题,最大100字符 |
| url | string | - | 卡片跳转链接,最大500字符 |
**使用示例**:
- 用户说"给张三发条企微消息说下午开会" → 先 companyUsers 找到张三 userId → 调用本工具
- 用户说"发个会议通知卡片给参会人" → msgType=textcard,title 填"会议通知",url 填会议链接
### sendEmail - 发送邮件
向公司成员发送邮件(通过企业微信邮箱发送)。收件人可通过 userId 或邮箱地址指定,至少需要一种。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| recipientUserIds | integer[] | - | 收件人 userId 数组(与 recipientEmails 至少填一个) |
| recipientEmails | string[] | - | 收件人邮箱地址数组(与 recipientUserIds 至少填一个) |
| ccUserIds | integer[] | - | 抄送人 userId 数组 |
| ccEmails | string[] | - | 抄送邮箱地址数组 |
| subject | string | ✅ | 邮件主题,最大200字符 |
| content | string | ✅ | 邮件正文,最大10000字符 |
| contentType | string | - | html 或 text(默认 text) |
**使用示例**:
- 用户说"给团队发封邮件" → 先 companyUsers/teamMembers 找到收件人 → 调用本工具
- 收件人指定:recipientUserIds 与 recipientEmails 至少填一种,否则工具会报错
### scheduledTaskCreate - 创建 AI 定时任务
创建一个 AI 助手定时任务,按指定频率自动执行提示词。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| title | string | ✅ | 任务标题,≤100字 |
| prompt | string | ✅ | 提示词,执行时发送给 AI 助手 |
| frequency | integer | ✅ | 1=每天 2=按间隔 3=单次 |
| executeTime | string | frequency=1 必填 | HH:MM |
| intervalHours | integer | frequency=2 必填 | 间隔小时数(1-24),从每天0点起算 |
| weekdays | integer[] | - | 执行日 1-7(1=周一 7=周天),不传=每天 |
| executeDate | string | frequency=3 必填 | Y-m-d H:i:s |
| validStartDate | string | - | 生效开始日期 Y-m-d |
| validEndDate | string | - | 生效结束日期 Y-m-d |
### scheduledTaskList - 查询 AI 定时任务
列出当前用户的 AI 助手定时任务。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| frequency | integer | - | 按频率筛选:1=每天 2=按间隔 3=单次 |
### scheduledTaskUpdate - 修改 AI 定时任务
修改当前用户的 AI 助手定时任务(仅传需修改的字段)。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| taskId | integer | ✅ | 任务ID |
| title | string | - | 新标题 |
| prompt | string | - | 新提示词 |
| frequency | integer | - | 1=每天 2=按间隔 3=单次 |
| executeTime | string | - | HH:MM |
| intervalHours | integer | - | 间隔小时数 |
| weekdays | integer[] | - | 执行日 1-7 |
| executeDate | string | - | Y-m-d H:i:s |
| validStartDate | string | - | Y-m-d |
| validEndDate | string | - | Y-m-d |
### scheduledTaskDelete - 删除 AI 定时任务
删除当前用户的 AI 助手定时任务。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| taskId | integer | ✅ | 任务ID |
### scheduledTaskPause - 暂停 AI 定时任务
暂停当前用户的 AI 助手定时任务,暂停后到点不再执行。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| taskId | integer | ✅ | 任务ID |
### scheduledTaskResume - 恢复 AI 定时任务
恢复当前用户已暂停的 AI 助手定时任务。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| taskId | integer | ✅ | 任务ID |
### knowledgeSearch - 搜索企业知识库
搜索企业知识库,返回文档标题和摘要。企业知识库文档(公司制度、流程规范、业务资料)始终包含在结果中。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| teamIds | integer[] | - | 团队ID数组,查这些团队下所有成员上传的文档 |
| meetingIds | integer[] | - | 会议ID数组,查这些会议的附件文档 |
**使用场景**:
- 用户询问公司制度、流程规范、业务资料、会议文档时使用
- 查询维度优先级:meetingIds > teamIds > 默认(只查当前用户自己的文档)
### knowledgeGet - 读取知识库文档全文
读取知识库中指定文档的原文全文。先调用 knowledgeSearch 拿到 docId 后再调用本工具。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|:----:|------|
| docId | integer | ✅ | 文档ID(从 knowledgeSearch 返回结果获取) |
## 通用注意事项
- **会议操作流程**:预约会议前先查会议室(buildingRoomTree)→ 查占用(meetingRoomAvailability)→ 创建(meetingCreate);取消/改期先查列表(meetingList)确认 meetingId
- **如实反馈结果**:任何工具返回 isError=true 或 code!=200 时,必须把 msg 原样转达用户,禁止谎报成功
- **会议状态**:auditStatus=2 表示审批中,需等待审批通过;1=无需审核、3=已通过、4=已驳回
- **时间格式**:统一使用 Y-m-d H:i:s(如 2026-08-08 15:00:00)
- **权限边界**:只能操作当前用户自己创建或参与的会议;无权限时工具会返回明确错误
- **多租户**:每个用户只看到自己所属公司的数据,天然隔离
- **遇到 401/Token 过期**:提示用户重新授权,不要尝试绕过
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!