pp-cal-com
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCal.com — Printing Press CLI
Cal.com — Printing Press CLI
Prerequisites: Install the CLI
前提条件:安装CLI
This skill drives the binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
cal-com-pp-cli- Install via the Printing Press installer:
bash
npx -y @mvanhorn/printing-press install cal-com --cli-only - Verify:
cal-com-pp-cli --version - Ensure (or
$GOPATH/bin) is on$HOME/go/bin.$PATH
If the install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.23+):
npxbash
go install github.com/mvanhorn/printing-press-library/library/productivity/cal-com/cmd/cal-com-pp-cli@latestIf reports "command not found" after install, the install step did not put the binary on . Do not proceed with skill commands until verification succeeds.
--version$PATH本技能基于可执行文件运行。在调用本技能的任何命令前,必须确认CLI已安装。如果未安装,请先执行以下步骤:
cal-com-pp-cli- 通过Printing Press安装器安装:
bash
npx -y @mvanhorn/printing-press install cal-com --cli-only - 验证安装:
cal-com-pp-cli --version - 确保(或
$GOPATH/bin)已添加到$HOME/go/bin环境变量中。$PATH
如果安装失败(无Node环境、离线等情况),可以直接通过Go安装(要求Go 1.23及以上版本):
npxbash
go install github.com/mvanhorn/printing-press-library/library/productivity/cal-com/cmd/cal-com-pp-cli@latest如果安装后执行提示“command not found”,说明安装程序未将可执行文件添加到中。请在验证成功前不要执行技能命令。
--version$PATHWhen to Use This CLI
何时使用此CLI
Reach for cal-com-pp-cli whenever an agent needs to read or mutate a Cal.com calendar without burning context on the multi-call dance the API requires for booking and rescheduling. The local store makes 'what's on my calendar', 'when am I free', 'who is overloaded', and 'where are my conflicts' near-instant offline answers. The composed and commands are the right tools for transactional bookings; the endpoint-mirror coverage is there for everything else.
bookreschedule next当Agent需要读取或修改Cal.com日历,且不想因预订和重新安排操作需要多次调用API而消耗上下文时,可以使用cal-com-pp-cli。本地存储让“我的日历今天有什么安排”“我什么时候有空”“谁的日程已满”“我的日程冲突在哪里”这类问题能快速得到离线答案。组合式的和命令是处理事务性预订的理想工具;而端点镜像覆盖则可处理其他所有操作。
bookreschedule nextUnique Capabilities
独特功能
These capabilities aren't available in any other tool for this API.
这些功能是其他同类型API工具所不具备的。
Composed booking flows
组合式预订流程
-
— Schedule an attendee onto one of your event types in a single composed call — slot check, optional reservation, create, optional confirm.
bookFor the host scripting an attendee onto their calendar (admin onboarding, recruiter pre-fill, test fixtures). For the normal flow where the attendee picks their own time, share a URL frominstead.link listbashcal-com-pp-cli book --event-type-id 96531 --start 2026-05-06T17:00:00Z --attendee-name Guest --attendee-email guest@example.com --dry-run -
— Find first available slots across multiple event-type IDs in one call, ranked by start time.
slots findUse this when you don't know which event type fits — let the caller pick from a ranked merged list.bashcal-com-pp-cli slots find --event-type-ids 96531 --start tomorrow --end "tomorrow 23:59" --json -
— Move an existing booking to the next available slot for the same event type, after a cutoff.
reschedule nextUse this for last-minute bumps — one command instead of three, with dry-run safety.bashcal-com-pp-cli reschedule next --uid <booking-uid> --after tomorrow --dry-run
-
— 通过单次组合调用将参会者安排到你的某类活动中,包含时段检查、可选预留、创建、可选确认等步骤。
book适用于主持人将参会者手动添加到日程的场景(如管理员入职安排、招聘人员预填信息、测试数据准备)。如果是参会者自行选择时段的常规流程,请使用生成的分享链接。link listbashcal-com-pp-cli book --event-type-id 96531 --start 2026-05-06T17:00:00Z --attendee-name Guest --attendee-email guest@example.com --dry-run -
— 单次调用查询多个活动类型ID的首个可用时段,并按开始时间排序。
slots find当你不确定哪种活动类型合适时使用此命令,让调用者从排序后的合并列表中选择。bashcal-com-pp-cli slots find --event-type-ids 96531 --start tomorrow --end "tomorrow 23:59" --json -
— 将现有预订移至同一活动类型在截止时间后的下一个可用时段。
reschedule next适用于临时调整安排——一个命令替代三个步骤,且支持安全预览。dry-runbashcal-com-pp-cli reschedule next --uid <booking-uid> --after tomorrow --dry-run
Local state that compounds
可累积的本地状态
-
— Upcoming bookings in a window — today, this week, or any duration — read from the local store.
agendaUse this whenever an agent needs 'what's on my calendar'; single command across any time window.bashcal-com-pp-cli agenda --window today --json --select id,start,title,attendees -
— No-show, cancellation, volume, and density metrics over a window. Sister subcommands under analytics: bookings (volume), cancellations, no-show, density. --by accepts event-type, attendee, or weekday on the rate commands; analytics density --unit hour adds hourly heatmaps.
analytics no-showUse this for capacity planning, no-show trend analysis, or attendee follow-up — answers no single API call provides.bashcal-com-pp-cli analytics no-show --window 90d --by attendee --json -
— Detects overlapping bookings within a time window — pairs whose time ranges intersect get reported. Reads the local store, no API call.
conflictsRun before sending confirmations or after a bulk reschedule — surfaces double-bookings the API silently allows.bashcal-com-pp-cli conflicts --window 7d --json -
— Finds open windows in your schedule that are available but unbooked, filtered by minimum block size.
gapsUse this for capacity planning — answers 'when can I take a meeting' rather than 'what's on my plate'.bashcal-com-pp-cli gaps --window 7d --min-minutes 60 --json -
— Booking distribution across team members over a window — surfaces overloaded vs underutilized hosts.
workloadUse this for round-robin tuning or to spot host burnout before it shows up as no-shows.bashcal-com-pp-cli workload --team-id 42 --window 30d --json -
— Event types with zero bookings in the last N days — candidates for removal.
event-types staleUse this for quarterly cleanup — keeps your bookable surface from drifting.bashcal-com-pp-cli event-types stale --days 90 --json
-
— 从本地存储读取指定时间窗口(今日、本周或任意时长)内的 upcoming 预订。
agenda当Agent需要查看“我的日历安排”时使用此命令,单次命令即可覆盖任意时间窗口。bashcal-com-pp-cli agenda --window today --json --select id,start,title,attendees -
— 统计指定时间窗口内的缺席、取消、预订量和密度指标。analytics下的子命令还包括bookings(预订量)、cancellations(取消量)、no-show(缺席)、density(密度)。在比率类命令中,
analytics no-show参数支持按活动类型、参会者或工作日统计;--by可添加小时热力图。analytics density --unit hour适用于容量规划、缺席趋势分析或参会者跟进——这些信息无法通过单次API调用获取。bashcal-com-pp-cli analytics no-show --window 90d --by attendee --json -
— 检测指定时间窗口内的重叠预订,报告时间范围相交的预订对。读取本地存储,无需调用API。
conflicts在发送确认信息前或批量重新安排后运行此命令——可发现API默认允许的重复预订情况。bashcal-com-pp-cli conflicts --window 7d --json -
— 查找日程中可用但未被预订的空闲窗口,可按最小时长过滤。
gaps适用于容量规划——回答“我什么时候可以安排会议”而非“我有哪些待办事项”。bashcal-com-pp-cli gaps --window 7d --min-minutes 60 --json -
— 统计指定时间窗口内团队成员的预订分布情况,识别日程过满或利用不足的主持人。
workload适用于循环调度优化,或在缺席情况出现前发现主持人 burnout 迹象。bashcal-com-pp-cli workload --team-id 42 --window 30d --json -
— 查找最近N天内无预订的活动类型,这些类型可考虑移除。
event-types stale适用于季度清理——保持可预订活动列表的简洁性。bashcal-com-pp-cli event-types stale --days 90 --json
Host control surface
主持人控制面板
-
— Create a new bookable link (event type) on your Cal.com account; prints the cal.com/<your-username>/<slug> URL ready to share.
link createThe host's primary creative act. Bookable links are how attendees book time; this is the command to make one.bashcal-com-pp-cli link create --slug 30min --length 30 --title "30 Min Meeting" -
— List every bookable link you own with the full URL pre-rendered for copy-share.
link listUse this to see what links you have and grab their URLs without hand-composing cal.com/<user>/<slug>.bashcal-com-pp-cli link list --json -
— Mark yourself out-of-office for a date range so Cal.com excludes the period from slot search.
ooo setGoing on vacation? Sick? Run this once and stop getting booked. Optional --redirect-to-user forwards bookings to a teammate (round-robin only).bashcal-com-pp-cli ooo set --start 2026-05-12 --end 2026-05-18 --reason vacation --notes "Hawaii trip" -
— List your active and upcoming OOO entries.
ooo listbashcal-com-pp-cli ooo list --json
-
— 在你的Cal.com账户中创建新的可预订链接(活动类型),并输出可直接分享的cal.com/<your-username>/<slug>链接。
link create这是主持人创建可预订活动的核心操作。参会者通过可预订链接预约时间,此命令用于生成这类链接。bashcal-com-pp-cli link create --slug 30min --length 30 --title "30 Min Meeting" -
— 列出你拥有的所有可预订链接,并预渲染完整URL以便复制分享。
link list用于查看已有的链接,无需手动拼接cal.com/<user>/<slug>即可获取URL。bashcal-com-pp-cli link list --json -
— 标记你在指定日期范围内处于休假状态,Cal.com会在时段搜索中排除该时间段。
ooo set休假或生病时运行此命令,避免被安排预订。可选参数可将预订转交给团队成员(仅支持循环调度模式)。--redirect-to-userbashcal-com-pp-cli ooo set --start 2026-05-12 --end 2026-05-18 --reason vacation --notes "Hawaii trip" -
— 列出当前和即将到来的休假记录。
ooo listbashcal-com-pp-cli ooo list --json
Agent-native plumbing
Agent原生管道
-
— Audits registered webhook triggers against the canonical set and reports lifecycle events with no subscriber.
webhooks coverageRun this whenever you add a new automation — surfaces missed triggers like BOOKING_NO_SHOW_UPDATED before they bite.bashcal-com-pp-cli webhooks coverage --json
-
— 检查已注册的Webhook触发器与标准集合的匹配情况,并报告无订阅者的生命周期事件。
webhooks coverage在添加新自动化时运行此命令——提前发现如BOOKING_NO_SHOW_UPDATED这类遗漏的触发器。bashcal-com-pp-cli webhooks coverage --json
Command Reference
命令参考
api-keys — Manage api keys
- — Generate a new API key and delete the current one. Provide API key to refresh as a Bearer token in the Authorization...
cal-com-pp-cli api-keys
bookings — Manage bookings
- — POST /v2/bookings is used to create regular bookings, recurring bookings and instant bookings. The request bodies...
cal-com-pp-cli bookings create - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli bookings get - —
cal-com-pp-cli bookings get-bookinguidcan be 1. uid of a normal booking 2. uid of one of the recurring booking recurrences 3. uid of...:bookingUid - — Get a seated booking by its seat reference UID. This is useful when you have a seatUid from a seated booking and...
cal-com-pp-cli bookings get-by-seat-uid
cal-com-auth — Manage cal com auth
- — RFC 6749-compliant token endpoint. Pass client_id in the request body (Section 2.3.1). Use grant_type...
cal-com-pp-cli cal-com-auth
cal-com-auth-2 — Manage cal com auth 2
- — Returns the OAuth2 client information for the given client ID
cal-com-pp-cli cal-com-auth-2 <clientId>
calendars — Manage calendars
- — If accessed using an OAuth access token, the
cal-com-pp-cli calendars check-ics-feedscope is required.APPS_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli calendars create-ics-feedscope is required.APPS_WRITE - — If accessed using an OAuth access token, the
cal-com-pp-cli calendars getscope is required.APPS_READ - — Get busy times from a calendar. Example request URL is `https://api.cal.com/v2/calendars/busy-times?timeZone=Europe%2...
cal-com-pp-cli calendars get-busy-times
conferencing — Manage conferencing
- — If accessed using an OAuth access token, the
cal-com-pp-cli conferencing get-defaultscope is required.APPS_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli conferencing list-installed-appsscope is required.APPS_READ
credits — Manage credits
- — Charge credits for a completed AI agent interaction. Uses externalRef for idempotency to prevent double-charging.
cal-com-pp-cli credits charge - — Check if the authenticated user (or their org/team) has available credits and return the current balance.
cal-com-pp-cli credits get-available
destination-calendars — Manage destination calendars
- — If accessed using an OAuth access token, the
cal-com-pp-cli destination-calendarsscope is required.APPS_WRITE
event-types — Manage event types
- — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli event-types create - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli event-types delete - — Hidden event types are returned only if authentication is provided and it belongs to the event type owner. Use the...
cal-com-pp-cli event-types get - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli event-types get-by-id - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli event-types update
me — Manage me
- — Removes all of the authenticated user's global booking limits. Only available to organization members — non-org...
cal-com-pp-cli me clear-my-booking-limits - — If accessed using an OAuth access token, the
cal-com-pp-cli me getscope is required.PROFILE_READ - — Returns the authenticated user's global booking limits. Unset bounds are returned as null. Only available to...
cal-com-pp-cli me get-my-booking-limits - — Updates the authenticated user's profile. Email changes require verification and the primary email stays unchanged...
cal-com-pp-cli me update - — Partially updates the authenticated user's global booking limits. Only fields present in the request body are...
cal-com-pp-cli me update-my-booking-limits - — If accessed using an OAuth access token, the
cal-com-pp-cli me user-ooocontroller-create-my-oooscope is required.SCHEDULE_WRITE - — If accessed using an OAuth access token, the
cal-com-pp-cli me user-ooocontroller-delete-my-oooscope is required.SCHEDULE_WRITE - — If accessed using an OAuth access token, the
cal-com-pp-cli me user-ooocontroller-get-my-oooscope is required.SCHEDULE_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli me user-ooocontroller-update-my-oooscope is required.SCHEDULE_WRITE
notifications — Manage notifications
- — Register an app push subscription
cal-com-pp-cli notifications subscriptions-register - — Remove an app push subscription
cal-com-pp-cli notifications subscriptions-remove
oauth — Manage oauth
oauth-clients — Manage oauth clients
- — <Warning>These endpoints are deprecated and will be removed in the future.</Warning>
cal-com-pp-cli oauth-clients create - — <Warning>These endpoints are deprecated and will be removed in the future.</Warning>
cal-com-pp-cli oauth-clients delete - — <Warning>These endpoints are deprecated and will be removed in the future.</Warning>
cal-com-pp-cli oauth-clients get - — <Warning>These endpoints are deprecated and will be removed in the future.</Warning>
cal-com-pp-cli oauth-clients get-by-id - — <Warning>These endpoints are deprecated and will be removed in the future.</Warning>
cal-com-pp-cli oauth-clients update
organizations — Manage organizations
routing-forms — Manage routing forms
schedules — Manage schedules
- — Create a schedule for the authenticated user. The point of creating schedules is for event types to be available at...
cal-com-pp-cli schedules create - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli schedules delete - — Get all schedules of the authenticated user. <Note>Please make sure to pass in the cal-api-version header value as...
cal-com-pp-cli schedules get - — Get the default schedule of the authenticated user. <Note>Please make sure to pass in the cal-api-version header...
cal-com-pp-cli schedules get-default - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli schedules get-scheduleid - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli schedules update
selected-calendars — Manage selected calendars
- — If accessed using an OAuth access token, the
cal-com-pp-cli selected-calendars addscope is required.APPS_WRITE - — If accessed using an OAuth access token, the
cal-com-pp-cli selected-calendars deletescope is required.APPS_WRITE
slots — Manage slots
- — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli slots delete-reserved - — There are 4 ways to get available slots for event type of an individual user: 1. By event type id. Example...
cal-com-pp-cli slots get-available - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli slots get-reserved - — Make a slot not available for others to book for a certain period of time. If you authenticate using oAuth...
cal-com-pp-cli slots reserve - — <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing...
cal-com-pp-cli slots update-reserved
stripe — Manage stripe
- — Check Stripe connection
cal-com-pp-cli stripe check - — Get Stripe connect URL
cal-com-pp-cli stripe redirect - — Save Stripe credentials
cal-com-pp-cli stripe save
teams — Manage teams
- — If accessed using an OAuth access token, the
cal-com-pp-cli teams createscope is required.TEAM_PROFILE_WRITE - — If accessed using an OAuth access token, the
cal-com-pp-cli teams deletescope is required.TEAM_PROFILE_WRITE - — If accessed using an OAuth access token, the
cal-com-pp-cli teams getscope is required.TEAM_PROFILE_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli teams get-teamidscope is required.TEAM_PROFILE_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli teams updatescope is required.TEAM_PROFILE_WRITE
verified-resources — Manage verified resources
- — If accessed using an OAuth access token, the
cal-com-pp-cli verified-resources user-get-verified-email-by-idscope is required.VERIFIED_RESOURCES_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli verified-resources user-get-verified-emailsscope is required.VERIFIED_RESOURCES_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli verified-resources user-get-verified-phone-by-idscope is required.VERIFIED_RESOURCES_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli verified-resources user-get-verified-phone-numbersscope is required.VERIFIED_RESOURCES_READ - — Sends a verification code to the email. If accessed using an OAuth access token, the
cal-com-pp-cli verified-resources user-request-email-verification-code...VERIFIED_RESOURCES_WRITE - — Sends a verification code to the phone number. If accessed using an OAuth access token, the...
cal-com-pp-cli verified-resources user-request-phone-verification-code - — Use code to verify an email. If accessed using an OAuth access token, the
cal-com-pp-cli verified-resources user-verify-emailscope is required.VERIFIED_RESOURCES_WRITE - — Use code to verify a phone number. If accessed using an OAuth access token, the
cal-com-pp-cli verified-resources user-verify-phone-numberscope is...VERIFIED_RESOURCES_WRITE
webhooks — Manage webhooks
- — If accessed using an OAuth access token, the
cal-com-pp-cli webhooks createscope is required.WEBHOOK_WRITE - — If accessed using an OAuth access token, the
cal-com-pp-cli webhooks deletescope is required.WEBHOOK_WRITE - — Gets a paginated list of webhooks for the authenticated user. If accessed using an OAuth access token, the...
cal-com-pp-cli webhooks get - — If accessed using an OAuth access token, the
cal-com-pp-cli webhooks get-webhookidscope is required.WEBHOOK_READ - — If accessed using an OAuth access token, the
cal-com-pp-cli webhooks updatescope is required.WEBHOOK_WRITE
api-keys — 管理API密钥
- — 生成新的API密钥并删除当前密钥。需提供API密钥作为Authorization头中的Bearer令牌来刷新...
cal-com-pp-cli api-keys
bookings — 管理预订
- — 使用POST /v2/bookings创建常规预订、重复预订和即时预订。请求体...
cal-com-pp-cli bookings create - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli bookings get - —
cal-com-pp-cli bookings get-bookinguid可以是1. 普通预订的uid 2. 重复预订中某次的uid 3. ...:bookingUid - — 通过座位参考UID获取座位预订信息。当你从座位预订中获得seatUid时,此命令非常有用...
cal-com-pp-cli bookings get-by-seat-uid
cal-com-auth — 管理Cal.com认证
- — 符合RFC 6749标准的令牌端点。在请求体中传递client_id(第2.3.1节)。使用grant_type...
cal-com-pp-cli cal-com-auth
cal-com-auth-2 — 管理Cal.com认证2
- — 返回给定客户端ID的OAuth2客户端信息
cal-com-pp-cli cal-com-auth-2 <clientId>
calendars — 管理日历
- — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli calendars check-ics-feed权限。APPS_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli calendars create-ics-feed权限。APPS_WRITE - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli calendars get权限。APPS_READ - — 获取日历的忙碌时段。示例请求URL为`https://api.cal.com/v2/calendars/busy-times?timeZone=Europe%2...
cal-com-pp-cli calendars get-busy-times
conferencing — 管理会议
- — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli conferencing get-default权限。APPS_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli conferencing list-installed-apps权限。APPS_READ
credits — 管理积分
- — 为已完成的AI Agent交互扣除积分。使用externalRef实现幂等性,避免重复扣费。
cal-com-pp-cli credits charge - — 检查已认证用户(或其组织/团队)的可用积分并返回当前余额。
cal-com-pp-cli credits get-available
destination-calendars — 管理目标日历
- — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli destination-calendars权限。APPS_WRITE
event-types — 管理活动类型
- — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli event-types create - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli event-types delete - — 仅当提供认证且属于活动类型所有者时,才会返回隐藏的活动类型。使用...
cal-com-pp-cli event-types get - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli event-types get-by-id - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli event-types update
me — 管理个人信息
- — 删除已认证用户的所有全局预订限制。仅对组织成员可用——非组织...
cal-com-pp-cli me clear-my-booking-limits - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli me get权限。PROFILE_READ - — 返回已认证用户的全局预订限制。未设置的限制返回null。仅对...
cal-com-pp-cli me get-my-booking-limits - — 更新已认证用户的个人资料。邮箱变更需要验证,且主邮箱保持不变...
cal-com-pp-cli me update - — 部分更新已认证用户的全局预订限制。仅更新请求体中存在的字段...
cal-com-pp-cli me update-my-booking-limits - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli me user-ooocontroller-create-my-ooo权限。SCHEDULE_WRITE - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli me user-ooocontroller-delete-my-ooo权限。SCHEDULE_WRITE - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli me user-ooocontroller-get-my-ooo权限。SCHEDULE_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli me user-ooocontroller-update-my-ooo权限。SCHEDULE_WRITE
notifications — 管理通知
- — 注册应用推送订阅
cal-com-pp-cli notifications subscriptions-register - — 移除应用推送订阅
cal-com-pp-cli notifications subscriptions-remove
oauth — 管理OAuth
oauth-clients — 管理OAuth客户端
- — <警告>这些端点已废弃,未来将被移除。</警告>
cal-com-pp-cli oauth-clients create - — <警告>这些端点已废弃,未来将被移除。</警告>
cal-com-pp-cli oauth-clients delete - — <警告>这些端点已废弃,未来将被移除。</警告>
cal-com-pp-cli oauth-clients get - — <警告>这些端点已废弃,未来将被移除。</警告>
cal-com-pp-cli oauth-clients get-by-id - — <警告>这些端点已废弃,未来将被移除。</警告>
cal-com-pp-cli oauth-clients update
organizations — 管理组织
routing-forms — 管理路由表单
schedules — 管理日程
- — 为已认证用户创建日程。创建日程的目的是让活动类型在指定时间内可用...
cal-com-pp-cli schedules create - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli schedules delete - — 获取已认证用户的所有日程。<注意>请确保按照Headers部分的说明传递cal-api-version头值...
cal-com-pp-cli schedules get - — 获取已认证用户的默认日程。<注意>请确保按照Headers部分的说明传递cal-api-version头值...
cal-com-pp-cli schedules get-default - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli schedules get-scheduleid - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli schedules update
selected-calendars — 管理已选日历
- — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli selected-calendars add权限。APPS_WRITE - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli selected-calendars delete权限。APPS_WRITE
slots — 管理时段
- — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli slots delete-reserved - — 获取个人用户活动类型的可用时段有4种方式:1. 通过活动类型ID。示例...
cal-com-pp-cli slots get-available - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli slots get-reserved - — 预留某时段,使其在一定时间内无法被他人预订。如果使用OAuth认证...
cal-com-pp-cli slots reserve - — <注意>请确保按照Headers部分的说明传递cal-api-version头值。如果未传递...
cal-com-pp-cli slots update-reserved
stripe — 管理Stripe
- — 检查Stripe连接状态
cal-com-pp-cli stripe check - — 获取Stripe连接URL
cal-com-pp-cli stripe redirect - — 保存Stripe凭证
cal-com-pp-cli stripe save
teams — 管理团队
- — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli teams create权限。TEAM_PROFILE_WRITE - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli teams delete权限。TEAM_PROFILE_WRITE - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli teams get权限。TEAM_PROFILE_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli teams get-teamid权限。TEAM_PROFILE_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli teams update权限。TEAM_PROFILE_WRITE
verified-resources — 管理已验证资源
- — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli verified-resources user-get-verified-email-by-id权限。VERIFIED_RESOURCES_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli verified-resources user-get-verified-emails权限。VERIFIED_RESOURCES_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli verified-resources user-get-verified-phone-by-id权限。VERIFIED_RESOURCES_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli verified-resources user-get-verified-phone-numbers权限。VERIFIED_RESOURCES_READ - — 向邮箱发送验证码。如果使用OAuth访问令牌访问,需要
cal-com-pp-cli verified-resources user-request-email-verification-code...VERIFIED_RESOURCES_WRITE - — 向手机号发送验证码。如果使用OAuth访问令牌访问,需要...
cal-com-pp-cli verified-resources user-request-phone-verification-code - — 使用验证码验证邮箱。如果使用OAuth访问令牌访问,需要
cal-com-pp-cli verified-resources user-verify-email权限。VERIFIED_RESOURCES_WRITE - — 使用验证码验证手机号。如果使用OAuth访问令牌访问,需要
cal-com-pp-cli verified-resources user-verify-phone-number权限...VERIFIED_RESOURCES_WRITE
webhooks — 管理Webhook
- — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli webhooks create权限。WEBHOOK_WRITE - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli webhooks delete权限。WEBHOOK_WRITE - — 获取已认证用户的Webhook分页列表。如果使用OAuth访问令牌访问,需要...
cal-com-pp-cli webhooks get - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli webhooks get-webhookid权限。WEBHOOK_READ - — 如果使用OAuth访问令牌访问,需要
cal-com-pp-cli webhooks update权限。WEBHOOK_WRITE
Finding the right command
查找合适的命令
When you know what you want to do but not which command does it, ask the CLI directly:
bash
cal-com-pp-cli which "<capability in your own words>"which02--help当你知道要执行的操作但不确定对应命令时,可以直接询问CLI:
bash
cal-com-pp-cli which "<用你自己的话描述功能>"which02--helpRecipes
示例用法
Create a bookable link and share its URL
创建可预订链接并分享其URL
bash
cal-com-pp-cli link create --slug 30min --length 30 --title "30 Min Meeting"
cal-com-pp-cli link list --json --select links.slug,links.bookable_urllink createlink listbash
cal-com-pp-cli link create --slug 30min --length 30 --title "30 Min Meeting"
cal-com-pp-cli link list --json --select links.slug,links.bookable_urllink createlink listMark yourself out-of-office
标记自己处于休假状态
bash
cal-com-pp-cli ooo set --start 2026-05-12 --end 2026-05-18 --reason vacation --notes "Hawaii trip"
cal-com-pp-cli ooo list --jsonWhile the OOO entry is active, Cal.com excludes the range from slot search so you don't get booked.
bash
cal-com-pp-cli ooo set --start 2026-05-12 --end 2026-05-18 --reason vacation --notes "Hawaii trip"
cal-com-pp-cli ooo list --json休假记录生效期间,Cal.com会在时段搜索中排除该时间段,避免你被安排预订。
Today's agenda from the local store
从本地存储获取今日日程
bash
cal-com-pp-cli agenda --window today --json --select bookings.uid,bookings.title,bookings.start,bookings.attendeesReturns just the four fields an agent needs from the agenda envelope — keeps context tight against deeply-nested booking payloads.
bash
cal-com-pp-cli agenda --window today --json --select bookings.uid,bookings.title,bookings.start,bookings.attendees仅返回日程信息中Agent需要的四个字段——避免处理嵌套过深的预订负载,保持上下文简洁。
Cross-event-type slot search ranked by start
跨活动类型按开始时间排序的时段搜索
bash
cal-com-pp-cli slots find --event-type-ids 96531 --start tomorrow --end "tomorrow 23:59" --json --first-onlyFans out /v2/slots per event-type ID; returns only the earliest slot.
bash
cal-com-pp-cli slots find --event-type-ids 96531 --start tomorrow --end "tomorrow 23:59" --json --first-only会遍历每个活动类型ID调用/v2/slots接口;仅返回最早的可用时段。
No-show rate by attendee for capacity planning
按参会者统计缺席率以进行容量规划
bash
cal-com-pp-cli analytics no-show --window 90d --by attendee --jsonLocal SQL aggregation over synced bookings; no API call.
bash
cal-com-pp-cli analytics no-show --window 90d --by attendee --json通过本地SQL聚合同步的预订数据;无需调用API。
Audit webhook coverage before adding automation
添加自动化前审计Webhook覆盖情况
bash
cal-com-pp-cli webhooks coverage --jsonCompares your registered triggers against the canonical Cal.com lifecycle set and surfaces missing subscribers.
bash
cal-com-pp-cli webhooks coverage --json将已注册的触发器与Cal.com标准生命周期集合进行对比,找出遗漏的订阅者。
Reschedule a booking to the next free slot
将预订重新安排到下一个空闲时段
bash
cal-com-pp-cli reschedule next --uid <booking-uid> --after tomorrow --dry-runOne composed command replaces three; --dry-run prints the planned move without committing.
bash
cal-com-pp-cli reschedule next --uid <booking-uid> --after tomorrow --dry-run一个组合命令替代三个步骤;会打印计划的调整内容但不会实际执行。
--dry-runAuth Setup
认证设置
Cal.com uses bearer tokens prefixed with (live) or (test). Set in your environment, or run once. The CLI also accepts managed-user access tokens and OAuth access tokens through the same Authorization header. Per-resource API-version pinning via is handled automatically by the client.
cal_live_cal_test_CAL_COM_TOKENauth set-tokencal-api-versionRun to verify setup.
cal-com-pp-cli doctorCal.com使用前缀为(生产环境)或(测试环境)的Bearer令牌。可在环境变量中设置,或执行一次命令。CLI也支持通过同一Authorization头使用托管用户访问令牌和OAuth访问令牌。客户端会自动处理通过实现的按资源API版本固定功能。
cal_live_cal_test_CAL_COM_TOKENauth set-tokencal-api-version执行验证设置是否正确。
cal-com-pp-cli doctorAgent Mode
Agent模式
Add to any command. Expands to: .
--agent--json --compact --no-input --no-color --yes-
Pipeable — JSON on stdout, errors on stderr
-
Filterable —keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
--selectbashcal-com-pp-cli bookings get --agent --select id,name,status -
Previewable —shows the request without sending
--dry-run -
Offline-friendly — sync/search commands can use the local SQLite store when available
-
Non-interactive — never prompts, every input is a flag
在任何命令后添加参数,等效于:。
--agent--json --compact --no-input --no-color --yes-
可管道化 — 标准输出为JSON,错误信息输出到标准错误
-
可过滤 —参数保留指定字段。点路径可深入嵌套结构;数组会遍历每个元素。对于输出冗长的API,此参数对保持上下文简洁至关重要:
--selectbashcal-com-pp-cli bookings get --agent --select id,name,status -
可预览 —显示请求内容但不发送
--dry-run -
离线友好 — 同步/搜索命令在可用时可使用本地SQLite存储
-
非交互式 — 从不提示用户,所有输入均通过参数传递
Response envelope
响应信封
Commands that read from the local store or the API wrap output in a provenance envelope:
json
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}Parse for data and to know whether it's live or local. A human-readable summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.
.results.meta.sourceN results (live)从本地存储或API读取数据的命令会将输出包裹在来源信封中:
json
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}解析获取数据,表示数据来自生产环境还是本地存储。仅当标准输出为终端时,才会在标准错误输出中打印人类可读的摘要——管道/Agent消费者仅会在标准输出中获取纯JSON。
.results.meta.sourceN results (live)Agent Feedback
Agent反馈
When you (or the agent) notice something off about this CLI, record it:
cal-com-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
cal-com-pp-cli feedback --stdin < notes.txt
cal-com-pp-cli feedback list --json --limit 10Entries are stored locally at . They are never POSTed unless is set AND either is passed or . Default behavior is local-only.
~/.cal-com-pp-cli/feedback.jsonlCAL_COM_FEEDBACK_ENDPOINT--sendCAL_COM_FEEDBACK_AUTO_SEND=trueWrite what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
当你(或Agent)发现此CLI存在问题时,可记录反馈:
cal-com-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
cal-com-pp-cli feedback --stdin < notes.txt
cal-com-pp-cli feedback list --json --limit 10反馈记录会存储在本地文件中。仅当设置了且传递了参数或设置时,才会将反馈POST到指定端点。默认行为仅存储在本地。
~/.cal-com-pp-cli/feedback.jsonlCAL_COM_FEEDBACK_ENDPOINT--sendCAL_COM_FEEDBACK_AUTO_SEND=true请记录让你感到意外的内容,而非正式的bug报告。简短、具体、单行描述:这类反馈的价值会不断累积。
Output Delivery
输出交付
Every command accepts . The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
--deliver <sink>| Sink | Effect |
|---|---|
| Default; write to stdout only |
| Atomically write output to |
| POST the output body to the URL ( |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
每个命令都支持参数。输出会发送到指定的sink,同时(或替代)输出到标准输出,因此Agent无需手动管道即可路由命令结果。支持三种sink:
--deliver <sink>| Sink | 效果 |
|---|---|
| 默认值;仅输出到标准输出 |
| 原子性地将输出写入 |
| 将输出体POST到指定URL(当使用 |
不支持的协议会返回结构化错误,并列出支持的类型。Webhook失败时返回非零退出码,并在标准错误输出中记录URL和HTTP状态码。
Named Profiles
命名配置文件
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
cal-com-pp-cli profile save briefing --json
cal-com-pp-cli --profile briefing bookings get
cal-com-pp-cli profile list --json
cal-com-pp-cli profile show briefing
cal-com-pp-cli profile delete briefing --yesExplicit flags always win over profile values; profile values win over defaults. lists all available profiles under so introspecting agents discover them at runtime.
agent-contextavailable_profiles配置文件是一组保存的参数值,可在多次调用中复用。适用于定时Agent每次运行相同命令且配置相同的场景——即HeyGen的“Beacon”模式。
cal-com-pp-cli profile save briefing --json
cal-com-pp-cli --profile briefing bookings get
cal-com-pp-cli profile list --json
cal-com-pp-cli profile show briefing
cal-com-pp-cli profile delete briefing --yes显式参数始终优先于配置文件值;配置文件值优先于默认值。会在下列出所有可用配置文件,以便自省Agent在运行时发现它们。
agent-contextavailable_profilesExit Codes
退出码
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 使用错误(参数错误) |
| 3 | 资源未找到 |
| 4 | 需要认证 |
| 5 | API错误(上游问题) |
| 7 | 速率限制(请等待后重试) |
| 10 | 配置错误 |
Argument Parsing
参数解析
Parse :
$ARGUMENTS- Empty, , or
help→ show--helpoutputcal-com-pp-cli --help - Starts with → ends with
install→ MCP installation; otherwise → see Prerequisites abovemcp - Anything else → Direct Use (execute as CLI command with )
--agent
解析的规则:
$ARGUMENTS- 为空、或
help→ 显示--help输出cal-com-pp-cli --help - 以开头 → 若以
install结尾 → MCP安装;否则 → 参见顶部的前提条件mcp - 其他情况 → 直接使用(添加参数执行CLI命令)
--agent
MCP Server Installation
MCP服务器安装
- Install the MCP server:
bash
go install github.com/mvanhorn/printing-press-library/library/productivity/cal-com/cmd/cal-com-pp-mcp@latest - Register with Claude Code:
bash
claude mcp add cal-com-pp-mcp -- cal-com-pp-mcp - Verify:
claude mcp list
- 安装MCP服务器:
bash
go install github.com/mvanhorn/printing-press-library/library/productivity/cal-com/cmd/cal-com-pp-mcp@latest - 注册到Claude Code:
bash
claude mcp add cal-com-pp-mcp -- cal-com-pp-mcp - 验证:
claude mcp list
Direct Use
直接使用
- Check if installed: If not found, offer to install (see Prerequisites at the top of this skill).
which cal-com-pp-cli - Match the user query to the best command from the Unique Capabilities and Command Reference above.
- Execute with the flag:
--agentbashcal-com-pp-cli <command> [subcommand] [args] --agent - If ambiguous, drill into subcommand help: .
cal-com-pp-cli <command> --help
- 检查是否已安装:如果未找到,提供安装选项(参见顶部的前提条件)。
which cal-com-pp-cli - 将用户查询与上述独特功能和命令参考中的最佳命令匹配。
- 添加参数执行:
--agentbashcal-com-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,查看子命令帮助:。
cal-com-pp-cli <command> --help