candidate-kb
Manage candidate knowledge base. Use when ingesting CVs, adding profile information, or querying candidate details for resume/cover letter generation.
891,873 AI resources indexedWorking toward the world’s largest AI resource index.
Manage Cal.com scheduling - list bookings, event types, and availability. Use when you need to check schedules, manage booking links, or automate meeting scheduling with Cal.com's API.
---
name: cal-com-26be7a037b8d
description: Manage Cal.com scheduling - list bookings, event types, and availability. Use when you need to check schedules, manage booking links, or automate meeting scheduling with Cal.com's API.
---
# Cal.com API
Manage scheduling and bookings via Cal.com API.
## Setup
1. Get API key: Cal.com → Settings → Developer → API Keys
2. Store key:
```bash
mkdir -p ~/.config/calcom
echo "cal_live_XXXXX" > ~/.config/calcom/api_key
```
## API Basics
```bash
CAL_KEY=$(cat ~/.config/calcom/api_key)
CAL_URL="https://api.cal.com/v1" # or self-hosted URL
curl -s "${CAL_URL}/me?apiKey=${CAL_KEY}" | jq
```
## List Event Types
```bash
curl -s "${CAL_URL}/event-types?apiKey=${CAL_KEY}" | jq '.event_types[] | {id, title, slug, length}'
```
## Get Event Type
```bash
EVENT_TYPE_ID="123"
curl -s "${CAL_URL}/event-types/${EVENT_TYPE_ID}?apiKey=${CAL_KEY}" | jq
```
## List Bookings
```bash
curl -s "${CAL_URL}/bookings?apiKey=${CAL_KEY}" | jq '.bookings[] | {id, title, startTime, endTime, status}'
```
## Get Booking
```bash
BOOKING_ID="123"
curl -s "${CAL_URL}/bookings/${BOOKING_ID}?apiKey=${CAL_KEY}" | jq
```
## Filter Bookings by Status
```bash
# upcoming, past, cancelled, recurring
curl -s "${CAL_URL}/bookings?apiKey=${CAL_KEY}&status=upcoming" | jq '.bookings'
```
## Create Booking
```bash
curl -s -X POST "${CAL_URL}/bookings?apiKey=${CAL_KEY}" \
-H "Content-Type: application/json" \
-d '{
"eventTypeId": 123,
"start": "2024-01-15T10:00:00.000Z",
"end": "2024-01-15T10:30:00.000Z",
"responses": {
"name": "John Doe",
"email": "john@example.com",
"notes": "Looking forward to our meeting"
},
"timeZone": "Europe/Paris",
"language": "en"
}' | jq
```
## Cancel Booking
```bash
curl -s -X DELETE "${CAL_URL}/bookings/${BOOKING_ID}?apiKey=${CAL_KEY}" \
-H "Content-Type: application/json" \
-d '{"cancellationReason": "Schedule conflict"}' | jq
```
## Reschedule Booking
```bash
curl -s -X PATCH "${CAL_URL}/bookings/${BOOKING_ID}?apiKey=${CAL_KEY}" \
-H "Content-Type: application/json" \
-d '{
"start": "2024-01-16T14:00:00.000Z",
"end": "2024-01-16T14:30:00.000Z"
}' | jq
```
## List Availabilities
```bash
curl -s "${CAL_URL}/availability?apiKey=${CAL_KEY}&eventTypeId=123&dateFrom=2024-01-15&dateTo=2024-01-22" | jq
```
## Get Available Slots
```bash
curl -s "${CAL_URL}/slots?apiKey=${CAL_KEY}&eventTypeId=123&startTime=2024-01-15&endTime=2024-01-22&timeZone=Europe/Paris" | jq '.slots'
```
## List Schedules
```bash
curl -s "${CAL_URL}/schedules?apiKey=${CAL_KEY}" | jq '.schedules[] | {id, name, timeZone}'
```
## Webhooks
List:
```bash
curl -s "${CAL_URL}/webhooks?apiKey=${CAL_KEY}" | jq
```
Create:
```bash
curl -s -X POST "${CAL_URL}/webhooks?apiKey=${CAL_KEY}" \
-H "Content-Type: application/json" \
-d '{
"subscriberUrl": "https://example.com/webhook",
"eventTriggers": ["BOOKING_CREATED", "BOOKING_CANCELLED"],
"active": true
}' | jq
```
## Event Triggers
- `BOOKING_CREATED`
- `BOOKING_CANCELLED`
- `BOOKING_RESCHEDULED`
- `BOOKING_CONFIRMED`
- `BOOKING_REJECTED`
## Self-Hosted
For self-hosted Cal.com, change base URL:
```bash
CAL_URL="https://your-cal-instance.com/api/v1"
```
## Rate Limits
- Default: No published limits (be reasonable)
- Self-hosted: Depends on your infrastructure
---
name: cal-com-26be7a037b8d
description: Manage Cal.com scheduling - list bookings, event types, and availability. Use when you need to check schedules, manage booking links, or automate meeting scheduling with Cal.com's API.
---
# Cal.com API
Manage scheduling and bookings via Cal.com API.
## Setup
1. Get API key: Cal.com → Settings → Developer → API Keys
2. Store key:
```bash
mkdir -p ~/.config/calcom
echo "cal_live_XXXXX" > ~/.config/calcom/api_key
```
## API Basics
```bash
CAL_KEY=$(cat ~/.config/calcom/api_key)
CAL_URL="https://api.cal.com/v1" # or self-hosted URL
curl -s "${CAL_URL}/me?apiKey=${CAL_KEY}" | jq
```
## List Event Types
```bash
curl -s "${CAL_URL}/event-types?apiKey=${CAL_KEY}" | jq '.event_types[] | {id, title, slug, length}'
```
## Get Event Type
```bash
EVENT_TYPE_ID="123"
curl -s "${CAL_URL}/event-types/${EVENT_TYPE_ID}?apiKey=${CAL_KEY}" | jq
```
## List Bookings
```bash
curl -s "${CAL_URL}/bookings?apiKey=${CAL_KEY}" | jq '.bookings[] | {id, title, startTime, endTime, status}'
```
## Get Booking
```bash
BOOKING_ID="123"
curl -s "${CAL_URL}/bookings/${BOOKING_ID}?apiKey=${CAL_KEY}" | jq
```
## Filter Bookings by Status
```bash
# upcoming, past, cancelled, recurring
curl -s "${CAL_URL}/bookings?apiKey=${CAL_KEY}&status=upcoming" | jq '.bookings'
```
## Create Booking
```bash
curl -s -X POST "${CAL_URL}/bookings?apiKey=${CAL_KEY}" \
-H "Content-Type: application/json" \
-d '{
"eventTypeId": 123,
"start": "2024-01-15T10:00:00.000Z",
"end": "2024-01-15T10:30:00.000Z",
"responses": {
"name": "John Doe",
"email": "john@example.com",
"notes": "Looking forward to our meeting"
},
"timeZone": "Europe/Paris",
"language": "en"
}' | jq
```
## Cancel Booking
```bash
curl -s -X DELETE "${CAL_URL}/bookings/${BOOKING_ID}?apiKey=${CAL_KEY}" \
-H "Content-Type: application/json" \
-d '{"cancellationReason": "Schedule conflict"}' | jq
```
## Reschedule Booking
```bash
curl -s -X PATCH "${CAL_URL}/bookings/${BOOKING_ID}?apiKey=${CAL_KEY}" \
-H "Content-Type: application/json" \
-d '{
"start": "2024-01-16T14:00:00.000Z",
"end": "2024-01-16T14:30:00.000Z"
}' | jq
```
## List Availabilities
```bash
curl -s "${CAL_URL}/availability?apiKey=${CAL_KEY}&eventTypeId=123&dateFrom=2024-01-15&dateTo=2024-01-22" | jq
```
## Get Available Slots
```bash
curl -s "${CAL_URL}/slots?apiKey=${CAL_KEY}&eventTypeId=123&startTime=2024-01-15&endTime=2024-01-22&timeZone=Europe/Paris" | jq '.slots'
```
## List Schedules
```bash
curl -s "${CAL_URL}/schedules?apiKey=${CAL_KEY}" | jq '.schedules[] | {id, name, timeZone}'
```
## Webhooks
List:
```bash
curl -s "${CAL_URL}/webhooks?apiKey=${CAL_KEY}" | jq
```
Create:
```bash
curl -s -X POST "${CAL_URL}/webhooks?apiKey=${CAL_KEY}" \
-H "Content-Type: application/json" \
-d '{
"subscriberUrl": "https://example.com/webhook",
"eventTriggers": ["BOOKING_CREATED", "BOOKING_CANCELLED"],
"active": true
}' | jq
```
## Event Triggers
- `BOOKING_CREATED`
- `BOOKING_CANCELLED`
- `BOOKING_RESCHEDULED`
- `BOOKING_CONFIRMED`
- `BOOKING_REJECTED`
## Self-Hosted
For self-hosted Cal.com, change base URL:
```bash
CAL_URL="https://your-cal-instance.com/api/v1"
```
## Rate Limits
- Default: No published limits (be reasonable)
- Self-hosted: Depends on your infrastructure
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.