cal-com-automation
通过Rube MCP(Composio)自动化Cal.com任务:管理预订、检查可用性、配置网络钩子以及处理团队。始终优先搜索工具以获取当前架构。
Cal.com Automation via Rube MCP
Automate Cal.com scheduling operations through Composio's Cal toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit calRUBE_SEARCH_TOOLS first to get current tool schemasSetup
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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit calCore Workflows
1. Manage Bookings
When to use: User wants to list, create, or review bookings
Tool sequence:
CAL_FETCH_ALL_BOOKINGS - List all bookings with filters [Required]CAL_POST_NEW_BOOKING_REQUEST - Create a new booking [Optional]Key parameters for listing:
status: Filter by booking status ('upcoming', 'recurring', 'past', 'cancelled', 'unconfirmed')afterStart: Filter bookings after this date (ISO 8601)beforeEnd: Filter bookings before this date (ISO 8601)Key parameters for creation:
eventTypeId: Event type ID for the bookingstart: Booking start time (ISO 8601)end: Booking end time (ISO 8601)name: Attendee nameemail: Attendee emailtimeZone: Attendee timezone (IANA format)language: Attendee language codemetadata: Additional metadata objectPitfalls:
eventTypeId must reference a valid, active event type2. Check Availability
When to use: User wants to find free/busy times or available booking slots
Tool sequence:
CAL_RETRIEVE_CALENDAR_BUSY_TIMES - Get busy time blocks [Required]CAL_GET_AVAILABLE_SLOTS_INFO - Get specific available slots [Required]Key parameters:
dateFrom: Start date for availability check (YYYY-MM-DD)dateTo: End date for availability check (YYYY-MM-DD)eventTypeId: Event type to check slots fortimeZone: Timezone for the availability responseloggedInUsersTz: Timezone of the requesting userPitfalls:
3. Configure Webhooks
When to use: User wants to set up or manage webhook notifications for booking events
Tool sequence:
CAL_RETRIEVE_WEBHOOKS_LIST - List existing webhooks [Required]CAL_GET_WEBHOOK_BY_ID - Get specific webhook details [Optional]CAL_UPDATE_WEBHOOK_BY_ID - Update webhook configuration [Optional]CAL_DELETE_WEBHOOK_BY_ID - Remove a webhook [Optional]Key parameters:
id: Webhook ID for GET/UPDATE/DELETE operationssubscriberUrl: Webhook endpoint URLeventTriggers: Array of event types to trigger onactive: Whether the webhook is activesecret: Webhook signing secretPitfalls:
active to enable/disable4. Manage Teams
When to use: User wants to create, view, or manage teams and team event types
Tool sequence:
CAL_GET_TEAMS_LIST - List all teams [Required]CAL_GET_TEAM_INFORMATION_BY_TEAM_ID - Get specific team details [Optional]CAL_CREATE_TEAM_IN_ORGANIZATION - Create a new team [Optional]CAL_RETRIEVE_TEAM_EVENT_TYPES - List event types for a team [Optional]Key parameters:
teamId: Team identifiername: Team name (for creation)slug: URL-friendly team identifierPitfalls:
5. Organization Management
When to use: User wants to view organization details
Tool sequence:
CAL_GET_ORGANIZATION_ID - Get the organization ID [Required]Key parameters: (none required)
Pitfalls:
Common Patterns
Booking Creation Flow
1. Call CAL_GET_AVAILABLE_SLOTS_INFO to find open slots
Present available times to the user
Call CAL_POST_NEW_BOOKING_REQUEST with selected slot
Confirm booking creation response ID Resolution
Team name -> Team ID:
1. Call CAL_GET_TEAMS_LIST
Find team by name in response
Extract id field Webhook Setup
1. Call CAL_RETRIEVE_WEBHOOKS_LIST to check existing hooks
Create or update webhook with desired triggers
Verify webhook fires on test booking Known Pitfalls
Date/Time Formats:
Event Types:
Permissions:
Rate Limits:
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List bookings | CAL_FETCH_ALL_BOOKINGS | status, afterStart, beforeEnd |
| Create booking | CAL_POST_NEW_BOOKING_REQUEST | eventTypeId, start, end, name, email |
| Get busy times | CAL_RETRIEVE_CALENDAR_BUSY_TIMES | dateFrom, dateTo |
| Get available slots | CAL_GET_AVAILABLE_SLOTS_INFO | eventTypeId, dateFrom, dateTo |
| List webhooks | CAL_RETRIEVE_WEBHOOKS_LIST | (none) |
| Get webhook | CAL_GET_WEBHOOK_BY_ID | id |
| Update webhook | CAL_UPDATE_WEBHOOK_BY_ID | id, subscriberUrl, eventTriggers |
| Delete webhook | CAL_DELETE_WEBHOOK_BY_ID | id |
| List teams | CAL_GET_TEAMS_LIST | (none) |
| Get team | CAL_GET_TEAM_INFORMATION_BY_TEAM_ID | teamId |
| Create team | CAL_CREATE_TEAM_IN_ORGANIZATION | name, slug |
| Team event types | CAL_RETRIEVE_TEAM_EVENT_TYPES | teamId |
| Get org ID | CAL_GET_ORGANIZATION_ID | (none) |