关于 calendly-automation
calendly-automation 是通过 Rube MCP 与 Composio Calendly 工具包执行日程和组织管理的技能,适用于需要处理 Calendly 事件、预约者及可用时间的工作流。它说明了工具调用顺序、URI 与分页要求,并强调写入操作的权限和确认边界。
主要功能
- 01列出事件并查看预约者
- 02查询活动类型与可用时段
- 03创建单次预约链接
- 04管理组织邀请与成员
- 05按明确流程取消事件
适用场景
- 01查看指定范围内的预约事件
- 02查询某活动类型的可用时间
- 03为活动类型生成预约链接
- 04处理组织邀请或取消事件
MCP 相关
通过客户端连接 Rube MCP(`https://rube.app/mcp`),并使用 Composio 的 Calendly 工具包。执行前需确认 Calendly 连接状态并获取最新工具架构。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill calendly-automation安装后在 Claude Code 中输入/calendly-automation确认已加载。
详细介绍
通过 Rube MCP 自动化 Calendly
通过 Composio 的 Calendly 工具包自动执行 Calendly 操作,包括列出活动、管理受邀者、创建日程安排链接、查询空闲时间以及管理组织。
先决条件
- 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
- 必须通过
RUBE_MANAGE_CONNECTIONS建立有效的 Calendly 连接,工具包为calendly - 始终先调用
RUBE_SEARCH_TOOLS,以获取当前工具架构 - 许多操作需要用户的 Calendly URI,可通过
CALENDLY_GET_CURRENT_USER获取
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。仍需关联账户/OAuth 并授予所需权限范围;仅添加端点不会授予 Calendly 访问权限。只有在获得授权后,才能添加或更改主机配置。
- 确认
RUBE_SEARCH_TOOLS有响应,以验证 Rube MCP 是否可用 - 使用工具包
calendly调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请使用返回的授权链接完成 Calendly OAuth
- 运行任何工作流前,确认连接状态为 ACTIVE
核心工作流
执行写入操作前,先确认实际用户/组织及其时区。列出信息并不代表获得发送邀请、移除成员、创建日程安排链接或取消活动的授权;每项请求的变更都必须与其目标及通知影响对应。读取当前架构和返回的分页字段;此静态工具名称列表可能会有变动。对于结果不确定的写入操作,不要重试,先检查现有状态。
1. 列出和查看已安排的活动
使用场景:用户想查看即将举行、已结束或经过筛选的 Calendly 活动
工具调用顺序:
CALENDLY_GET_CURRENT_USER- 获取已验证用户 URI 和组织 URI[先决条件]CALENDLY_LIST_EVENTS- 按用户、组织或群组范围列出活动[必需]CALENDLY_GET_EVENT- 获取特定活动的详细信息(按 UUID 查询)[可选]
关键参数:
user:完整的 Calendly API URI(例如https://api.calendly.com/users/{uuid}),不能是"me"organization:用于组织范围查询的完整组织 URIstatus:"active"或"canceled"min_start_time/max_start_time:UTC 时间戳(例如2024-01-01T00:00:00.000000Z)invitee_email:按受邀者邮箱筛选活动(仅为筛选条件,不是范围)sort:"start_time:asc"或"start_time:desc"count:每页结果数(默认值为 20)page_token:上一条响应中的分页令牌
注意事项:
- 必须且只能提供
user、organization或group中的一个;省略或组合多个范围都会导致失败 user参数必须使用完整 API URI,不能是"me";请先使用CALENDLY_GET_CURRENT_USERinvitee_email是筛选条件,不是范围;仍需指定user、organization或group之一- 分页使用
count+page_token;循环获取结果,直到没有page_token,才能拿到完整结果 - 按组织或群组范围查询可能需要管理员权限
2. 管理活动受邀者
使用场景:用户想查看活动的预约者或获取受邀者详情
工具调用顺序:
CALENDLY_LIST_EVENTS- 查找目标活动[先决条件]CALENDLY_LIST_EVENT_INVITEES- 列出特定活动的所有受邀者[必需]CALENDLY_GET_EVENT_INVITEE- 获取单个受邀者的详细信息[可选]
关键参数:
uuid:活动 UUID(用于LIST_EVENT_INVITEES)event_uuid+invitee_uuid:调用GET_EVENT_INVITEE时两者均为必需email:按邮箱地址筛选受邀者status:"active"或"canceled"sort:"created_at:asc"或"created_at:desc"count:每页结果数(默认值为 20)
注意事项:
CALENDLY_LIST_EVENT_INVITEES的uuid参数是活动 UUID,而不是受邀者 UUID- 使用
page_token翻页,直到没有令牌,才能获取完整的受邀者列表 - 默认不包含已取消的受邀者;使用
status: "canceled"查看他们
3. 创建预约链接并检查可用时间
使用场景:用户想要生成预约链接或查看可用时间段
工具调用顺序:
CALENDLY_GET_CURRENT_USER- 获取用户 URI [前置条件]CALENDLY_LIST_USER_S_EVENT_TYPES- 列出可用的事件类型 [必需]CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES- 检查某种事件类型的可用时间段 [可选]CALENDLY_CREATE_SCHEDULING_LINK- 生成一次性预约链接 [必需]CALENDLY_LIST_USER_AVAILABILITY_SCHEDULES- 查看用户的可用时间安排 [可选]
关键参数:
owner:事件类型 URI(例如:https://api.calendly.com/event_types/{uuid})owner_type:"EventType"(默认值)max_event_count:一次性链接必须恰好设为1start_time/end_time:用于查询可用时间的 UTC 时间戳(最长 7 天)active:用于筛选启用或停用事件类型的布尔值user:用于列出事件类型的用户 URI
注意事项:
- 如果令牌没有相应权限或所有者 URI 无效,
CALENDLY_CREATE_SCHEDULING_LINK可能返回 403 错误 CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES要求使用 UTC 时间戳,且时间范围最长为 7 天;较长的查询需拆分进行- 可用时间结果不会分页——所有结果都会在一次响应中返回
- 事件类型 URI 必须是完整的 API URI(例如:
https://api.calendly.com/event_types/...)
4. 取消事件
使用场景:用户想要取消已安排的 Calendly 事件
工具调用顺序:
CALENDLY_LIST_EVENTS- 查找要取消的事件 [前置条件]CALENDLY_GET_EVENT- 取消前确认事件详情 [前置条件]CALENDLY_LIST_EVENT_INVITEES- 检查会受到影响的受邀者 [可选]CALENDLY_CANCEL_EVENT- 取消事件 [必需]
关键参数:
uuid:要取消的事件 UUIDreason:可选的取消原因(可能会包含在发送给受邀者的通知中)
注意事项:
- 取消操作不可撤销——调用前务必与用户确认
- 取消操作可能会向受邀者发送通知
- 只能取消处于活动状态的事件;已取消的事件会返回错误
- 执行
CALENDLY_CANCEL_EVENT前,务必先获得用户的明确确认
5. 管理组织和邀请
使用场景:用户想要邀请成员、管理组织或处理组织邀请
工具调用顺序:
CALENDLY_GET_CURRENT_USER- 获取用户和组织上下文 [前置条件]CALENDLY_GET_ORGANIZATION- 获取组织详情 [可选]CALENDLY_LIST_ORGANIZATION_INVITATIONS- 检查现有邀请 [可选]CALENDLY_CREATE_ORGANIZATION_INVITATION- 发送组织邀请 [必需]CALENDLY_REVOKE_USER_S_ORGANIZATION_INVITATION- 撤销待处理的邀请 [可选]CALENDLY_REMOVE_USER_FROM_ORGANIZATION- 移除成员 [可选]
关键参数:
uuid:组织 UUIDemail:要邀请用户的电子邮件地址status:按"pending"、"accepted"或"declined"筛选邀请
注意事项:
- 只有组织所有者或管理员可以管理邀请和移除成员;其他人会收到授权错误
- 同一电子邮件地址不能有重复的有效邀请——请先检查现有邀请
- 无法通过
CALENDLY_REMOVE_USER_FROM_ORGANIZATION移除组织所有者 - 邀请状态包括待处理、已接受、已拒绝和已撤销——请妥善处理每种状态
常见模式
ID 解析
Calendly 使用完整的 API URI 作为标识符,而不是简单 ID:
- 当前用户 URI:
CALENDLY_GET_CURRENT_USER返回resource.uri(例如:https://api.calendly.com/users/{uuid}) - 组织 URI:可在当前用户响应的
resource.current_organization中找到 - 事件 UUID:从事件 URI 或列表响应中提取
- 事件类型 URI:来自
CALENDLY_LIST_USER_S_EVENT_TYPES响应
重要提示:列表或筛选端点的用户参数绝不能使用 "me"。请务必先解析出完整 URI。
分页
大多数 Calendly 列表端点使用基于令牌的分页:
- 使用
count设置每页大小(默认 20) - 从
pagination.next_page_token中获取page_token并持续跟进,直到该字段不存在 - 使用
field:direction格式排序(例如start_time:asc、created_at:desc)
时间处理
- 所有时间戳必须使用 UTC 格式:
yyyy-MM-ddTHH:mm:ss.ffffffZ - 使用
min_start_time/max_start_time对事件进行日期范围筛选 - 可用时间查询的最大范围为 7 天;更长的搜索需拆分为多次调用
已知陷阱
URI 格式
- 所有实体引用都使用完整的 Calendly API URI(例如
https://api.calendly.com/users/{uuid}) - 在需要 URI 的地方绝不要传入裸 UUID,也绝不要向列表端点传入
"me" - 当工具需要 UUID 参数时(例如
CALENDLY_GET_EVENT),从 URI 中提取 UUID
权限范围要求
CALENDLY_LIST_EVENTS需要且仅需要一个范围(用户、组织或组)——不多不少- 以组织/组为范围的查询可能需要管理员权限
- 令牌范围决定可执行哪些操作;403 错误表示权限不足
数据关系
- 事件包含受邀者(进行预订的参与者)
- 事件类型定义预约页面(时长、可用性规则)
- 组织包含用户和组
- 预约链接绑定到事件类型,而非直接绑定到事件
速率限制
- Calendly API 有速率限制;避免对大型数据集进行紧密循环
- 负责任地分页,并为批量操作添加延迟
快速参考
| 任务 | 工具 Slug | 关键参数 |
|---|---|---|
| 获取当前用户 | CALENDLY_GET_CURRENT_USER | (无) |
| 通过 UUID 获取用户 | CALENDLY_GET_USER | uuid |
| 列出事件 | CALENDLY_LIST_EVENTS | user、status、min_start_time |
| 获取事件详情 | CALENDLY_GET_EVENT | uuid |
| 取消事件 | CALENDLY_CANCEL_EVENT | uuid、reason |
| 列出受邀者 | CALENDLY_LIST_EVENT_INVITEES | uuid、status、email |
| 获取受邀者 | CALENDLY_GET_EVENT_INVITEE | event_uuid、invitee_uuid |
| 列出事件类型 | CALENDLY_LIST_USER_S_EVENT_TYPES | user、active |
| 获取事件类型 | CALENDLY_GET_EVENT_TYPE | uuid |
| 检查可用性 | CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES | 事件类型 URI、start_time、end_time |
| 创建预约链接 | CALENDLY_CREATE_SCHEDULING_LINK | owner、max_event_count |
| 列出可用性计划 | CALENDLY_LIST_USER_AVAILABILITY_SCHEDULES | 用户 URI |
| 获取组织 | CALENDLY_GET_ORGANIZATION | uuid |
| 邀请加入组织 | CALENDLY_CREATE_ORGANIZATION_INVITATION | uuid、email |
| 列出组织邀请 | CALENDLY_LIST_ORGANIZATION_INVITATIONS | uuid、status |
| 撤销组织邀请 | CALENDLY_REVOKE_USER_S_ORGANIZATION_INVITATION | 组织 UUID、邀请 UUID |
| 从组织中移除 | CALENDLY_REMOVE_USER_FROM_ORGANIZATION | 成员资格 UUID |
何时使用
本技能适用于执行概述中描述的工作流或操作。
示例
用户请求:
通过 Rube MCP(Composio)自动化 Calendly 预约、事件管理、受邀者跟踪、可用性检查和组织管理。
限制
- 仅当任务明确符合上述范围时才使用本技能。
- 不要将输出视为特定环境验证、测试或专家审查的替代品。
- 如果缺少必要输入、权限、安全边界或成功标准,请停止并请求澄清。