cal-com-automation

通过Rube MCP(Composio)自动化Cal.com任务:管理预订、检查可用性、配置网络钩子以及处理团队。始终优先搜索工具以获取当前架构。

查看详情
name:cal-com-automationdescription:"Automate Cal.com tasks via Rube MCP (Composio): manage bookings, check availability, configure webhooks, and handle teams. Always search tools first for current schemas."requires:mcp:[rube]

Cal.com Automation via Rube MCP

Automate Cal.com scheduling operations through Composio's Cal toolkit via Rube MCP.

Prerequisites

  • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)

  • Active Cal.com connection via RUBE_MANAGE_CONNECTIONS with toolkit cal

  • Always call RUBE_SEARCH_TOOLS first to get current tool schemas
  • 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_TOOLS responds

  • Call RUBE_MANAGE_CONNECTIONS with toolkit cal

  • If connection is not ACTIVE, follow the returned auth link to complete Cal.com authentication

  • Confirm connection status shows ACTIVE before running any workflows
  • Core 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 booking

  • start: Booking start time (ISO 8601)

  • end: Booking end time (ISO 8601)

  • name: Attendee name

  • email: Attendee email

  • timeZone: Attendee timezone (IANA format)

  • language: Attendee language code

  • metadata: Additional metadata object
  • Pitfalls:

  • Date filters use ISO 8601 format with timezone (e.g., '2024-01-15T09:00:00Z')

  • eventTypeId must reference a valid, active event type

  • Booking creation requires matching an available slot; check availability first

  • Time zone must be a valid IANA timezone string (e.g., 'America/New_York')

  • Status filter values are specific strings; invalid values return empty results
  • 2. 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 for

  • timeZone: Timezone for the availability response

  • loggedInUsersTz: Timezone of the requesting user
  • Pitfalls:

  • Busy times show when the user is NOT available

  • Available slots are specific to an event type's duration and configuration

  • Date range should be reasonable (not months in advance) to get accurate results

  • Timezone affects how slots are displayed; always specify explicitly

  • Availability reflects calendar integrations (Google Calendar, Outlook, etc.)
  • 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 operations

  • subscriberUrl: Webhook endpoint URL

  • eventTriggers: Array of event types to trigger on

  • active: Whether the webhook is active

  • secret: Webhook signing secret
  • Pitfalls:

  • Webhook URLs must be publicly accessible HTTPS endpoints

  • Event triggers include: 'BOOKING_CREATED', 'BOOKING_RESCHEDULED', 'BOOKING_CANCELLED', etc.

  • Inactive webhooks do not fire; toggle active to enable/disable

  • Webhook secrets are used for payload signature verification
  • 4. 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 identifier

  • name: Team name (for creation)

  • slug: URL-friendly team identifier
  • Pitfalls:

  • Team creation may require organization-level permissions

  • Team event types are separate from personal event types

  • Team slugs must be URL-safe and unique within the organization
  • 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:

  • Organization ID is needed for team creation and org-level operations

  • Not all Cal.com accounts have organizations; personal plans may return errors
  • 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:

  • Booking times: ISO 8601 with timezone (e.g., '2024-01-15T09:00:00Z')

  • Availability dates: YYYY-MM-DD format

  • Always specify timezone explicitly to avoid confusion
  • Event Types:

  • Event type IDs are numeric integers

  • Event types define duration, location, and booking rules

  • Disabled event types cannot accept new bookings
  • Permissions:

  • Team operations require team membership or admin access

  • Organization operations require org-level permissions

  • Webhook management requires appropriate access level
  • Rate Limits:

  • Cal.com API has rate limits per API key

  • Implement backoff on 429 responses
  • Quick Reference

    TaskTool SlugKey Params
    List bookingsCAL_FETCH_ALL_BOOKINGSstatus, afterStart, beforeEnd
    Create bookingCAL_POST_NEW_BOOKING_REQUESTeventTypeId, start, end, name, email
    Get busy timesCAL_RETRIEVE_CALENDAR_BUSY_TIMESdateFrom, dateTo
    Get available slotsCAL_GET_AVAILABLE_SLOTS_INFOeventTypeId, dateFrom, dateTo
    List webhooksCAL_RETRIEVE_WEBHOOKS_LIST(none)
    Get webhookCAL_GET_WEBHOOK_BY_IDid
    Update webhookCAL_UPDATE_WEBHOOK_BY_IDid, subscriberUrl, eventTriggers
    Delete webhookCAL_DELETE_WEBHOOK_BY_IDid
    List teamsCAL_GET_TEAMS_LIST(none)
    Get teamCAL_GET_TEAM_INFORMATION_BY_TEAM_IDteamId
    Create teamCAL_CREATE_TEAM_IN_ORGANIZATIONname, slug
    Team event typesCAL_RETRIEVE_TEAM_EVENT_TYPESteamId
    Get org IDCAL_GET_ORGANIZATION_ID(none)