What Are Cal.com Apps?
Apps are modular extensions that integrate with Cal.com’s core functionality. They can:- Add new calendar providers
- Integrate with CRM systems
- Add payment processing
- Provide video conferencing options
- Add analytics and tracking
- Customize booking pages
- Automate workflows
App Categories
Apps are organized into the following categories:- Analytics - Track and analyze booking data
- AI & Automation - Automate workflows and add AI capabilities
- Calendar - Connect external calendar services
- Conferencing - Add video meeting providers
- CRM - Integrate customer relationship management systems
- Messaging - Connect messaging and notification services
- Payment - Process payments for bookings
- Other - General purpose apps
App Structure
Each app is a standalone package in the monorepo with the following structure:Key Files
config.json
Defines app metadata, categories, and configuration:index.ts
Exports the app’s API and library modules:zod.ts
Defines validation schemas for app data and credentials:api/add.ts
Handles app installation and credential storage:Generated Files
The app-store CLI automatically generates several files that register your app:apps.metadata.generated.ts- App metadata registryapps.schemas.generated.ts- Schema exportsapps.server.generated.ts- Server-side API handlersapps.browser.generated.tsx- Client-side componentscalendar.services.generated.ts- Calendar service mapcrm.apps.generated.ts- CRM service mappayment.services.generated.ts- Payment service mapvideo.adapters.generated.ts- Video adapter map
Development Workflow
- Create - Use the CLI to scaffold a new app
- Develop - Implement business logic and UI components
- Test - Test locally with
yarn dev - Build - Generate app registry files with
yarn app-store:build - Enable - Activate your app in
/settings/admin/apps
Next Steps
Build Your First App
Step-by-step guide to creating a Cal.com app
App Store CLI
Command-line tools for app development
App Types
Learn about different app types and services
Contributing
Guidelines for contributing apps