← 返回
效率工具 Key 中文

Calcom Cli

Manage Cal.com calendars via CLI - schedules, bookings, event types, slots, user profile. Use when user mentions 'Cal.com', 'scheduling', 'bookings', or need...
通过CLI管理Cal.com日历,涵盖日程、预订、事件类型、时段及用户资料。适用于用户提及Cal.com、日程安排或预订相关场景。
melvynx
效率工具 clawhub v0.1.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 603
下载
💾 2
安装
1
版本
#latest

概述

calcom-cli

When To Use This Skill

Use the calcom-cli skill when you need to:

  • Manage Cal.com schedules (create, update, delete availability)
  • View, cancel, reschedule, or confirm bookings
  • Create and manage event types
  • Check available time slots for scheduling
  • View user profile information

Capabilities

  • Schedules: List, create, update, delete availability schedules with timezone support
  • Bookings: List, view, cancel, reschedule, and confirm bookings with filters (status, date range, attendee)
  • Event Types: Create and manage event types with custom durations, buffers, and booking fields
  • Slots: Query available time slots for booking
  • Profile: View current user profile details

Common Use Cases

  • "List all my upcoming bookings"
  • "Cancel booking xyz with reason 'Schedule conflict'"
  • "Create a new 30-minute meeting event type"
  • "Show available slots for tomorrow between 9am and 5pm"
  • "Update my work hours schedule to use Pacific timezone"
  • "Reschedule booking abc to next Tuesday at 2pm"

Setup

If calcom-cli is not installed, install it from GitHub:

npx api2cli install Melvynx/calcom-cli

If calcom-cli is not found, install and build it:

bun --version || curl -fsSL https://bun.sh/install | bash
npx api2cli bundle calcom
npx api2cli link calcom

api2cli link adds ~/.local/bin to PATH automatically. The CLI is available in the next command.

Always use --json flag when calling commands programmatically.

Working Rules

  • Always use --json for agent-driven calls so downstream steps can parse the result.
  • Start with --help if the exact action or flags are unclear instead of guessing.
  • Prefer read commands first when you need to inspect current state before mutating data.

Authentication

calcom-cli auth set "your-token"
calcom-cli auth test

Auth commands: auth set , auth show, auth remove, auth test

Token is stored in ~/.config/tokens/calcom-cli.txt.

Resources

schedules

Manage availability schedules.

  • list - List all schedules
  • get - Get a specific schedule
  • create --name --time-zone - Create new schedule
  • update [--name] [--time-zone] - Update schedule
  • delete - Delete schedule

bookings

Manage meeting bookings.

  • list [--status] [--after-start] [--before-end] [--attendee-email] - List bookings with filters
  • get - Get booking details
  • cancel [--cancellation-reason] - Cancel a booking
  • reschedule --start [--reschedule-reason] - Reschedule booking
  • confirm - Confirm a pending booking

event-types

Manage event type configurations.

  • list [--event-slug] - List all event types
  • get - Get event type details
  • create --title --slug <slug> --length-in-minutes <n></code> - Create event type</li><li><code>update <id> [options]</code> - Update event type</li><li><code>delete <id></code> - Delete event type</li></ul><h3>slots</h3><p>Query available time slots.</p><ul><li><code>list --start-time <datetime> --end-time <datetime> [--event-type-id]</code> - Get available slots</li></ul><h3>me</h3><p>View user profile.</p><ul><li><code>get</code> - Get current user profile</li></ul><h2>Output Format</h2><p><code>--json</code> returns a standardized envelope:</p><pre><code>{ "ok": true, "data": { ... }, "meta": { "total": 42 } } </code></pre><p>On error: <code>{ "ok": false, "error": { "message": "...", "status": 401 } }</code></p><h2>Quick Reference</h2><pre><code>calcom-cli --help # List all resources and global flags calcom-cli <resource> --help # List all actions for a resource calcom-cli <resource> <action> --help # Show flags for a specific action </code></pre><h2>Global Flags</h2><p>All commands support: <code>--json</code>, <code>--format <text|json|csv|yaml></code>, <code>--verbose</code>, <code>--no-color</code>, <code>--no-header</code></p><p>Exit codes: 0 = success, 1 = API error, 2 = usage error</p></div> </div> </div> <div id="tab-versions" class="detail-content"> <div class="detail-section"> <h2>版本历史</h2> <p style="margin-bottom:12px;font-size:14px;color:#94a3b8;">共 1 个版本</p> <ul class="version-list"> <li> <div> <span class="version-tag">v0.1.0</span> <span style="font-size:11px;color:#5b6abf;margin-left:8px;background:#eef0ff;padding:1px 8px;border-radius:10px;">当前</span> </div> <div style="font-size:12px;color:#94a3b8;"> 2026-03-19 19:51 安全 安全 </div> </li> </ul> </div> </div> <div id="tab-security" class="detail-content"> <div class="detail-section"> <h2>安全检测</h2> <div class="sec-grid"> <div class="sec-card"> <h4>腾讯云安全 (Keen)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://tix.qq.com/search/skill?keyword=5d37315a3570f1dd02b2a5873f8b40e1" target="_blank">查看报告</a> </div> <div class="sec-card"> <h4>腾讯云安全 (Sanbu)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://static.cloudsec.tencent.com/html-report-v2/2026/05/25/412657_2dc5fb48c02be87588b7cada0574a6fc.html?q-sign-algorithm=sha1&q-ak=AKID8JMG1bzBC1dz96qNhssfFftujT1NCoFi&q-sign-time=1781401130%3B1812937130&q-key-time=1781401130%3B1812937130&q-header-list=host&q-url-param-list=&q-signature=7fc39080acfefc744712b1e9a9e18eee58827893" target="_blank">查看报告</a> </div> </div> </div> </div> <!-- Recommended Skills --> <div style="margin-top:24px;"> <h2 style="font-size:18px;font-weight:600;margin-bottom:16px;">🔗 相关推荐</h2> <div class="rec-grid"> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">developer-tools</span> <h3><a href="/s/api2cli">api2cli</a></h3> <div class="rec-owner">melvynx</div> <div class="rec-desc">为任意 REST API 生成或发现 CLI + AgentSkill。适用场景:用户说「为 X 创建 CLI」「包装此 API」「搜索是否存在 CLI」「安装一个ex…」</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 0</span> <span style="color:#5b6abf;">📥 796</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">productivity</span> <h3><a href="/s/weather">Weather</a></h3> <div class="rec-owner">steipete</div> <div class="rec-desc">获取当前天气和预报(无需API密钥)</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 446</span> <span style="color:#5b6abf;">📥 226,456</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">productivity</span> <h3><a href="/s/nano-pdf">Nano Pdf</a></h3> <div class="rec-owner">steipete</div> <div class="rec-desc">使用nano-pdf CLI通过自然语言指令编辑PDF</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 275</span> <span style="color:#5b6abf;">📥 114,962</span> </div> </div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded',function(){ document.querySelectorAll('.detail-tab').forEach(function(btn){ btn.addEventListener('click',function(e){ var tab = this.getAttribute('data-tab'); document.querySelectorAll('.detail-tab').forEach(function(b){b.classList.remove('active')}); document.querySelectorAll('.detail-content').forEach(function(c){c.classList.remove('active')}); this.classList.add('active'); var el = document.getElementById('tab-'+tab); if(el) el.classList.add('active'); }); }); }); </script> <div class="footer"> <p>Skill工具集 © 2026</p> </div></body> </html>