npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@openpets/cal

v1.0.2

Published

Cal.com plugin providing access to bookings, schedules, teams, and organization management through the Cal.com API v2.

Readme

Cal.com Pet

Cal.com plugin providing access to bookings, schedules, teams, and organization management through the Cal.com API v2.

Features

  • 266 auto-generated tools from the Cal.com OpenAPI specification
  • Full access to Cal.com API v2 endpoints
  • Bookings management (create, reschedule, cancel)
  • Schedules and availability management
  • Team and organization management
  • Event types configuration
  • Webhooks and integrations
  • OAuth client management

Setup

1. Get Your API Key

  1. Go to Cal.com API Keys Settings
  2. Create a new API key
  3. Copy the key (starts with cal_live_ or cal_test_)

2. Configure Environment

Create a .env file in your project root:

CAL_API_KEY=cal_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

3. Test Connection

opencode run "test cal connection"

Available Tools

The Cal.com pet provides 266 tools organized into categories:

Bookings (17 tools)

  • Get all bookings
  • Create booking
  • Reschedule booking
  • Cancel booking
  • Mark no-show
  • Get booking recordings & transcripts

Event Types (11 tools)

  • List event types
  • Create/update/delete event types
  • Manage private links
  • Configure webhooks

Schedules (12 tools)

  • Get user schedules
  • Create/update/delete schedules
  • Get default schedule
  • Manage availability

Teams (22 tools)

  • List/create/update/delete teams
  • Manage team memberships
  • Team event types
  • Team bookings

Organizations (120+ tools)

  • Organization attributes
  • Organization memberships
  • Organization teams
  • Routing forms
  • Workflows
  • Roles & permissions

OAuth & Platform (18 tools)

  • Manage OAuth clients
  • Platform user management
  • Webhooks

Calendars & Conferencing (18 tools)

  • Calendar integrations
  • Conferencing apps
  • Busy time lookup

Example Queries

# Get user information
opencode run "get my cal.com user details"

# List all bookings
opencode run "show me all my cal bookings"

# Get schedules
opencode run "list my cal schedules"

# List teams
opencode run "show my cal teams"

# Get event types
opencode run "list my event types"

# Create a booking
opencode run "create a cal booking for tomorrow at 2pm"

Advanced Configuration

Custom API Host

If you're using a self-hosted Cal.com instance:

CAL_HOST=https://your-cal-instance.com

Tool Categories

The 266 generated tools cover these major areas:

| Category | Tools | Description | |----------|-------|-------------| | Orgs / Attributes | 14 | Organization custom attributes | | Orgs / Bookings | 1 | Organization-wide booking views | | Orgs / Teams | 100+ | Team management within orgs | | Bookings | 17 | Booking lifecycle management | | Event Types | 15 | Event type configuration | | Schedules | 12 | Availability schedules | | Teams | 18 | Team management | | Calendars | 9 | Calendar integrations | | Conferencing | 7 | Video conferencing apps | | OAuth | 18 | Platform & OAuth management | | Webhooks | 11 | Webhook management | | Slots | 5 | Availability slots |

Read-Only Mode

To enable read-only mode (disables write operations):

pets read-only cal on

This filters out all write operations (POST, PUT, PATCH, DELETE), leaving only read operations (GET).

Regenerating Tools

When Cal.com updates their API, regenerate the tools:

cd pets/cal
pets generate-openapi --verbose

API Documentation

FAQ

Q: How do I get my API key? A: Go to https://app.cal.com/settings/developer/api-keys and create a new API key.

Q: What's the difference between cal_live_ and cal_test_ keys? A: cal_test_ keys work with test data only, while cal_live_ keys work with production data.

Q: Can I use this with self-hosted Cal.com? A: Yes, set the CAL_HOST environment variable to your Cal.com instance URL.

Q: How do I know which tools are available? A: Run opencode run "list all available cal tools" or check the verbose output of pets generate-openapi --verbose.

Q: Some operations require an organization ID. How do I get it? A: Most organization endpoints require you to be part of a Cal.com organization. If you're not in an organization, use the non-org endpoints (e.g., /v2/bookings instead of /v2/organizations/{orgId}/bookings).

License

This pet is part of the OpenPets ecosystem. See the main repository for license information.