@todoforai/calendly-api
v0.1.0
Published
JSON-first CLI for the official Calendly API v2
Readme
calendly-api
Independent JSON-first CLI over the Calendly API v2 (not an official Calendly product). Zero SDK, plain fetch, Node >= 20.
cd api-apps/calendly-api && npm install --workspaces=false && bun run build
node dist/index.js --helpAuth
https://calendly.com/integrations/api_webhooks → Personal access tokens → scopes Scheduling, User management, Webhooks (an email code confirms creation). OAuth access tokens work the same way.
<secret-manager> | calendly-api auth --stdin # verifies GET /users/me, saves ~/.config/calendly-api/credentials.json (0600)
CALENDLY_TOKEN=… calendly-api whoamiCommands
users, members, event-types (list/get/available-times/one-off), links create, events (list/get/cancel), invitees, no-shows, availability, webhooks, plus api <METHOD> <path>.
IDs accept a uuid or the full resource URI. List commands default to the authenticated user. --dry-run previews; cancel and DELETE need --yes.
calendly-api events list --query [email protected] --query status=active
calendly-api invitees list <event_uuid> --query [email protected]
calendly-api links create --data '{"owner":"https://api.calendly.com/event_types/<uuid>"}'
calendly-api events cancel <event_uuid> --data '{"reason":"Rescheduling"}' --yes
calendly-api no-shows create --data '{"invitee":"https://api.calendly.com/scheduled_events/<e>/invitees/<i>"}'Docs: https://developer.calendly.com/llms.txt
Tests
bun test (mocked fetch) and bun run test:node (built bundle under Node).
