calendly-automation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCalendly Automation via Rube MCP
通过Rube MCP实现Calendly自动化
Automate Calendly operations including event listing, invitee management, scheduling link creation, availability queries, and organization administration through Composio's Calendly toolkit.
通过Composio的Calendly工具包,实现Calendly操作的自动化,包括活动列出、参会者管理、预约链接创建、可用性查询以及组织管理。
Prerequisites
前提条件
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Calendly connection via with toolkit
RUBE_MANAGE_CONNECTIONScalendly - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS - Many operations require the user's Calendly URI, obtained via
CALENDLY_GET_CURRENT_USER
- 已连接Rube MCP(RUBE_SEARCH_TOOLS可用)
- 通过并使用工具包
RUBE_MANAGE_CONNECTIONS完成Calendly的激活连接calendly - 请始终先调用以获取最新的工具模式
RUBE_SEARCH_TOOLS - 许多操作需要用户的Calendly URI,可通过获取
CALENDLY_GET_CURRENT_USER
Setup
设置步骤
Get Rube MCP: Add as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
https://rube.app/mcp- Verify Rube MCP is available by confirming responds
RUBE_SEARCH_TOOLS - Call with toolkit
RUBE_MANAGE_CONNECTIONScalendly - If connection is not ACTIVE, follow the returned auth link to complete Calendly OAuth
- Confirm connection status shows ACTIVE before running any workflows
获取Rube MCP:在客户端配置中添加作为MCP服务器。无需API密钥——只需添加端点即可使用。
https://rube.app/mcp- 通过确认能正常响应,验证Rube MCP是否可用
RUBE_SEARCH_TOOLS - 调用并指定工具包
RUBE_MANAGE_CONNECTIONScalendly - 如果连接状态未显示为ACTIVE,请按照返回的授权链接完成Calendly OAuth认证
- 在运行任何工作流之前,确认连接状态为ACTIVE
Core Workflows
核心工作流
1. List and View Scheduled Events
1. 列出并查看已预约活动
When to use: User wants to see their upcoming, past, or filtered Calendly events
Tool sequence:
- - Get authenticated user URI and organization URI [Prerequisite]
CALENDLY_GET_CURRENT_USER - - List events scoped by user, organization, or group [Required]
CALENDLY_LIST_EVENTS - - Get detailed info for a specific event by UUID [Optional]
CALENDLY_GET_EVENT
Key parameters:
- : Full Calendly API URI (e.g.,
user) - NOThttps://api.calendly.com/users/{uuid}"me" - : Full organization URI for org-scoped queries
organization - :
statusor"active""canceled" - /
min_start_time: UTC timestamps (e.g.,max_start_time)2024-01-01T00:00:00.000000Z - : Filter events by invitee email (filter only, not a scope)
invitee_email - :
sortor"start_time:asc""start_time:desc" - : Results per page (default 20)
count - : Pagination token from previous response
page_token
Pitfalls:
- Exactly ONE of ,
user, ororganizationmust be provided - omitting or combining scopes failsgroup - The parameter requires the full API URI, not
user- use"me"firstCALENDLY_GET_CURRENT_USER - is a filter, not a scope; you still need one of user/organization/group
invitee_email - Pagination uses +
count; loop untilpage_tokenis absent for complete resultspage_token - Admin rights may be needed for organization or group scope queries
适用场景:用户希望查看即将到来、已结束或经过筛选的Calendly活动
工具执行序列:
- - 获取已认证用户的URI和组织URI [前提条件]
CALENDLY_GET_CURRENT_USER - - 按用户、组织或组范围列出活动 [必需]
CALENDLY_LIST_EVENTS - - 通过UUID获取特定活动的详细信息 [可选]
CALENDLY_GET_EVENT
关键参数:
- : Calendly API完整URI(例如:
user)- 不可使用https://api.calendly.com/users/{uuid}"me" - : 用于组织范围查询的完整组织URI
organization - :
status或"active""canceled" - /
min_start_time: UTC时间戳(例如:max_start_time)2024-01-01T00:00:00.000000Z - : 按参会者邮箱筛选活动(仅为筛选条件,非范围参数)
invitee_email - :
sort或"start_time:asc""start_time:desc" - : 每页结果数量(默认20)
count - : 上一次响应中的分页令牌
page_token
注意事项:
- 必须且只能提供、
user或organization中的一个参数——省略或组合多个范围参数会导致失败group - 参数需要完整的API URI,不可使用
user——请先调用"me"获取CALENDLY_GET_CURRENT_USER - 是筛选条件,而非范围参数;仍需提供user/organization/group中的一个
invitee_email - 使用+
count进行分页,直到page_token不存在时获取完整结果page_token - 组织或组范围的查询可能需要管理员权限
2. Manage Event Invitees
2. 管理活动参会者
When to use: User wants to see who is booked for events or get invitee details
Tool sequence:
- - Find the target event(s) [Prerequisite]
CALENDLY_LIST_EVENTS - - List all invitees for a specific event [Required]
CALENDLY_LIST_EVENT_INVITEES - - Get detailed info for a single invitee [Optional]
CALENDLY_GET_EVENT_INVITEE
Key parameters:
- : Event UUID (for
uuid)LIST_EVENT_INVITEES - +
event_uuid: Both required forinvitee_uuidGET_EVENT_INVITEE - : Filter invitees by email address
email - :
statusor"active""canceled" - :
sortor"created_at:asc""created_at:desc" - : Results per page (default 20)
count
Pitfalls:
- The parameter for
uuidis the event UUID, not the invitee UUIDCALENDLY_LIST_EVENT_INVITEES - Paginate using until absent for complete invitee lists
page_token - Canceled invitees are excluded by default; use to see them
status: "canceled"
适用场景:用户希望查看活动的已预约人员或获取参会者详细信息
工具执行序列:
- - 找到目标活动 [前提条件]
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" - : 每页结果数量(默认20)
count
注意事项:
- 中的
CALENDLY_LIST_EVENT_INVITEES参数是活动UUID,而非参会者UUIDuuid - 使用进行分页,直到不存在时获取完整的参会者列表
page_token - 默认会排除已取消预约的参会者;需使用才能查看
status: "canceled"
3. Create Scheduling Links and Check Availability
3. 创建预约链接并检查可用性
When to use: User wants to generate a booking link or check available time slots
Tool sequence:
- - Get user URI [Prerequisite]
CALENDLY_GET_CURRENT_USER - - List available event types [Required]
CALENDLY_LIST_USER_S_EVENT_TYPES - - Check available slots for an event type [Optional]
CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES - - Generate a single-use scheduling link [Required]
CALENDLY_CREATE_SCHEDULING_LINK - - View user's availability schedules [Optional]
CALENDLY_LIST_USER_AVAILABILITY_SCHEDULES
Key parameters:
- : Event type URI (e.g.,
owner)https://api.calendly.com/event_types/{uuid} - :
owner_type(default)"EventType" - : Must be exactly
max_event_countfor single-use links1 - /
start_time: UTC timestamps for availability queries (max 7-day range)end_time - : Boolean to filter active/inactive event types
active - : User URI for event type listing
user
Pitfalls:
- can return 403 if token lacks rights or owner URI is invalid
CALENDLY_CREATE_SCHEDULING_LINK - requires UTC timestamps and max 7-day range; split longer searches
CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES - 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/...
适用场景:用户希望生成预约链接或查询可用时间段
工具执行序列:
- - 获取用户URI [前提条件]
CALENDLY_GET_CURRENT_USER - - 列出可用的活动类型 [必需]
CALENDLY_LIST_USER_S_EVENT_TYPES - - 查询特定活动类型的可用时段 [可选]
CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES - - 生成单次使用的预约链接 [必需]
CALENDLY_CREATE_SCHEDULING_LINK - - 查看用户的可用时间安排 [可选]
CALENDLY_LIST_USER_AVAILABILITY_SCHEDULES
关键参数:
- : 活动类型URI(例如:
owner)https://api.calendly.com/event_types/{uuid} - :
owner_type(默认值)"EventType" - : 生成单次使用链接时必须设为
max_event_count1 - /
start_time: 用于可用性查询的UTC时间戳(最大时间范围为7天)end_time - : 布尔值,用于筛选活跃/非活跃的活动类型
active - : 用于列出活动类型的用户URI
user
注意事项:
- 如果令牌权限不足或owner URI无效,可能返回403错误
CALENDLY_CREATE_SCHEDULING_LINK - 要求使用UTC时间戳且最大时间范围为7天;如需查询更长时间,请拆分为多次调用
CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES - 可用时段的查询结果不支持分页——所有结果会在一次响应中返回
- 活动类型URI必须是完整的API URI(例如:)
https://api.calendly.com/event_types/...
4. Cancel Events
4. 取消活动
When to use: User wants to cancel a scheduled Calendly event
Tool sequence:
- - Find the event to cancel [Prerequisite]
CALENDLY_LIST_EVENTS - - Confirm event details before cancellation [Prerequisite]
CALENDLY_GET_EVENT - - Check who will be affected [Optional]
CALENDLY_LIST_EVENT_INVITEES - - Cancel the event [Required]
CALENDLY_CANCEL_EVENT
Key parameters:
- : Event UUID to cancel
uuid - : Optional cancellation reason (may be included in notification to invitees)
reason
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
适用场景:用户希望取消已预约的Calendly活动
工具执行序列:
- - 找到要取消的活动 [前提条件]
CALENDLY_LIST_EVENTS - - 取消前确认活动详情 [前提条件]
CALENDLY_GET_EVENT - - 查看受影响的参会者 [可选]
CALENDLY_LIST_EVENT_INVITEES - - 取消活动 [必需]
CALENDLY_CANCEL_EVENT
关键参数:
- : 要取消的活动UUID
uuid - : 可选的取消原因(可能会包含给参会者的通知中)
reason
注意事项:
- 取消操作不可撤销——执行前请务必与用户确认
CALENDLY_CANCEL_EVENT - 取消操作可能会向参会者发送通知
- 仅可取消活跃状态的活动;已取消的活动会返回错误
- 执行前请获取用户的明确确认
CALENDLY_CANCEL_EVENT
5. Manage Organization and Invitations
5. 管理组织与邀请
When to use: User wants to invite members, manage organization, or handle org invitations
Tool sequence:
- - Get user and organization context [Prerequisite]
CALENDLY_GET_CURRENT_USER - - Get organization details [Optional]
CALENDLY_GET_ORGANIZATION - - Check existing invitations [Optional]
CALENDLY_LIST_ORGANIZATION_INVITATIONS - - Send an org invitation [Required]
CALENDLY_CREATE_ORGANIZATION_INVITATION - - Revoke a pending invitation [Optional]
CALENDLY_REVOKE_USER_S_ORGANIZATION_INVITATION - - Remove a member [Optional]
CALENDLY_REMOVE_USER_FROM_ORGANIZATION
Key parameters:
- : Organization UUID
uuid - : Email address of user to invite
email - : Filter invitations by
status,"pending", or"accepted""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
适用场景:用户希望邀请成员、管理组织或处理组织邀请
工具执行序列:
- - 获取用户和组织上下文 [前提条件]
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
uuid - : 被邀请用户的邮箱地址
email - : 按
status、"pending"或"accepted"筛选邀请"declined"
注意事项:
- 仅组织所有者/管理员可管理邀请和成员移除;其他用户会收到权限错误
- 同一邮箱的重复活跃邀请会被拒绝——请先检查现有邀请
- 无法通过移除组织所有者
CALENDLY_REMOVE_USER_FROM_ORGANIZATION - 邀请状态包括pending(待处理)、accepted(已接受)、declined(已拒绝)和revoked(已撤销)——请分别处理每种状态
Common Patterns
通用模式
ID Resolution
ID解析
Calendly uses full API URIs as identifiers, not simple IDs:
- Current user URI: returns
CALENDLY_GET_CURRENT_USER(e.g.,resource.uri)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 response
CALENDLY_LIST_USER_S_EVENT_TYPES
Important: Never use as a user parameter in list/filter endpoints. Always resolve to the full URI first.
"me"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
重要提示:在列表/筛选端点中,切勿使用作为user参数。请始终先解析为完整URI。
"me"Pagination
分页
Most Calendly list endpoints use token-based pagination:
- Set for page size (default 20)
count - Follow from
page_tokenuntil absentpagination.next_page_token - Sort with format (e.g.,
field:direction,start_time:asc)created_at:desc
大多数Calendly列表端点使用基于令牌的分页:
- 设置指定每页大小(默认20)
count - 跟随中的
pagination.next_page_token,直到该令牌不存在page_token - 使用格式进行排序(例如:
field:direction、start_time:asc)created_at:desc
Time Handling
时间处理
- All timestamps must be in UTC format:
yyyy-MM-ddTHH:mm:ss.ffffffZ - Use /
min_start_timefor date range filtering on eventsmax_start_time - Available times queries have a maximum 7-day range; split longer searches into multiple calls
- 所有时间戳必须为UTC格式:
yyyy-MM-ddTHH:mm:ss.ffffffZ - 使用/
min_start_time对活动进行日期范围筛选max_start_time - 可用时段查询的最大时间范围为7天;如需查询更长时间,请拆分为多次调用
Known Pitfalls
已知注意事项
URI Formats
URI格式
- 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 to list endpoints
"me" - Extract UUIDs from URIs when tools expect UUID parameters (e.g., )
CALENDLY_GET_EVENT
- 所有实体引用均使用完整的Calendly API URI(例如:)
https://api.calendly.com/users/{uuid} - 切勿在需要URI的位置传递纯UUID,也切勿在列表端点中传递
"me" - 当工具需要UUID参数时(例如:),从URI中提取UUID
CALENDLY_GET_EVENT
Scope Requirements
范围要求
- requires exactly one scope (user, organization, or group) - no more, no less
CALENDLY_LIST_EVENTS - Organization/group scoped queries may require admin privileges
- Token scope determines which operations are available; 403 errors indicate insufficient permissions
- 必须且只能指定一个范围(user、organization或group)——不能多也不能少
CALENDLY_LIST_EVENTS - 组织/组范围的查询可能需要管理员权限
- 令牌范围决定了可执行的操作;403错误表示权限不足
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
- Calendly API存在速率限制;避免在大型数据集上进行密集循环
- 合理分页,并在批量操作中添加延迟
Quick Reference
快速参考
| Task | Tool Slug | Key Params |
|---|---|---|
| Get current user | | (none) |
| Get user by UUID | | |
| List events | | |
| Get event details | | |
| Cancel event | | |
| List invitees | | |
| Get invitee | | |
| List event types | | |
| Get event type | | |
| Check availability | | event type URI, |
| Create scheduling link | | |
| List availability schedules | | user URI |
| Get organization | | |
| Invite to org | | |
| List org invitations | | |
| Revoke org invitation | | org UUID, invitation UUID |
| Remove from org | | membership UUID |
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 获取当前用户 | | 无 |
| 通过UUID获取用户 | | |
| 列出活动 | | |
| 获取活动详情 | | |
| 取消活动 | | |
| 列出参会者 | | |
| 获取参会者详情 | | |
| 列出活动类型 | | |
| 获取活动类型详情 | | |
| 检查可用性 | | 活动类型URI, |
| 创建预约链接 | | |
| 列出可用时间安排 | | 用户URI |
| 获取组织详情 | | |
| 邀请加入组织 | | |
| 列出组织邀请 | | |
| 撤销组织邀请 | | 组织UUID, 邀请UUID |
| 移除组织成员 | | 成员UUID |