Get it running
Paste this into the AI that runs on your computer. It does the install, checks it works, and tells you what to type first. If anything fails, paste the error back to it.
Install cal.diy (https://github.com/calcom/cal.com) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Claude Code, running on my machine. 1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password. 2. Clone https://github.com/calcom/cal.com into ~/tools/cal-com and follow the README's install exactly. 3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says. Tool-specific notes: Copy .env.example to .env, then generate real values for NEXTAUTH_SECRET (openssl rand -base64 32) and CALENDSO_ENCRYPTION_KEY (openssl rand -base64 24), the README's own default is the literal word "secret", which is not safe to use. Run docker compose up -d to start the app, its database and Prisma Studio together; it opens at http://localhost:3000 on port 3000. If you see "No key set vapidDetails.publicKey", generate push keys with npx web-push generate-vapid-keys and add them to .env. The first visit runs a setup wizard to create your first user, you can skip connecting a calendar there and go straight to /event-types if you're not ready to link one yet. 4. Run the smallest test the README gives, and show me the output. 5. When it works, tell me what to type first, in one line, for this job: Build your first event type. If anything fails, show me the exact error and fix it before going on.
Install cal.diy (https://github.com/calcom/cal.com) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Kimi, running on my machine. 1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password. 2. Clone https://github.com/calcom/cal.com into ~/tools/cal-com and follow the README's install exactly. 3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says. Tool-specific notes: Copy .env.example to .env, then generate real values for NEXTAUTH_SECRET (openssl rand -base64 32) and CALENDSO_ENCRYPTION_KEY (openssl rand -base64 24), the README's own default is the literal word "secret", which is not safe to use. Run docker compose up -d to start the app, its database and Prisma Studio together; it opens at http://localhost:3000 on port 3000. If you see "No key set vapidDetails.publicKey", generate push keys with npx web-push generate-vapid-keys and add them to .env. The first visit runs a setup wizard to create your first user, you can skip connecting a calendar there and go straight to /event-types if you're not ready to link one yet. 4. Run the smallest test the README gives, and show me the output. 5. When it works, tell me what to type first, in one line, for this job: Build your first event type. If anything fails, show me the exact error and fix it before going on.
Install cal.diy (https://github.com/calcom/cal.com) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Gemini CLI, running on my machine. 1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password. 2. Clone https://github.com/calcom/cal.com into ~/tools/cal-com and follow the README's install exactly. 3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says. Tool-specific notes: Copy .env.example to .env, then generate real values for NEXTAUTH_SECRET (openssl rand -base64 32) and CALENDSO_ENCRYPTION_KEY (openssl rand -base64 24), the README's own default is the literal word "secret", which is not safe to use. Run docker compose up -d to start the app, its database and Prisma Studio together; it opens at http://localhost:3000 on port 3000. If you see "No key set vapidDetails.publicKey", generate push keys with npx web-push generate-vapid-keys and add them to .env. The first visit runs a setup wizard to create your first user, you can skip connecting a calendar there and go straight to /event-types if you're not ready to link one yet. 4. Run the smallest test the README gives, and show me the output. 5. When it works, tell me what to type first, in one line, for this job: Build your first event type. If anything fails, show me the exact error and fix it before going on.
Install cal.diy (https://github.com/calcom/cal.com) on this computer and get it working for me. I am not a developer; explain each step in one line as you go and never skip one. You are Codex, running on my machine. 1. Check what this machine already has (git, Python or Node as the project needs, Docker if the README says so). Tell me anything missing and install it, asking me before anything that needs my password. 2. Clone https://github.com/calcom/cal.com into ~/tools/cal-com and follow the README's install exactly. 3. Configure it. If it needs an API key or a login, stop and ask me for it; never guess one and never store it anywhere except where the README says. Tool-specific notes: Copy .env.example to .env, then generate real values for NEXTAUTH_SECRET (openssl rand -base64 32) and CALENDSO_ENCRYPTION_KEY (openssl rand -base64 24), the README's own default is the literal word "secret", which is not safe to use. Run docker compose up -d to start the app, its database and Prisma Studio together; it opens at http://localhost:3000 on port 3000. If you see "No key set vapidDetails.publicKey", generate push keys with npx web-push generate-vapid-keys and add them to .env. The first visit runs a setup wizard to create your first user, you can skip connecting a calendar there and go straight to /event-types if you're not ready to link one yet. 4. Run the smallest test the README gives, and show me the output. 5. When it works, tell me what to type first, in one line, for this job: Build your first event type. If anything fails, show me the exact error and fix it before going on.
What to point it at first
Build your first event type
Set up one meeting type, say a 30-minute call, with your real available hours, then send yourself the booking link to see exactly what a client sees.
Connect your real calendar
Link your Google or Outlook calendar and book a test slot from a different browser, then check your calendar shows the block and nothing double-books.
Send a booking to a real client
Book one real meeting through it before you retire your old scheduling tool, and check the confirmation email and the video-call link actually land and work.
What it must never do unattended
- It drafts. It never sends.
- Never let it change a price or a term.
- Never leave the placeholder NEXTAUTH_SECRET and CALENDSO_ENCRYPTION_KEY values in place before anyone outside your own machine can reach it.
- Never let it publish an event type with hours that don't match your real calendar.
Who made it
calcom/cal.diy on GitHub, under the MIT licence. 48,301 stars, checked 9 September 2026. Last change 7 September 2026. We did not write it; we checked it, and wrote this page so you can use it.
Also in Sales
Lead Desk
Every new lead scored, understood and answered in draft by the time you've made coffee. You send. Nothing else does.
Lead Desk, Asia edition
The lead desk for buyers who answer on WhatsApp, LINE or WeChat — and never to email. Drafts shaped for the app. You send.
Get contracts signed without paying a signing service
You get an e-signature flow you host yourself: upload a document, mark where a signature or a date goes, and send a link.