CA

calcom-api

Interface for Cal.com API v2 to automate scheduling, manage event types, and sync calendars.

Install

mkdir -p .claude/skills/calcom-api && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1929" && unzip -o skill.zip -d .claude/skills/calcom-api && rm skill.zip

Installs to .claude/skills/calcom-api

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Interact with the Cal.diy API v2 to manage scheduling, bookings, event types, availability, and calendars. Use this skill when building integrations that need to create or manage bookings, check availability, configure event types, or sync calendars with Cal.diy's scheduling infrastructure.
291 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Query available time slots for specific event types
  • Create and manage booking appointments
  • Reschedule or cancel existing bookings
  • Configure webhook notifications for booking events

How it works

The skill interacts with the Cal.com v2 REST API using Bearer token authentication. It provides endpoints to query availability, create bookings, and manage meeting lifecycles via JSON payloads.

Inputs & outputs

You give it
Booking details including start time and attendee information
You get back
Booking UID and confirmation status

When to use calcom-api

  • Create new booking events
  • Query user availability
  • Configure event type settings
  • Sync calendars with scheduling infrastructure

About this skill

Cal.diy API v2

This skill provides guidance for AI agents to interact with the Cal.diy API v2, enabling scheduling automation, booking management, and calendar integrations.

Base URL

All API requests should be made to:

https://api.cal.com/v2

Required Credentials

Environment VariableRequiredDescription
CAL_API_KEYYesCal.diy API key (prefixed with cal_live_ or cal_test_). Used as Bearer token for all API requests. Generate from Settings > Developer > API Keys.
CAL_CLIENT_IDNoOAuth client ID for platform integrations that manage users on behalf of others. Sent as x-cal-client-id header.
CAL_SECRET_KEYNoOAuth client secret for platform integrations. Sent as x-cal-secret-key header.
CAL_WEBHOOK_SECRETNoSecret for verifying webhook payload signatures via the X-Cal-Signature-256 header.

Authentication

All API requests require authentication via Bearer token:

Authorization: Bearer cal_<your_api_key>

For detailed authentication methods including OAuth/Platform authentication, see references/authentication.md.

Core Concepts

Event Types define bookable meeting configurations (duration, location, availability rules). Each event type has a unique slug used in booking URLs.

Bookings are confirmed appointments created when someone books an event type. Each booking has a unique UID for identification.

Schedules define when a user is available for bookings. Users can have multiple schedules with different working hours.

Slots represent available time windows that can be booked based on event type configuration and user availability.

Reference Documentation

This skill includes detailed API reference documentation for each domain:

ReferenceDescription
references/authentication.mdAPI key and OAuth authentication, rate limiting, security best practices
references/bookings.mdCreate, list, cancel, reschedule bookings
references/event-types.mdConfigure bookable meeting types
references/schedules.mdManage user availability schedules
references/slots-availability.mdQuery available time slots
references/calendars.mdCalendar connections and busy times
references/webhooks.mdReal-time event notifications

Quick Start

1. Check Available Slots

Before creating a booking, check available time slots:

GET /v2/slots?startTime=2024-01-15T00:00:00Z&endTime=2024-01-22T00:00:00Z&eventTypeId=123

See references/slots-availability.md for full details.

2. Create a Booking

POST /v2/bookings
Content-Type: application/json

{
  "start": "2024-01-15T10:00:00Z",
  "eventTypeId": 123,
  "attendee": {
    "name": "John Doe",
    "email": "[email protected]",
    "timeZone": "America/New_York"
  }
}

See references/bookings.md for all booking operations.

3. Set Up Webhooks

Receive real-time notifications for booking events:

POST /v2/webhooks
Content-Type: application/json

{
  "subscriberUrl": "https://your-app.com/webhook",
  "triggers": ["BOOKING_CREATED", "BOOKING_CANCELLED"]
}

See references/webhooks.md for available triggers and payload formats.

Common Workflows

Book a meeting: Check slots -> Create booking -> Store booking UID

Reschedule: Get new slots -> POST /v2/bookings/{uid}/reschedule

Cancel: POST /v2/bookings/{uid}/cancel with optional reason

Best Practices

  1. Always check slot availability before creating bookings
  2. Store booking UIDs for future operations (cancel, reschedule)
  3. Use ISO 8601 format for all timestamps
  4. Implement webhook handlers for real-time updates
  5. Handle rate limiting with exponential backoff

Additional Resources

When not to use it

  • When the API key is missing or invalid
  • When the task involves non-scheduling calendar operations

Prerequisites

Cal.com API keyEvent type ID

Limitations

  • Requires adherence to rate limits with exponential backoff
  • Timestamps must be provided in ISO 8601 format

How it compares

This skill provides a structured interface for programmatic scheduling, replacing manual calendar management and booking entry.

Compared to similar skills

calcom-api side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
calcom-api (this skill)24moNo flagsIntermediate
mcporter72moNo flagsIntermediate
developing-genkit-tooling26moNo flagsIntermediate
vercel-sdk-patterns127dReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

mcporter

openclaw

Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.

726

developing-genkit-tooling

firebase

Best practices for authoring Genkit tooling, including CLI commands and MCP server tools. Covers naming conventions, architectural patterns, and consistency guidelines.

27

vercel-sdk-patterns

jeremylongshore

Execute apply production-ready Vercel SDK patterns for TypeScript and Python. Use when implementing Vercel integrations, refactoring SDK usage, or establishing team coding standards for Vercel. Trigger with phrases like "vercel SDK patterns", "vercel best practices", "vercel code patterns", "idiomatic vercel".

13

deepgram-webhooks-events

jeremylongshore

Implement Deepgram callback and webhook handling for async transcription. Use when implementing callback URLs, processing async transcription results, or handling Deepgram event notifications. Trigger with phrases like "deepgram callback", "deepgram webhook", "async transcription deepgram", "deepgram events", "deepgram notifications".

01

replit-webhooks-events

jeremylongshore

Implement Replit webhook signature validation and event handling. Use when setting up webhook endpoints, implementing signature verification, or handling Replit event notifications securely. Trigger with phrases like "replit webhook", "replit events", "replit webhook signature", "handle replit events", "replit notifications".

01

instantly-core-workflow-b

jeremylongshore

Execute Instantly secondary workflow: Core Workflow B. Use when implementing secondary use case, or complementing primary workflow. Trigger with phrases like "instantly secondary workflow", "secondary task with instantly".

00

Search skills

Search the agent skills registry