### Get Started Locally with Prisma Studio
Source: https://www.prisma.io/studio
This command-line interface (CLI) command allows you to quickly set up a new Prisma project with a pre-seeded database and example data, then launch Prisma Studio. It's ideal for getting started with local development and exploring Prisma's capabilities.
```bash
npx try-prisma@latest --template orm/starter --name hello-prisma \
&& cd hello-prisma \
&& npx prisma studio
```
--------------------------------
### API Setup: Copy Environment Files
Source: https://context7_llms
Copies example environment files to their respective active files for API V2 and the main project configuration. This is a prerequisite for API setup.
```shell
cp apps/api/v2/.env.example apps/api/v2/.env
cp .env.example .env
```
--------------------------------
### Start Local Development with Docker
Source: https://cal.com/docs/developing/local-development
Initiates a local development environment using Docker and Docker Compose. This setup includes a local Postgres instance and pre-configured test users. Credentials will be logged to the console upon execution.
```bash
yarn dx
```
--------------------------------
### API Environment Variable Setup
Source: https://context7_llms
Copies example environment variable files to be used for API configuration. These files contain default settings that can be customized.
```shell
cp apps/api/v2/.env.example apps/api/v2/.env
cp .env.example .env
```
--------------------------------
### Cal.com API Local Setup Commands
Source: https://context7_llms
Commands to set up the Cal.com API in a local instance. This involves cloning the repository, copying environment files, and starting the API server.
```bash
yarn dev
cp apps/api/v1/.env.example apps/api/v1/.env
yarn workspace @calcom/api dev
```
--------------------------------
### Organization Setup API
Source: https://context7_llms
Configuration guide for enabling and setting up the organizations feature in a self-hosted Cal.com instance.
```APIDOC
## Organization Setup
### Description
This guide covers the setup of the Organizations feature in Cal.com, allowing for multi-tenant environments.
### Prerequisites
- A working Cal.com instance.
- Admin access to the Cal.com instance.
- Ability to modify environment variables and restart the server.
### Step 1: Enable Organizations Feature
1. Log in as an administrator.
2. Navigate to **Settings** → **Admin** → **Features**.
3. Enable the **Organizations** feature flag.
### Step 2: Configure Environment Variables
Add the following to your `.env` file:
```bash
NEXT_PUBLIC_WEBAPP_URL=http://app.cal.local:3000
NEXT_PUBLIC_WEBSITE_URL=http://app.cal.local:3000
NEXTAUTH_URL=http://app.cal.local:3000
ORGANIZATIONS_ENABLED=1
```
### Step 3: Configure Local DNS
Add the following to your hosts file (`/etc/hosts` on Linux/Mac, `C:\Windows\System32\drivers\etc\hosts` on Windows):
```bash
127.0.0.1 app.cal.local
```
### Step 4: Start/Restart Development Server
Run the following command:
```bash
yarn dev
```
### Step 5: Create an Organization
1. Log in as a regular user.
2. Visit `http://app.cal.local:3000/settings/organizations/new`.
3. Follow the onboarding steps, including choosing an organization slug (e.g., `myorg`).
**Note**: After creation, Cal.com links will redirect to the organization's URL (e.g., `yourdomain.cal.local:3000`).
```
--------------------------------
### Setup Database Schema (Yarn)
Source: https://cal.com/docs/developing/local-development
Initializes and sets up the database schema using Prisma. This command is run within the Cal.com project directory.
```bash
yarn workspace @calcom/prisma db push
```
--------------------------------
### Install Dependencies (Yarn)
Source: https://cal.com/docs/developing/local-development
Installs all project dependencies required for Cal.com to run locally using Yarn. This command should be run after navigating into the cloned repository directory.
```bash
cd cal.com
yarn
```
--------------------------------
### Run Development Server
Source: https://cal.com/docs/developing/local-development
Starts the Cal.com development server. This command is used for local development and testing of the application features.
```bash
yarn dev
```
--------------------------------
### Run API Server v1
Source: https://cal.com/docs/developing/local-development
Starts the API server for version 1. This command is used to run the backend service locally for development and testing.
```bash
yarn workspace @calcom/api dev
```
--------------------------------
### Start Local Database with Docker Compose
Source: https://github.com/calcom/cal.com
Initiates a local PostgreSQL database instance using Docker Compose. This is a prerequisite for certain deployment scenarios. Ensure Docker is installed and configured.
```bash
docker compose up -d database
```
--------------------------------
### Install Dependencies with Yarn
Source: https://context7_llms
This command installs all project dependencies using Yarn. For Vercel deployments, a specific environment variable might be needed if the installation fails.
```bash
yarn install
```
```bash
YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn install
```
--------------------------------
### Copy Environment Files
Source: https://cal.com/docs/developing/local-development
Copies example environment files to their respective configuration files for API versions v1 and v2, as well as the root environment file. This step is crucial for configuring application settings.
```bash
cp apps/api/.env.example apps/api/{version}/.env
cp .env.example .env
```
--------------------------------
### Run API Server v2 (Requires Docker)
Source: https://cal.com/docs/developing/local-development
Starts the API server for version 2. This command requires the database to be running in Docker. It will typically be accessible at http://localhost:3003.
```bash
yarn workspace @calcom/api-v2 dev
```
--------------------------------
### Example Cal.com API Request to Create User
Source: https://context7_llms
This snippet demonstrates a POST request to the Cal.com API to create a new user, including necessary headers and a JSON body with user details like email and timezone. It's crucial for initiating user setup within the Cal.com platform.
```javascript
POST https://api.cal.com/v2/oauth-clients/7Dcxu2fclb10001kha9x1dreyl4/users
Headers: { "x-cal-secret-key”: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX}
Body:
{
"email": "bob@example.com",
"timeZone": "America/New_York"
}
```
--------------------------------
### Install Docker on Debian/Ubuntu
Source: https://context7_llms
Installs Docker Engine on your virtual machine. This involves updating the package list and then installing the 'docker.io' package. Ensure your system is up-to-date before installation.
```bash
sudo apt-get update
sudo apt-get install docker.io
```
--------------------------------
### Example Response for Get All Event Types
Source: https://cal.com/docs/api-reference/v2/event-types/get-all-event-types
An example JSON response for the 'Get All Event Types' endpoint, illustrating the structure of event type data including details like ID, title, description, location, booking fields, recurrence, and pricing.
```json
{
"status": "success",
"data": [
{
"id": 1,
"lengthInMinutes": 60,
"title": "Learn the secrets of masterchief!",
"slug": "learn-the-secrets-of-masterchief",
"description": "Discover the culinary wonders of Argentina by making the best flan ever!",
"locations": [
{
"type": "address",
"address": "123 Example St, City, Country",
"public": true
}
],
"bookingFields": [
{
"type": "name",
"label": "",
"placeholder": "",
"isDefault": true,
"slug": "name",
"required": true,
"disableOnPrefill": true
}
],
"disableGuests": true,
"recurrence": {
"interval": 10,
"occurrences": 10,
"frequency": "yearly"
},
"metadata": {},
"price": 123,
"currency": "",
"lockTimeZoneToggleOnBookingPage": true,
"forwardParamsSuccessRedirect": {},
"successRedirectUrl": {},
"isInstantEvent": true,
"scheduleId": 123,
"hidden": true,
"bookingRequiresAuthentication": true,
"ownerId": 10,
"users": [
""
],
"lengthInMinutesOptions": [
15,
30,
60
],
"slotInterval": 60,
"minimumBookingNotice": 0,
"beforeEventBuffer": 0,
"afterEventBuffer": 0,
"seatsPerTimeSlot": {},
"seatsShowAvailabilityCount": true,
"bookingLimitsCount": {},
"bookerActiveBookingsLimit": {
"maximumActiveBookings": 3,
"offerReschedule": true
},
"onlyShowFirstAvailableSlot": true,
"bookingLimitsDuration": {},
"bookingWindow": [
{
"type": "businessDays",
"value": 5,
"rolling": true
}
],
"bookerLayouts": {
"defaultLayout": "month",
"enabledLayouts": [
"month"
]
},
"confirmationPolicy": {},
"requiresBookerEmailVerification": true,
"hideCalendarNotes": true,
"color": {
"lightThemeHex": "#292929",
"darkThemeHex": "#fafafa"
},
"seats": {
"seatsPerTimeSlot": 4,
"showAttendeeInfo": true,
"showAvailabilityCount": true
},
"offsetStart": 123,
"customName": "",
"destinationCalendar": {
"integration": "",
"externalId": ""
},
"useDestinationCalendarEmail": true,
"hideCalendarEventDetails": true,
"hideOrganizerEmail": true,
"calVideoSettings": {
"disableRecordingForOrganizer": true,
"disableRecordingForGuests": true,
"redirectUrlOnExit": {},
"enableAutomaticRecordingForOrganizer": true,
"enableAutomaticTranscription": true,
"disableTranscriptionForGuests": true,
"disableTranscriptionForOrganizer": true
}
}
]
}
```
--------------------------------
### Install HTTP Client Libraries
Source: https://context7_llms
Instructions for installing the axios library for Node.js via npm or yarn, and the requests library for Python via pip.
```bash
# Install via NPM
npm install --save axios
# Install via Yarn
yarn add axios
```
```bash
# Install via pip
pip install --upgrade requests
```
--------------------------------
### Prepare Environment Variables File
Source: https://context7_llms
Copies the example environment variables file (.env.example) to a new file named .env. This file will be used to store runtime configuration for the Cal.com application. Users must then edit the .env file to customize settings.
```bash
cp .env.example .env
```
--------------------------------
### Open Prisma Studio for Database Management (Shell)
Source: https://hub.docker.com/r/calcom/cal.com
Launch Prisma Studio, a GUI tool for viewing and editing your database content. This is helpful for setting up initial data like users.
```shell
yarn db-studio
```
--------------------------------
### SAML Login Setup
Source: https://context7_llms
Steps to configure SAML-based Single Sign-On for your Cal.com instance.
```APIDOC
## Setting up SAML login
1. **Database Setup**: Set `SAML_DATABASE_URL` to a separate PostgreSQL database.
Example: `postgresql://postgres:@localhost:5450/cal-saml`
For self-signed certificates, add `?sslmode=no-verify`.
2. **Admin Configuration**: Set `SAML_ADMINS` to a comma-separated list of admin emails for SAML metadata upload.
3. **IdP Configuration**: Create a SAML application with your Identity Provider (IdP). Refer to [SAML Setup](/self-hosting/sso-setup#saml-registration-with-identity-providers).
4. **User Access**: Configure access to the IdP SAML app for all intended users.
5. **Metadata**: Keep the XML metadata from your IdP accessible.
6. **Cal.com Settings**: Log in as an admin (from `SAML_ADMINS`) and navigate to Settings -> Security.
7. **Upload Metadata**: Paste the IdP XML metadata into the SAML configuration section and click Save.
8. **Login**: Provisioned users can now log in using SAML.
```
--------------------------------
### Get all bookings response (JSON)
Source: https://cal.com/docs/api-reference/v2/bookings/get-all-bookings
Example JSON response for the 'Get all bookings' API call. It contains a 'data' array with booking objects, each including details like ID, UID, title, host, attendees, timestamps, and event type information. It also includes pagination details.
```json
{
"status": "success",
"data": [
{
"id": 123,
"uid": "booking_uid_123",
"title": "Consultation",
"description": "Learn how to integrate scheduling into marketplace.",
"hosts": [
{
"id": 1,
"name": "Jane Doe",
"email": "jane100@example.com",
"username": "jane100",
"timeZone": "America/Los_Angeles"
}
],
"status": "accepted",
"start": "2024-08-13T15:30:00Z",
"end": "2024-08-13T16:30:00Z",
"duration": 60,
"eventTypeId": 50,
"eventType": {
"id": 1,
"slug": "some-event"
},
"location": "https://example.com/meeting",
"absentHost": true,
"createdAt": "2024-08-13T15:30:00Z",
"updatedAt": "2024-08-13T15:30:00Z",
"attendees": [
{
"name": "John Doe",
"email": "john@example.com",
"timeZone": "America/New_York",
"absent": false,
"language": "en",
"phoneNumber": "+1234567890"
}
],
"bookingFieldsResponses": {
"customField": "customValue"
},
"cancellationReason": "User requested cancellation",
"cancelledByEmail": "canceller@example.com",
"reschedulingReason": "User rescheduled the event",
"rescheduledByEmail": "rescheduler@example.com",
"rescheduledFromUid": "previous_uid_123",
"rescheduledToUid": "new_uid_456",
"meetingUrl": "https://example.com/recurring-meeting",
"metadata": {
"key": "value"
},
"rating": 4,
"icsUid": "ics_uid_123",
"guests": [
"guest1@example.com",
"guest2@example.com"
]
}
],
"pagination": {
"totalItems": 123,
"remainingItems": 103,
"returnedItems": 10,
"itemsPerPage": 10,
"currentPage": 2,
"totalPages": 13,
"hasNextPage": true,
"hasPreviousPage": true
},
"error": {}
}
```
--------------------------------
### Start Docker Service
Source: https://context7_llms
Starts the Docker daemon service on your virtual machine. This command ensures that Docker is running and ready to manage containers.
```bash
sudo systemctl start docker
```
--------------------------------
### Custom Styles Example for Booking Form
Source: https://cal.com/docs/platform/atoms/booker
An example demonstrating how to apply custom styles to the booking form, likely involving importing style-related components and applying them to specific elements. This snippet focuses on the setup and initial styling imports.
```javascript
import { \n } from \"@mui/material\",\nimport { LocalizationProvider } from \"@mui/x-date-pickers\",\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\",\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\",\nimport { TimePicker } from \"@mui/x-date-pickers/TimePicker\",\nimport { DateTimePicker } from \"@mui/x-date-pickers/DateTimePicker\",\nimport dayjs from \"dayjs\",\nimport clsx from \"clsx\"\n
import Button from \"../components/Button\",\nimport Input from \"../components/Input\",\nimport \"./style.css\"
const MuiPickers = (props) => {
const { className, children, ...rest } = props
return (
{children}
)
}
const BookingForm = () => {
const [value, setValue] = React.useState(dayjs('2022-04-17T15:30'))
const handleDateChange = (newValue) => {
setValue(newValue)
}
return (
}
/>
)
}
export default BookingForm
```
--------------------------------
### Clone Repository and Install Dependencies (Shell)
Source: https://hub.docker.com/r/calcom/cal.com
Clone the Cal.com repository from GitHub and install project dependencies using Yarn. This is the initial step for setting up the project locally.
```shell
git clone git@github.com:calcom/cal.com.git
cd cal.com
yarn
```
--------------------------------
### Build and Start Production Server
Source: https://cal.com/docs/self-hosting/upgrading
Builds a production-ready version of the Cal.com application and then starts the server. This is intended for deployment.
```bash
yarn build
yarn start
```
--------------------------------
### Clone Repository using Git CLI (Output Example)
Source: https://help.github.com/articles/cloning-a-repository
This shows the expected output when successfully cloning a repository using the Git CLI. The output indicates the cloning process, object counting, compression, and unpacking.
```bash
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
> Cloning into `Spoon-Knife`...
> remote: Counting objects: 10, done.
> remote: Compressing objects: 100% (8/8), done.
> remove: Total 10 (delta 1), reused 10 (delta 1)
> Unpacking objects: 100% (10/10), done.
```
--------------------------------
### Get Busy Times (GET /v2/calendars/busy-times)
Source: https://cal.com/docs/platform/atoms/booker
Retrieves busy times from one or more calendars. Requires specifying the time range and calendar credentials/external IDs. Example URL: `https://api.cal.com/v2/calendars/busy-times?loggedInUsersTz=Europe%2FMadrid&dateFrom=2024-12-18&dateTo=2024-12-18&calendarsToLoad[0][credentialId]=135&calendarsToLoad[0][externalId]=skrauciz%40gmail.com`
```shell
curl -X GET "https://api.cal.com/v2/calendars/busy-times?loggedInUsersTz=Europe%2FMadrid&dateFrom=2024-12-18&dateTo=2024-12-18&calendarsToLoad[0][credentialId]=135&calendarsToLoad[0][externalId]=skrauciz%40gmail.com" \
-H "Authorization: Bearer YOUR_API_KEY"
```
--------------------------------
### Valid HTML Example
Source: https://google.github.io/styleguide/htmlcssguide.html
This snippet demonstrates valid HTML structure. It's important to use valid HTML whenever possible to ensure proper rendering and compatibility across browsers.
```html
Test
This is only a test.
```
--------------------------------
### GET /v2/calendars/busy-times
Source: https://cal.com/docs/platform/guides/booking-redirects
Retrieves busy times from a calendar. The example request URL shows parameters for timezone, date range, and calendar credentials.
```APIDOC
## GET /v2/calendars/busy-times
### Description
Fetches information about periods when a calendar is marked as busy. The endpoint requires details about the user's timezone, a date range, and specific calendar credentials to query.
### Method
GET
### Endpoint
`/v2/calendars/busy-times`
### Parameters
#### Query Parameters
- **loggedInUsersTz** (string) - Required - The timezone of the logged-in user (e.g., `Europe/Madrid`).
- **dateFrom** (string) - Required - The start date for the busy time query (YYYY-MM-DD).
- **dateTo** (string) - Required - The end date for the busy time query (YYYY-MM-DD).
- **calendarsToLoad[0][credentialId]** (integer) - Required - The ID of the calendar credential to load.
- **calendarsToLoad[0][externalId]** (string) - Required - The external ID of the calendar to load.
### Request Example
```
GET /v2/calendars/busy-times?loggedInUsersTz=Europe%2FMadrid&dateFrom=2024-12-18&dateTo=2024-12-18&calendarsToLoad[0][credentialId]=135&calendarsToLoad[0][externalId]=skrauciz%40gmail.com
```
### Response
#### Success Response (200)
(Response structure not detailed in the provided documentation)
#### Response Example
(Response example not provided in the documentation)
```
--------------------------------
### Configure Database Connection String (Shell)
Source: https://hub.docker.com/r/calcom/cal.com
Set the DATABASE_URL in your .env file to connect to your PostgreSQL database. The example shows the format 'postgresql://:@:/'.
```shell
DATABASE_URL='postgresql://:@:'
```
--------------------------------
### Build Production Project
Source: https://context7_llms
Build a production-ready version of the project. It is recommended to ensure a successful production build before submitting code changes.
```bash
yarn build
```
--------------------------------
### GET /v2/calendars/{calendar}/save
Source: https://cal.com/docs/platform/guides/booking-redirects
Saves Google or Outlook calendar credentials. This endpoint is likely part of the calendar integration setup process.
```APIDOC
## GET /v2/calendars/{calendar}/save
### Description
Saves the credentials for a Google or Outlook calendar. This endpoint is part of the process for integrating these calendar services with the platform.
### Method
GET
### Endpoint
`/v2/calendars/{calendar}/save`
### Parameters
#### Path Parameters
- **calendar** (string) - Required - The identifier of the calendar to save credentials for.
### Request Example
(No request body is specified for this endpoint in the provided documentation)
### Response
#### Success Response (200)
(Response structure not detailed in the provided documentation)
#### Response Example
(Response example not provided in the documentation)
```
--------------------------------
### Run API Server v2 on Windows
Source: https://cal.com/docs/developing/local-development
Configures and starts the API server v2 on Windows. This involves modifying the 'dev' script in `apps/api/package.json` to explicitly set the PORT environment variable to 3003.
```bash
"dev": "set PORT=3003 && next dev"
```
--------------------------------
### Example Payload for Host No-Show (JSON)
Source: https://context7_llms
This JSON payload represents a scenario where the host did not join a Cal Video meeting within the configured time after the booking started. It includes details about the event, booking, attendees, and the specific webhook that was triggered.
```json
{
"triggerEvent": "AFTER_HOSTS_CAL_VIDEO_NO_SHOW",
"createdAt": "2025-12-01T15:23:30.320Z",
"payload": {
"title": "30min between Owner 1 and test",
"bookingId": 32,
"bookingUid": "qVyXscm1ryg2QoQ4K8uHLW",
"startTime": "2025-12-02T04:00:00.000Z",
"attendees": [
{
"id": 32,
"email": "test@example.com",
"name": "test",
"timeZone": "Asia/Kolkata",
"phoneNumber": null,
"locale": "en',
"bookingId": 32,
"noShow": false
}
],
"endTime": "2025-12-02T04:30:00.000Z",
"participants": [],
"hostEmail": "owner1-dunder@example.com",
"eventType": {
"id": 50,
"teamId": null,
"parentId": null,
"calVideoSettings": null
},
"webhook": {
"id": "2bdfc20b-aa4a-4863-a499-932cb1d4e69a",
"subscriberUrl": "https://webhook.site/example",
"appId": null,
"time": 5,
"timeUnit": "MINUTE",
"eventTriggers": [
"AFTER_HOSTS_CAL_VIDEO_NO_SHOW",
"AFTER_GUESTS_CAL_VIDEO_NO_SHOW"
],
"payloadTemplate": null
},
"message": "Host with email owner1-dunder@example.com didn't join the call or didn't join before 2025-12-02 04:05:00 +00:00"
}
}
```
--------------------------------
### GET /v2/calendars/{calendar}/save
Source: https://cal.com/docs/platform/guides/booking-redirects
Saves Apple calendar credentials. This endpoint is likely part of the calendar integration setup process for Apple Calendars.
```APIDOC
## GET /v2/calendars/{calendar}/save
### Description
Saves the credentials for an Apple Calendar. This endpoint facilitates the integration of Apple Calendars with the platform.
### Method
GET
### Endpoint
`/v2/calendars/{calendar}/save`
### Parameters
#### Path Parameters
- **calendar** (string) - Required - The identifier of the Apple calendar to save credentials for.
### Request Example
(No request body is specified for this endpoint in the provided documentation)
### Response
#### Success Response (200)
(Response structure not detailed in the provided documentation)
#### Response Example
(Response example not provided in the documentation)
```
--------------------------------
### Cal.com Shell Component Integration
Source: https://context7_llms
Example of how to import and render the GreeterButton component within the Shell.tsx file in Cal.com to make the button globally available.
```typescript
/**
* Shell.tsx
*/
// ...
import GreeterButton from "@calcom/app-store/greeter/components/GreeterButton";
// ...
```
--------------------------------
### Get Available Slots (V2 API)
Source: https://context7_llms
Retrieves available time slots for a given event type within a specified date range. V2 requires ISO 8601 timestamps for start and end times and offers additional filtering options.
```http
GET /v2/slots/available?eventTypeId=123&startTime=2024-01-01T00:00:00Z&endTime=2024-01-31T23:59:59Z
```
--------------------------------
### OIDC Login Setup
Source: https://context7_llms
Steps to configure OpenID Connect (OIDC) for Single Sign-On with your Cal.com instance.
```APIDOC
## Setting up OIDC login
1. **Database Setup**: Set `SAML_DATABASE_URL` to a separate PostgreSQL database.
Example: `postgresql://postgres:@localhost:5450/cal-saml`
For self-signed certificates, add `?sslmode=no-verify`.
2. **Admin Configuration**: Set `SAML_ADMINS` to a comma-separated list of admin emails for OIDC configuration.
3. **Credentials**: Have your OIDC Provider's Client Secret, Client ID, and Well Known URL ready.
4. **Cal.com Instance**: Ensure your Cal.com instance is running. Log in with an admin user specified in `SAML_ADMINS`.
5. **Navigate to SSO Settings**: Go to `{BASE_URL}/settings/security/sso`.
6. **Configure OIDC**: Click 'Configure SSO with OIDC', enter the Client Secret, Client ID, and Well Known URL obtained in Step 3, then click Save.
7. **Login**: Users can now log in using your OIDC provider for authentication.
```
--------------------------------
### Get Available Slots Endpoint
Source: https://cal.com/docs/platform/guides/booking-redirects
Retrieves available time slots for an event type. This can be done by eventTypeId (for user or team event types) or by eventTypeSlug and username. The request requires start and end dates, and optionally a timezone.
```http
GET /v2/slots?eventTypeId=10&start=2050-09-05&end=2050-09-06&timeZone=Europe/Rome
GET /v2/slots?eventTypeSlug=intro&username=example_user&start=2050-09-05&end=2050-09-06&timeZone=Europe/Rome
```
--------------------------------
### Configure Vercel Cron Job Schedule
Source: https://vercel.com/guides/how-to-setup-cron-jobs-on-vercel
This configuration defines a cron job that will trigger a specific path in your application. The 'path' specifies the endpoint to be called, and 'schedule' uses a cron expression to determine the execution time (e.g., daily at 5 am UTC). Ensure the path starts with '/'.
```json
{
"crons": [
{
"path": "/api/cron",
"schedule": "0 5 * * *"
}
]
}
```
--------------------------------
### Setup CalProvider in Next.js/React App
Source: https://cal.com/docs/platform/quickstart
Sets up the CalProvider component at the root of your application to provide necessary context and data to Cal.com Atoms. This includes importing global styles and wrapping your application with CalProvider.
```javascript
import "@calcom/atoms/globals.min.css";
import { CalProvider } from '@calcom/atoms';
function MyApp({ Component, pageProps }) {
return (
);
}
export default MyApp;
```
--------------------------------
### GET Get an attribute
Source: https://cal.com/docs/api-reference/v2/orgs-teams/create-a-team
Retrieves a specific attribute by its ID. Used to get details of a specific attribute.
```APIDOC
## GET Get an attribute
### Description
Retrieves an attribute by ID.
### Method
GET
### Endpoint
/orgs/attributes/{attribute_id}
### Parameters
#### Path Parameters
- **attribute_id** (string) - Required - The ID of the attribute to retrieve.
### Response
#### Success Response (200)
- **attribute** (object) - The attribute object.
#### Response Example
```json
{
"id": "attribute_id",
"name": "Custom Attribute",
"key": "custom_attribute",
"type": "string"
}
```
```
--------------------------------
### SAML Login Setup
Source: https://context7_llms
Configure SAML login with your Identity Provider (IdP). This involves setting up an application with your IdP, configuring access, retrieving metadata, and then configuring SSO within Cal.com.
```APIDOC
## SAML Login Configuration
### Description
This section outlines the steps and required information to set up SAML-based Single Sign-On (SSO) with Cal.com.
### Method
N/A (Configuration via UI)
### Endpoint
`/settings/organizations/sso`
### Parameters
#### SAML Configuration Details
- **Assertion consumer service URL / Single Sign-On URL / Destination URL**: `https://app.cal.com/api/saml/callback` (string)
- **Entity ID / Identifier / Audience URI / Audience Restriction**: `https://saml.cal.com` (string)
- **Response**: `Signed` (string)
- **Assertion Signature**: `Signed` (string)
- **Signature Algorithm**: `RSA-SHA256` (string)
- **Assertion Encryption**: `Unencrypted` (string)
- **Name ID Format**: `EmailAddress` (string)
- **Application username**: `email` (string)
#### Mapping Attributes
- **Name**: `firstName` (string)
- **Name Format**: `Basic` (string)
- **Value**: `user.firstName` (string)
- **Name**: `lastName` (string)
- **Name Format**: `Basic` (string)
- **Value**: `user.lastName` (string)
### Request Example
(Configuration is done via UI, no direct request body example for setup)
### Response
#### Success Response (200)
- Configuration saved successfully.
#### Response Example
(N/A - UI based confirmation)
```
--------------------------------
### GET /bookings
Source: https://cal.com/docs/api-reference/v2/introduction
Gets organization bookings.
```APIDOC
## GET /bookings
### Description
Gets organization bookings.
### Method
GET
### Endpoint
/bookings
### Request Example
None
### Response
#### Success Response (200)
- **bookings** (array) - An array of booking objects.
#### Response Example
```json
{
"bookings": []
}
```
```
--------------------------------
### Create Cal.com Greeter App
Source: https://cal.com/docs/developing/guides/appstore-and-integration/build-a-greeter-app
Command to initiate the creation of a new Cal.com app named 'Greeter'. This sets up the basic structure for the app. No specific inputs or outputs are detailed, but it's a foundational step for app development.
```bash
yarn app-store create
```