【计算机工具类-协作工具Skills】cal-com-automation 技能
通过Rube MCP (Composio)自动化Cal.com任务:管理预订、检查可用性、配置webhooks和处理团队。始终先搜索工具以获取当前架构。
技能概述
cal-com-automation 技能通过Composio的Cal工具包和Rube MCP自动化Cal.com日程安排操作。此技能允许AI代理管理预订、检查可用性、配置webhooks和处理团队,实现日程安排的自动化流程。
下载地址:antigravity-awesome-skills/skills/cal-com-automation at main · sickn33/antigravity-awesome-skills · GitHub
主要功能
- 预订管理:列出、创建和审查预订
- 可用性检查:查找空闲/忙碌时间和可用预订时段
- Webhook配置:设置和管理预订事件的webhook通知
- 团队管理:处理团队相关的日程安排任务
- 事件类型管理:管理不同类型的预订事件
- 日历集成:与Google Calendar、Outlook等日历集成
触发条件
在以下情况下应该使用此技能:
- 用户想要列出、创建或审查预订
- 用户想要查找空闲/忙碌时间或可用预订时段
- 用户想要设置或管理预订事件的webhook通知
- 需要管理团队日程安排
- 需要检查特定时间段的可用性
前置条件
重要:使用此技能前需要完成以下设置:
- Rube MCP必须已连接(RUBE_SEARCH_TOOLS可用)
- 通过RUBE_MANAGE_CONNECTIONS建立活跃的Cal.com连接
- 始终先调用RUBE_SEARCH_TOOLS获取当前工具架构
使用场景
场景1:预订管理
用户需要查看现有预订、创建新预订或审查预订详情。
场景2:可用性检查
用户需要查找特定时间段的空闲时间或可用的预订时段。
场景3:Webhook配置
用户需要设置webhook以接收预订事件的实时通知。
处理过程
1. 设置和连接
首先验证Rube MCP可用性,然后建立Cal.com连接。
1. 验证RUBE_SEARCH_TOOLS响应 2. 调用RUBE_MANAGE_CONNECTIONS(toolkit: cal) 3. 如果连接未激活,按照返回的认证链接完成Cal.com认证 4. 确认连接状态显示ACTIVE
2. 预订管理工作流
管理预订的工作流程:
{
"tool_sequence": [
{
"tool_name": "CAL_FETCH_ALL_BOOKINGS",
"description": "列出所有预订(带过滤器)",
"required": true,
"parameters": {
"status": {
"type": "string",
"enum": ["upcoming", "recurring", "past", "cancelled", "unconfirmed"],
"description": "按预订状态过滤"
},
"afterStart": {
"type": "string",
"format": "date-time",
"description": "过滤此日期之后的预订(ISO 8601)"
},
"beforeEnd": {
"type": "string",
"format": "date-time",
"description": "过滤此日期之前的预订(ISO 8601)"
}
}
},
{
"tool_name": "CAL_POST_NEW_BOOKING_REQUEST",
"description": "创建新预订",
"required": false,
"parameters": {
"eventTypeId": {
"type": "string",
"description": "预订的事件类型ID"
},
"start": {
"type": "string",
"format": "date-time",
"description": "预订开始时间(ISO 8601)"
},
"end": {
"type": "string",
"format": "date-time",
"description": "预订结束时间(ISO 8601)"
},
"name": {
"type": "string",
"description": "参与者姓名"
},
"email": {
"type": "string",
"format": "email",
"description": "参与者邮箱"
},
"timeZone": {
"type": "string",
"description": "参与者时区(IANA格式)"
},
"language": {
"type": "string",
"description": "参与者语言代码"
},
"metadata": {
"type": "object",
"description": "其他元数据对象"
}
}
}
]
}
3. 可用性检查工作流
检查可用性的工作流程:
{
"tool_sequence": [
{
"tool_name": "CAL_RETRIEVE_CALENDAR_BUSY_TIMES",
"description": "获取忙碌时间块",
"required": true,
"parameters": {}
},
{
"tool_name": "CAL_GET_AVAILABLE_SLOTS_INFO",
"description": "获取特定可用时段",
"required": true,
"parameters": {
"dateFrom": {
"type": "string",
"format": "date",
"description": "可用性检查开始日期(YYYY-MM-DD)"
},
"dateTo": {
"type": "string",
"format": "date",
"description": "可用性检查结束日期(YYYY-MM-DD)"
},
"eventTypeId": {
"type": "string",
"description": "检查时段的事件类型"
},
"timeZone": {
"type": "string",
"description": "可用性响应的时区"
},
"loggedInUsersTz": {
"type": "string",
"description": "请求用户的时区"
}
}
}
]
}
4. Webhook配置工作流
配置webhooks的工作流程:
{
"tool_sequence": [
{
"tool_name": "CAL_RETRIEVE_WEBHOOKS_LIST",
"description": "列出现有webhooks",
"required": true,
"parameters": {}
},
{
"tool_name": "CAL_GET_WEBHOOK_BY_ID",
"description": "获取特定webhook详情",
"required": false,
"parameters": {
"id": {
"type": "string",
"description": "Webhook ID"
}
}
},
{
"tool_name": "CAL_UPDATE_WEBHOOK_BY_ID",
"description": "更新webhook配置",
"required": false,
"parameters": {
"id": {
"type": "string",
"description": "Webhook ID"
},
"subscriberUrl": {
"type": "string",
"format": "uri",
"description": "Webhook端点URL"
},
"eventTriggers": {
"type": "array",
"items": {
"type": "string"
},
"description": "触发事件类型数组"
},
"active": {
"type": "boolean",
"description": "Webhook是否激活"
},
"secret": {
"type": "string",
"description": "Webhook签名密钥"
}
}
},
{
"tool_name": "CAL_DELETE_WEBHOOK_BY_ID",
"description": "删除webhook",
"required": false,
"parameters": {
"id": {
"type": "string",
"description": "Webhook ID"
}
}
}
]
}
输入要求
使用此技能需要提供以下输入:
- Rube MCP连接:必须先配置Rube MCP服务器
- Cal.com认证:需要完成Cal.com认证流程
- 事件类型ID:要预订的事件类型ID
- 时间参数:开始时间、结束时间、时区等
- 参与者信息:姓名、邮箱、语言等
- Webhook参数:订阅URL、事件触发器、密钥等
输出说明
此技能提供以下输出:
- 预订列表:所有预订及其状态和详情
- 预订详情:特定预订的完整信息
- 忙碌时间:日历中不可用的时间块
- 可用时段:可以预订的时间段
- Webhook列表:所有已配置的webhooks
- Webhook详情:特定webhook的配置信息
关键参数说明
| 参数 | 说明 | 用途 |
|---|---|---|
| eventTypeId | 事件类型ID | 指定预订的事件类型 |
| status | 预订状态 | 按状态过滤预订 |
| start/end | 开始/结束时间 | 预订的时间范围(ISO 8601格式) |
| timeZone | 时区 | IANA格式的时区字符串(如'America/New_York') |
| dateFrom/dateTo | 日期范围 | 可用性检查的日期范围(YYYY-MM-DD) |
| subscriberUrl | 订阅URL | Webhook接收通知的端点 |
常见陷阱
注意事项:
- 日期过滤器使用ISO 8601格式和时区(如'2024-01-15T09:00:00Z')
- eventTypeId必须引用有效、活跃的事件类型
- 创建预订需要匹配可用时段;先检查可用性
- 时区必须是有效的IANA时区字符串
- 状态过滤器值是特定字符串;无效值返回空结果
- 忙碌时间显示用户不可用的时间
- 可用时段特定于事件类型的持续时间和配置
- 日期范围应合理(不要提前数月)以获得准确结果
使用示例
示例1:列出即将到来的预订
{
"tool_name": "CAL_FETCH_ALL_BOOKINGS",
"parameters": {
"status": "upcoming",
"afterStart": "2026-01-01T00:00:00Z"
}
}
示例2:检查可用性并创建预订
{
"tool_sequence": [
{
"tool_name": "CAL_GET_AVAILABLE_SLOTS_INFO",
"parameters": {
"dateFrom": "2026-01-15",
"dateTo": "2026-01-15",
"eventTypeId": "12345",
"timeZone": "America/New_York"
}
},
{
"tool_name": "CAL_POST_NEW_BOOKING_REQUEST",
"parameters": {
"eventTypeId": "12345",
"start": "2026-01-15T10:00:00Z",
"end": "2026-01-15T10:30:00Z",
"name": "张三",
"email": "zhangsan@example.com",
"timeZone": "America/New_York"
}
}
]
}
示例3:配置Webhook
{
"tool_name": "CAL_CREATE_WEBHOOK",
"parameters": {
"subscriberUrl": "https://myapp.com/webhooks/cal",
"eventTriggers": ["BOOKING_CREATED", "BOOKING_CANCELLED"],
"active": true,
"secret": "my_webhook_secret"
}
}
最佳实践
提示:
- 始终先调用RUBE_SEARCH_TOOLS获取最新的工具架构
- 在执行操作前验证连接状态为ACTIVE
- 创建预订前先检查可用性
- 使用正确的IANA时区格式
- 合理设置日期范围以获得准确的可用性结果
- 为webhook配置签名密钥以确保安全性
- 定期检查webhook状态以确保通知正常工作
设置指南
获取Rube MCP
在客户端配置中将https://rube.app/mcp添加为MCP服务器。无需API密钥 - 只需添加端点即可使用。
风险等级
警告:此技能风险等级为 CRITICAL
此技能涉及预订管理和日程安排,可能影响重要的时间安排。使用时请确保:
- 仔细验证预订时间和参与者信息
- 在创建预订前确认时间可用
- 及时通知参与者预订变更
- 遵守组织的日程安排政策
- 保护参与者隐私信息
相关资源
- GitHub仓库
- Rube MCP文档
- Composio Cal工具包
- Cal.com API文档