@andreasnlarsen/calcom-cli
v0.1.3
Published
Production-ready Cal.com CLI for personal scheduling workflows
Readme
@andreasnlarsen/calcom-cli
A production-ready Node.js TypeScript CLI for Cal.com personal-account workflows.
Important legal / brand notice
- This project is unofficial and is not affiliated with, endorsed by, or sponsored by Cal.com.
- Cal.com name is used for API compatibility/reference.
- Never commit or share API keys/tokens in source code or logs.
Install
npm install -g @andreasnlarsen/calcom-cliRun with:
calcom --helpOpenClaw skill (bundled)
The npm package includes a bundled OpenClaw skill at openclaw-skill/SKILL.md.
Install it into your OpenClaw workspace:
calcom openclaw install-skill --forceDefault target is machine-local:
~/.openclaw/workspace/skills/calcom-cli/SKILL.md
Custom target path is supported:
calcom openclaw install-skill --target-file "$HOME/.openclaw/workspace/skills/custom-calcom/SKILL.md" --forceThe command always prints where the skill was installed.
Authentication and safety model
calcom supports two auth sources:
CALCOM_API_KEYenvironment variable (highest priority)- Local XDG config file (
$XDG_CONFIG_HOME/calcom-cli/config.jsonor~/.config/calcom-cli/config.json)
The config file is always written with 0600 permissions.
Secrets are never printed in normal output. auth status shows only a masked preview.
Set auth:
calcom auth set --api-key <your-key>
calcom auth statusIf missing auth, commands return an actionable message.
Defaults
- Base URL:
https://api.cal.com - Default timezone:
Europe/Oslo(override with--timezoneor persist viaauth set --timezone) - Endpoint-specific API versions:
- schedules:
2024-06-11 - event-types:
2024-06-14 - slots:
2024-09-04 - bookings:
2024-08-13
- schedules:
Output modes
- Human-readable output by default
--jsonfor machine-safe output on all commands
Commands
P0
# Auth
calcom auth set --api-key <key>
calcom auth status
# Schedules
calcom schedule list
calcom schedule show --id 123
# Date overrides
calcom avail override set --schedule-id 123 --date 2026-03-02 --start 09:00 --end 12:00 --dry-run
calcom avail override clear --schedule-id 123 --date 2026-03-02 --yes
calcom avail override list --schedule-id 123 --from 2026-03-01 --to 2026-03-31
# Link workflows
calcom link list
calcom link share --slug growth-audit
# Slot check
calcom slot check --event-type-id 456 --start 2026-03-02T09:00:00+01:00 --end 2026-03-02T17:00:00+01:00P1
# Recurring windows
calcom avail window set --schedule-id 123 --day mon --start 09:00 --end 17:00 --yes
calcom avail window list --schedule-id 123
# Booking triage
calcom booking list --today
calcom booking list --upcoming --limit 25
# Booking writes
calcom booking cancel --id 789 --reason "Client requested new time" --yes
calcom booking reschedule --id 789 --start 2026-03-03T10:00:00+01:00 --end 2026-03-03T11:00:00+01:00 --dry-runWrite commands support:
--dry-runto inspect payload before writing--yesto bypass confirmation prompts
OpenClaw helper command:
calcom openclaw install-skill --forceDoctor command (quick health check):
calcom doctor
calcom doctor --jsonDevelopment
npm install
npm test
npm run buildPublishing (same model as whoop-cli)
Trusted publishing (recommended)
This repo includes .github/workflows/npm-publish.yml for npm OIDC trusted publishing with provenance.
Release flow:
- Bump
package.jsonversion. - Commit + push.
- Create and push a matching tag:
v<version>. - GitHub Action publishes to npm.
git tag v0.1.0
git push origin v0.1.0Manual fallback publish
npm run publish:manualThis runs typecheck/tests/build, verifies npm auth, ensures version is not already published, then publishes.
Note: local/manual publish does not include --provenance (npm requires a supported CI provider for automatic provenance). Provenance is handled by the GitHub Actions trusted-publisher workflow.
Architecture notes
src/cli.ts: command tree and handlerssrc/api/client.ts: HTTP client + auth + version headers + error normalizationsrc/api/calcom.ts: endpoint wrapperssrc/config.ts/src/auth.ts: local config and auth resolutionsrc/payloads.ts: isolated write payload builders (unit-tested)src/validators.ts: shared zod validationopenclaw-skill/SKILL.md: bundled skill for OpenClaw usage
Roadmap (out of scope for this release)
- P2: private link CRUD, event-type guardrails
- P3: routing slot calculations, destination calendar switching, webhook management
License
MIT
