Loading...
Loading...
Interact with the Cal.com 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.com's scheduling infrastructure.
npx skill4agent add calcom/cal.com calcom-apihttps://api.cal.com/v2Authorization: Bearer cal_<your_api_key>cal_GET /v2/slots?startTime=2024-01-15T00:00:00Z&endTime=2024-01-22T00:00:00Z&eventTypeId=123&eventTypeSlug=30minstartTimeendTimeeventTypeIdeventTypeSlugtimeZonePOST /v2/bookings
Content-Type: application/json
{
"start": "2024-01-15T10:00:00Z",
"eventTypeId": 123,
"attendee": {
"name": "John Doe",
"email": "john@example.com",
"timeZone": "America/New_York"
},
"meetingUrl": "https://cal.com/team/meeting",
"metadata": {}
}starteventTypeIdattendee.nameattendee.emailattendee.timeZoneGET /v2/bookings?status=upcoming&take=10statusattendeeEmaileventTypeIdtakeskipGET /v2/bookings/{bookingUid}POST /v2/bookings/{bookingUid}/cancel
Content-Type: application/json
{
"cancellationReason": "Schedule conflict"
}POST /v2/bookings/{bookingUid}/reschedule
Content-Type: application/json
{
"start": "2024-01-16T14:00:00Z",
"reschedulingReason": "Conflict with another meeting"
}GET /v2/event-typesGET /v2/event-types/{eventTypeId}POST /v2/event-types
Content-Type: application/json
{
"title": "30 Minute Meeting",
"slug": "30min",
"lengthInMinutes": 30,
"locations": [
{
"type": "integration",
"integration": "cal-video"
}
]
}GET /v2/schedulesGET /v2/schedules/defaultPOST /v2/schedules
Content-Type: application/json
{
"name": "Working Hours",
"timeZone": "America/New_York",
"isDefault": true,
"availability": [
{
"days": [1, 2, 3, 4, 5],
"startTime": "09:00",
"endTime": "17:00"
}
]
}GET /v2/meGET /v2/organizations/{orgId}/teamsGET /v2/organizations/{orgId}/teams/{teamId}/event-typesCOLLECTIVEROUND_ROBINGET /v2/webhooksPOST /v2/webhooks
Content-Type: application/json
{
"subscriberUrl": "https://your-app.com/webhook",
"triggers": ["BOOKING_CREATED", "BOOKING_CANCELLED"],
"active": true
}BOOKING_CREATEDBOOKING_CANCELLEDBOOKING_RESCHEDULEDBOOKING_CONFIRMEDMEETING_STARTEDMEETING_ENDEDGET /v2/calendarsGET /v2/calendars/busy-times?startTime=2024-01-15T00:00:00Z&endTime=2024-01-22T00:00:00Z200201400401403404422500{
"status": "error",
"message": "Booking not found"
}429 Too Many Requeststakeskiptakeskip