booking-config

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Booking Configuration

预约配置

Configure Cal.com event types, schedules, and availability windows via CLI.
通过CLI配置Cal.com事件类型、日程安排和可用时间窗口。

Mandatory Preflight

强制前置检查

Step 1: Check CLI Binary

步骤1:检查CLI二进制文件

bash
ls -la "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom" 2>/dev/null || echo "BINARY_NOT_FOUND"
bash
ls -la "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom" 2>/dev/null || echo "BINARY_NOT_FOUND"

Step 2: Verify Environment

步骤2:验证环境

bash
echo "CALCOM_OP_UUID: ${CALCOM_OP_UUID:-NOT_SET}"
echo "CALCOM_API_URL: ${CALCOM_API_URL:-NOT_SET}"
All must be SET. If any are NOT_SET, run the setup command first.
bash
echo "CALCOM_OP_UUID: ${CALCOM_OP_UUID:-NOT_SET}"
echo "CALCOM_API_URL: ${CALCOM_API_URL:-NOT_SET}"
所有变量必须已设置。 如果有任意值为NOT_SET,请先运行设置命令。

Step 3: Test API Access

步骤3:测试API访问

bash
CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"
$CALCOM_CLI event-types list 2>&1 | head -3
bash
CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"
$CALCOM_CLI event-types list 2>&1 | head -3

Event Type Management

事件类型管理

Create Event Type

创建事件类型

Use AskUserQuestion to collect required fields:
AskUserQuestion({
  questions: [{
    question: "What type of booking page do you want to create?",
    header: "Event Type",
    options: [
      { label: "30-min Meeting", description: "Standard 30-minute meeting slot" },
      { label: "60-min Interview", description: "Full hour interview session" },
      { label: "15-min Quick Call", description: "Brief check-in call" },
      { label: "Custom", description: "Specify custom duration and details" }
    ],
    multiSelect: false
  }]
})
bash
CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"
使用AskUserQuestion收集必填字段:
AskUserQuestion({
  questions: [{
    question: "What type of booking page do you want to create?",
    header: "Event Type",
    options: [
      { label: "30-min Meeting", description: "Standard 30-minute meeting slot" },
      { label: "60-min Interview", description: "Full hour interview session" },
      { label: "15-min Quick Call", description: "Brief check-in call" },
      { label: "Custom", description: "Specify custom duration and details" }
    ],
    multiSelect: false
  }]
})
bash
CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"

Create event type with collected details

Create event type with collected details

$CALCOM_CLI event-types create
--title "30min Interview"
--slug "interview-30"
--length 30
--description "Screening interview for VA candidates"
undefined
$CALCOM_CLI event-types create
--title "30min Interview"
--slug "interview-30"
--length 30
--description "Screening interview for VA candidates"
undefined

Update Event Type

更新事件类型

bash
undefined
bash
undefined

Update title

Update title

$CALCOM_CLI event-types update <id> --title "Updated Title"
$CALCOM_CLI event-types update <id> --title "Updated Title"

Update duration

Update duration

$CALCOM_CLI event-types update <id> --length 45
$CALCOM_CLI event-types update <id> --length 45

Disable event type

Disable event type

$CALCOM_CLI event-types update <id> --hidden true
undefined
$CALCOM_CLI event-types update <id> --hidden true
undefined

Schedule Management

日程管理

List Schedules

列示日程

bash
$CALCOM_CLI schedules list
bash
$CALCOM_CLI schedules list

Create Schedule

创建日程

bash
undefined
bash
undefined

Create a weekday schedule (9am-5pm)

Create a weekday schedule (9am-5pm)

$CALCOM_CLI schedules create
--name "Business Hours"
--timezone "America/New_York"
--availability '[ {"days": [1,2,3,4,5], "startTime": "09:00", "endTime": "17:00"} ]'
undefined
$CALCOM_CLI schedules create
--name "Business Hours"
--timezone "America/New_York"
--availability '[ {"days": [1,2,3,4,5], "startTime": "09:00", "endTime": "17:00"} ]'
undefined

Check Availability

检查可用时间

bash
undefined
bash
undefined

Check available slots for a specific date range

Check available slots for a specific date range

$CALCOM_CLI availability check
--event-type-id <id>
--start "2026-02-15"
--end "2026-02-20"
undefined
$CALCOM_CLI availability check
--event-type-id <id>
--start "2026-02-15"
--end "2026-02-20"
undefined

Common Booking Page Patterns

常见预约页面场景

Candidate Screening Interview

候选人筛选面试

bash
$CALCOM_CLI event-types create \
  --title "VA Screening Interview" \
  --slug "va-screening" \
  --length 30 \
  --description "BruntWork virtual assistant candidate screening" \
  --requires-confirmation true
bash
$CALCOM_CLI event-types create \
  --title "VA Screening Interview" \
  --slug "va-screening" \
  --length 30 \
  --description "BruntWork virtual assistant candidate screening" \
  --requires-confirmation true

Open Office Hours

开放办公时间

bash
$CALCOM_CLI event-types create \
  --title "Office Hours" \
  --slug "office-hours" \
  --length 15 \
  --description "Drop-in office hours for team questions"
bash
$CALCOM_CLI event-types create \
  --title "Office Hours" \
  --slug "office-hours" \
  --length 15 \
  --description "Drop-in office hours for team questions"

Webhook Management

Webhook管理

Manage Cal.com webhooks for real-time Pushover notifications via the webhook relay.
通过webhook中继管理Cal.com webhook,实现Pushover实时通知。

List Webhooks

列示Webhook

bash
CALCOM_API_KEY=$(op item get "$CALCOM_OP_UUID" --vault "Claude Automation" --fields password --reveal)

curl -s "https://api.cal.com/v1/webhooks?apiKey=$CALCOM_API_KEY" | python3 -m json.tool
bash
CALCOM_API_KEY=$(op item get "$CALCOM_OP_UUID" --vault "Claude Automation" --fields password --reveal)

curl -s "https://api.cal.com/v1/webhooks?apiKey=$CALCOM_API_KEY" | python3 -m json.tool

Register Webhook

注册Webhook

bash
curl -s -X POST "https://api.cal.com/v1/webhooks?apiKey=$CALCOM_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"subscriberUrl\":\"$WEBHOOK_RELAY_URL\",\"eventTriggers\":[\"BOOKING_CREATED\",\"BOOKING_RESCHEDULED\",\"BOOKING_CANCELLED\"],\"active\":true}"
bash
curl -s -X POST "https://api.cal.com/v1/webhooks?apiKey=$CALCOM_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"subscriberUrl\":\"$WEBHOOK_RELAY_URL\",\"eventTriggers\":[\"BOOKING_CREATED\",\"BOOKING_RESCHEDULED\",\"BOOKING_CANCELLED\"],\"active\":true}"

Delete Webhook

删除Webhook

bash
curl -s -X DELETE "https://api.cal.com/v1/webhooks/<webhook-id>?apiKey=$CALCOM_API_KEY"
Prerequisites:
WEBHOOK_RELAY_URL
must be set in
.mise.local.toml
. Deploy the relay first via the
infra-deploy
skill.
bash
curl -s -X DELETE "https://api.cal.com/v1/webhooks/<webhook-id>?apiKey=$CALCOM_API_KEY"
前提条件
WEBHOOK_RELAY_URL
必须在
.mise.local.toml
中设置。请先通过
infra-deploy
skill部署中继服务。

Post-Change Checklist

变更后检查清单

  • YAML frontmatter valid (no colons in description)
  • Trigger keywords current
  • Path patterns use $HOME not hardcoded paths
  • YAML前言部分有效(描述中不含冒号)
  • 触发关键词为最新版本
  • 路径模式使用$HOME而非硬编码路径