Cal.com
The robomotion calcom CLI connects to Cal.com for scheduling management. It handles creating and managing bookings, event types with custom durations and buffers, availability schedules with timezone support, and available slot queries.
When to use
- Create, reschedule, or cancel bookings on Cal.com
- List and manage event types with durations and buffer times
- Query available time slots for specific event types
- Manage availability schedules and overrides
Prerequisites
robomotionCLI installed- Package installed:
robomotion install calcom - Cal.com API key configured via Robomotion vault
IMPORTANT: Session Mode Required for Multi-Step Operations
Each CLI command runs as a separate process — connection IDs from connect do NOT persist across calls.
You MUST use --session on connect and pass --session-id to all subsequent commands.
Workflow
- Install (once):
robomotion install calcom - Connect with session:
robomotion calcom calcom_connect --session --output json # → {"outClientId":"<client-id>","session_id":"<session-id>"} - Use the returned
client-idandsession-idin all subsequent commands:robomotion calcom calcom_list_bookings --client-id "<client-id>" --session-id "<session-id>" --output json - Disconnect when done:
robomotion calcom calcom_disconnect --client-id "<client-id>" --session-id "<session-id>" --output json
Always append --output json to get structured JSON results.
Commands Reference
robomotion calcom calcom_connect --session --output jsonConnects to Cal.com API and returns a client IDrobomotion calcom calcom_disconnect --client-id --session-id "<session-id>" --output jsonCloses the Cal.com connection and releases resourcesrobomotion calcom calcom_create_booking --client-id --event-type-id --start-time --attendee-name --attendee-email --attendee-time-zone --guests --metadata [--duration-(minutes)] [--attendee-language] [--60] --session-id "<session-id>" --output jsonCreates a new booking on Cal.comrobomotion calcom calcom_get_booking --client-id --booking-uid --session-id "<session-id>" --output jsonRetrieves a booking by its UID from Cal.comrobomotion calcom calcom_list_bookings --client-id [--status-filter] [--25] [--skip] --session-id "<session-id>" --output jsonLists bookings from Cal.com with optional filtersrobomotion calcom calcom_cancel_booking --client-id --booking-uid --cancellation-reason --session-id "<session-id>" --output jsonCancels an existing booking on Cal.comrobomotion calcom calcom_reschedule_booking --client-id --booking-uid --new-start-time --rescheduling-reason --session-id "<session-id>" --output jsonReschedules an existing booking to a new time on Cal.comrobomotion calcom calcom_list_event_types --client-id --session-id "<session-id>" --output jsonLists all event types from Cal.comrobomotion calcom calcom_create_event_type --client-id --title --slug --duration-(minutes) --description [--slot-interval-(minutes)] [--before-buffer-(minutes)] [--after-buffer-(minutes)] --session-id "<session-id>" --output jsonCreates a new event type on Cal.comrobomotion calcom calcom_update_event_type --client-id --event-type-id --title --slug --duration-(minutes) --description [--slot-interval-(minutes)] --session-id "<session-id>" --output jsonUpdates an existing event type on Cal.comrobomotion calcom calcom_get_available_slots --client-id --start-time --end-time --event-type-id --event-type-slug --username [--time-zone] [--duration-(minutes)] --session-id "<session-id>" --output jsonGets available time slots from Cal.com for bookingrobomotion calcom calcom_list_schedules --client-id --session-id "<session-id>" --output jsonLists all availability schedules from Cal.comrobomotion calcom calcom_create_schedule --client-id --name --time-zone --availability --overrides --session-id "<session-id>" --output jsonCreates a new availability schedule on Cal.com
Environment
- ROBOMOTION_API_TOKEN (if vault credentials are needed)