Calendly 自动化:通过 MCP 管理日程和事件 - Openclaw Skills
作者:互联网
2026-03-24
什么是 Calendly 自动化?
此技能使 AI 代理能够通过 Rube MCP 服务器直接与 Calendly API 交互。它提供了一套完整的工具,用于管理预定会议的生命周期、跟踪受邀者参与度以及生成动态调度链接。通过利用 Openclaw Skills,开发人员可以将日历逻辑集成到其自主代理中,从而实现团队成员与外部客户之间的无缝协调,无需人工干预。
该集成通过处理 OAuth 流程并为基于 URI 的资源识别提供结构化接口,简化了复杂的调度任务。无论您是构建需要发送预订链接的销售机器人,还是构建用于管理团队可用性的内部工具,此技能都为 Openclaw Skills 生态系统内的稳健日历自动化提供了技术基础。
下载入口:https://github.com/openclaw/skills/tree/main/skills/sohamganatra/calendly-automation
安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install calendly-automation
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 calendly-automation。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
Calendly 自动化 应用场景
- 自动列出即将举行的会议,用于每日简报或状态报告。
- 在 CRM 工作流程中为潜在潜在客户生成单次使用的调度链接。
- 在向客户建议会议时间之前,实时检查特定事件类型的可用性。
- 管理大规模组织邀请和成员移除,用于人力资源自动化。
- 根据上下文取消事件并向受邀者发送包含个性化原因的通知。
- 代理初始化 Rube MCP 服务器并使用 RUBE_SEARCH_TOOLS 验证 Calendly 连接状态。
- 调用 CALENDLY_GET_CURRENT_USER 工具以解析经过身份验证的用户的 URI 和组织上下文。
- 根据意图调用特定工具,例如用于发现的 CALENDLY_LIST_EVENTS 或用于生成链接的 CALENDLY_CREATE_SCHEDULING_LINK。
- 该技能处理基于 URI 的资源映射和 UTC 时间戳格式化,以确保严格的 API 兼容性。
- 使用基于令牌的逻辑处理分页结果,以检索代理上下文的完整数据集。
Calendly 自动化 配置指南
要在 Openclaw Skills 框架内使用此功能,请按照以下步骤操作:
- 将 Rube MCP 服务器添加到您的客户端配置:
# MCP 端点
https://rube.app/mcp
- 验证 MCP 是否可用并搜索工具包:
# 使用工具搜索功能
RUBE_SEARCH_TOOLS(query="calendly")
- 验证您的帐户:
# 调用管理工具
RUBE_MANAGE_CONNECTIONS(toolkit="calendly")
- 按照返回的 OAuth 链接完成连接。
Calendly 自动化 数据架构与分类体系
该技能使用完整的 Calendly API URI 和结构化对象组织数据。以下是主要的元数据分类:
| 实体 | 识别 | 关键元数据 |
|---|---|---|
| 用户 | 完整 API URI | 名称、电子邮件、组织 URI |
| 事件 | UUID / URI | 开始/结束时间、状态、受邀者列表 |
| 受邀者 | UUID | 电子邮件、状态、重排/取消 URL |
| 事件类型 | URI | 持续时间、预订规则、激活状态 |
| 组织 | UUID / URI | 成员列表、挂起的邀请 |
所有时间戳均以 UTC 格式处理(yyyy-MM-ddTHH:mm:ss.ffffffZ)。
name: calendly-automation
description: Automate Calendly scheduling, event management, invitee tracking, availability checks, and organization administration via Rube MCP (Composio). Always search tools first for current schemas.
requires:
mcp: [rube]
Calendly Automation via Rube MCP
Automate Calendly operations including event listing, invitee management, scheduling link creation, availability queries, and organization administration through Composio's Calendly toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Calendly connection via
RUBE_MANAGE_CONNECTIONSwith toolkitcalendly - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas - Many operations require the user's Calendly URI, obtained via
CALENDLY_GET_CURRENT_USER
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitcalendly - If connection is not ACTIVE, follow the returned auth link to complete Calendly OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. List and View Scheduled Events
When to use: User wants to see their upcoming, past, or filtered Calendly events
Tool sequence:
CALENDLY_GET_CURRENT_USER- Get authenticated user URI and organization URI [Prerequisite]CALENDLY_LIST_EVENTS- List events scoped by user, organization, or group [Required]CALENDLY_GET_EVENT- Get detailed info for a specific event by UUID [Optional]
Key parameters:
user: Full Calendly API URI (e.g.,https://api.calendly.com/users/{uuid}) - NOT"me"organization: Full organization URI for org-scoped queriesstatus:"active"or"canceled"min_start_time/max_start_time: UTC timestamps (e.g.,2024-01-01T00:00:00.000000Z)invitee_email: Filter events by invitee email (filter only, not a scope)sort:"start_time:asc"or"start_time:desc"count: Results per page (default 20)page_token: Pagination token from previous response
Pitfalls:
- Exactly ONE of
user,organization, orgroupmust be provided - omitting or combining scopes fails - The
userparameter requires the full API URI, not"me"- useCALENDLY_GET_CURRENT_USERfirst invitee_emailis a filter, not a scope; you still need one of user/organization/group- Pagination uses
count+page_token; loop untilpage_tokenis absent for complete results - Admin rights may be needed for organization or group scope queries
2. Manage Event Invitees
When to use: User wants to see who is booked for events or get invitee details
Tool sequence:
CALENDLY_LIST_EVENTS- Find the target event(s) [Prerequisite]CALENDLY_LIST_EVENT_INVITEES- List all invitees for a specific event [Required]CALENDLY_GET_EVENT_INVITEE- Get detailed info for a single invitee [Optional]
Key parameters:
uuid: Event UUID (forLIST_EVENT_INVITEES)event_uuid+invitee_uuid: Both required forGET_EVENT_INVITEEemail: Filter invitees by email addressstatus:"active"or"canceled"sort:"created_at:asc"or"created_at:desc"count: Results per page (default 20)
Pitfalls:
- The
uuidparameter forCALENDLY_LIST_EVENT_INVITEESis the event UUID, not the invitee UUID - Paginate using
page_tokenuntil absent for complete invitee lists - Canceled invitees are excluded by default; use
status: "canceled"to see them
3. Create Scheduling Links and Check Availability
When to use: User wants to generate a booking link or check available time slots
Tool sequence:
CALENDLY_GET_CURRENT_USER- Get user URI [Prerequisite]CALENDLY_LIST_USER_S_EVENT_TYPES- List available event types [Required]CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES- Check available slots for an event type [Optional]CALENDLY_CREATE_SCHEDULING_LINK- Generate a single-use scheduling link [Required]CALENDLY_LIST_USER_AVAILABILITY_SCHEDULES- View user's availability schedules [Optional]
Key parameters:
owner: Event type URI (e.g.,https://api.calendly.com/event_types/{uuid})owner_type:"EventType"(default)max_event_count: Must be exactly1for single-use linksstart_time/end_time: UTC timestamps for availability queries (max 7-day range)active: Boolean to filter active/inactive event typesuser: User URI for event type listing
Pitfalls:
CALENDLY_CREATE_SCHEDULING_LINKcan return 403 if token lacks rights or owner URI is invalidCALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMESrequires UTC timestamps and max 7-day range; split longer searches- Available times results are NOT paginated - all results returned in one response
- Event type URIs must be full API URIs (e.g.,
https://api.calendly.com/event_types/...)
4. Cancel Events
When to use: User wants to cancel a scheduled Calendly event
Tool sequence:
CALENDLY_LIST_EVENTS- Find the event to cancel [Prerequisite]CALENDLY_GET_EVENT- Confirm event details before cancellation [Prerequisite]CALENDLY_LIST_EVENT_INVITEES- Check who will be affected [Optional]CALENDLY_CANCEL_EVENT- Cancel the event [Required]
Key parameters:
uuid: Event UUID to cancelreason: Optional cancellation reason (may be included in notification to invitees)
Pitfalls:
- Cancellation is IRREVERSIBLE - always confirm with the user before calling
- Cancellation may trigger notifications to invitees
- Only active events can be canceled; already-canceled events return errors
- Get explicit user confirmation before executing
CALENDLY_CANCEL_EVENT
5. Manage Organization and Invitations
When to use: User wants to invite members, manage organization, or handle org invitations
Tool sequence:
CALENDLY_GET_CURRENT_USER- Get user and organization context [Prerequisite]CALENDLY_GET_ORGANIZATION- Get organization details [Optional]CALENDLY_LIST_ORGANIZATION_INVITATIONS- Check existing invitations [Optional]CALENDLY_CREATE_ORGANIZATION_INVITATION- Send an org invitation [Required]CALENDLY_REVOKE_USER_S_ORGANIZATION_INVITATION- Revoke a pending invitation [Optional]CALENDLY_REMOVE_USER_FROM_ORGANIZATION- Remove a member [Optional]
Key parameters:
uuid: Organization UUIDemail: Email address of user to invitestatus: Filter invitations by"pending","accepted", or"declined"
Pitfalls:
- Only org owners/admins can manage invitations and removals; others get authorization errors
- Duplicate active invitations for the same email are rejected - check existing invitations first
- Organization owners cannot be removed via
CALENDLY_REMOVE_USER_FROM_ORGANIZATION - Invitation statuses include pending, accepted, declined, and revoked - handle each appropriately
Common Patterns
ID Resolution
Calendly uses full API URIs as identifiers, not simple IDs:
- Current user URI:
CALENDLY_GET_CURRENT_USERreturnsresource.uri(e.g.,https://api.calendly.com/users/{uuid}) - Organization URI: Found in current user response at
resource.current_organization - Event UUID: Extract from event URI or list responses
- Event type URI: From
CALENDLY_LIST_USER_S_EVENT_TYPESresponse
Important: Never use "me" as a user parameter in list/filter endpoints. Always resolve to the full URI first.
Pagination
Most Calendly list endpoints use token-based pagination:
- Set
countfor page size (default 20) - Follow
page_tokenfrompagination.next_page_tokenuntil absent - Sort with
field:directionformat (e.g.,start_time:asc,created_at:desc)
Time Handling
- All timestamps must be in UTC format:
yyyy-MM-ddTHH:mm:ss.ffffffZ - Use
min_start_time/max_start_timefor date range filtering on events - Available times queries have a maximum 7-day range; split longer searches into multiple calls
Known Pitfalls
URI Formats
- All entity references use full Calendly API URIs (e.g.,
https://api.calendly.com/users/{uuid}) - Never pass bare UUIDs where URIs are expected, and never pass
"me"to list endpoints - Extract UUIDs from URIs when tools expect UUID parameters (e.g.,
CALENDLY_GET_EVENT)
Scope Requirements
CALENDLY_LIST_EVENTSrequires exactly one scope (user, organization, or group) - no more, no less- Organization/group scoped queries may require admin privileges
- Token scope determines which operations are available; 403 errors indicate insufficient permissions
Data Relationships
- Events have invitees (attendees who booked)
- Event types define scheduling pages (duration, availability rules)
- Organizations contain users and groups
- Scheduling links are tied to event types, not directly to events
Rate Limits
- Calendly API has rate limits; avoid tight loops over large datasets
- Paginate responsibly and add delays for batch operations
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Get current user | CALENDLY_GET_CURRENT_USER |
(none) |
| Get user by UUID | CALENDLY_GET_USER |
uuid |
| List events | CALENDLY_LIST_EVENTS |
user, status, min_start_time |
| Get event details | CALENDLY_GET_EVENT |
uuid |
| Cancel event | CALENDLY_CANCEL_EVENT |
uuid, reason |
| List invitees | CALENDLY_LIST_EVENT_INVITEES |
uuid, status, email |
| Get invitee | CALENDLY_GET_EVENT_INVITEE |
event_uuid, invitee_uuid |
| List event types | CALENDLY_LIST_USER_S_EVENT_TYPES |
user, active |
| Get event type | CALENDLY_GET_EVENT_TYPE |
uuid |
| Check availability | CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES |
event type URI, start_time, end_time |
| Create scheduling link | CALENDLY_CREATE_SCHEDULING_LINK |
owner, max_event_count |
| List availability schedules | CALENDLY_LIST_USER_AVAILABILITY_SCHEDULES |
user URI |
| Get organization | CALENDLY_GET_ORGANIZATION |
uuid |
| Invite to org | CALENDLY_CREATE_ORGANIZATION_INVITATION |
uuid, email |
| List org invitations | CALENDLY_LIST_ORGANIZATION_INVITATIONS |
uuid, status |
| Revoke org invitation | CALENDLY_REVOKE_USER_S_ORGANIZATION_INVITATION |
org UUID, invitation UUID |
| Remove from org | CALENDLY_REMOVE_USER_FROM_ORGANIZATION |
membership UUID |
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
信号管道:自动化营销情报工具 - Openclaw Skills
技能收益追踪器:监控 Openclaw 技能并实现变现
AI 合规准备就绪度:评估与治理工具 - Openclaw Skills
FOSMVVM ServerRequest 测试生成器:自动化 API 测试 - Openclaw Skills
酒店搜索器:AI 赋能的住宿与位置情报 - Openclaw Skills
Dub 链接 API:程序化链接管理 - Openclaw Skills
IntercomSwap:P2P BTC 与 USDT 跨链兑换 - Openclaw Skills
spotplay:macOS 原生 Spotify 播放控制 - Openclaw Skills
DeepSeek OCR:AI驱动的图像文本识别 - Openclaw Skills
Web Navigator:自动化网页研究与浏览 - Openclaw Skills
AI精选
