SpearhubSpearhub
Cal.com Beginner 20-30 minutesAugust 1, 2026

Free Appointment Booking Page for Your Business (Calendly Alternative)

Stop paying $12-50/seat/month for Calendly. Set up Cal.com — a free, open-source booking page that syncs with your calendar, sends reminders, and generates video call links.

Free Appointment Booking Page for Your Business (Calendly Alternative)
Cost: Free (open source) + $5-10/month VPS
Time: 20-30 minutes
Level: Beginner

Free Appointment Booking Page for Your Business (Calendly Alternative)

Customers want to book appointments with you. But when they have to email back and forth to find a time that works, many just give up. You need a booking page where they pick a slot and it's done.

Calendly charges $12-50 per seat per month. For a small team of 5, that's $60-250 every month — just for a calendar widget.

Cal.com does the same thing. It's open source, free to self-host, and has no per-seat pricing. (GitHub | Official Website)

What Is Cal.com?

Cal.com is an open-source scheduling infrastructure platform. It lets you create a booking page where customers pick a time slot, and it automatically syncs with your Google Calendar, Outlook, or Apple Calendar. No back-and-forth emails. No double bookings.

  • Free and open source (MIT license)
  • Self-hosted — your booking data stays on your server
  • Calendar sync — Google, Outlook, Apple, CalDAV
  • Automated notifications — email and SMS reminders
  • Video integration — Zoom, Google Meet, Teams links auto-generated
  • Team scheduling — round-robin, collective, managed events
  • No per-seat pricing — unlimited team members

What You'll Need

  • A VPS with at least 2 GB RAM ($5-10/month VPS from Hostinger, DigitalOcean, or AWS Lightsail)
  • A domain name (e.g., book.yourbusiness.com)
  • About 20-30 minutes of setup time
  • No coding skills required

Step 1: Set Up Cal.com with Docker

Log into your VPS via SSH:

# Install Docker
apt-get update && apt-get upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
apt install docker-compose-plugin

# Download Cal.com self-hosting files
git clone https://github.com/calcom/cal.com.git
cd cal.com

# Copy and edit environment config
cp .env.example .env
nano .env

Update these key values in .env:

  • NEXTAUTH_SECRET — generate with openssl rand -hex 32
  • CALENDAR_ENCRYPTION_KEY — generate with openssl rand -hex 32
  • NEXT_PUBLIC_WEBAPP_URL — set to https://book.yourbusiness.com
  • POSTGRES_PASSWORD — set a strong password
# Start Cal.com
docker compose up -d

# Check it's running
curl -I localhost:3000

Set Up Nginx and SSL

apt install nginx certbot python3-certbot-nginx -y

# Create Nginx config pointing to port 3000
cat > /etc/nginx/sites-enabled/book.yourbusiness.com.conf << 'EOF'
server {
  server_name book.yourbusiness.com;
  location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_http_version 1.1;
  }
  listen 80;
}
EOF

nginx -t && systemctl reload nginx
certbot --nginx -d book.yourbusiness.com

Visit https://book.yourbusiness.com and create your admin account.

Step 2: Connect Your Calendar

  1. Go to Settings → Calendars → Add Calendar
  2. Choose Google Calendar, Outlook, or Apple
  3. Authorize with your calendar account
  4. Cal.com now checks your calendar for busy slots automatically

Step 3: Create Your First Event Type

  1. Go to Event Types → New Event Type
  2. Set the event name (e.g., "30-minute consultation")
  3. Set duration, available hours, and buffer time
  4. Choose location: Zoom, Google Meet, or in-person
  5. Set your booking link slug (e.g., book.yourbusiness.com/consultation)

Step 4: Share Your Booking Page

Share your link on your website, email signature, social media, and WhatsApp. Customers visit the page, see your available slots, and book instantly. Both you and the customer get an email confirmation with the meeting details.

Step 5: Set Up Notifications (Optional)

Cal.com can send automated email and SMS reminders to reduce no-shows:

  1. Go to Settings → Notifications
  2. Enable email reminders (free)
  3. For SMS, connect Twilio (pay-per-message, ~$0.01/SMS)
  4. Set reminder timing (e.g., 1 hour before, 1 day before)

What This Gives You

  • A professional booking page on your own domain
  • Automatic calendar sync — no double bookings
  • Email confirmations and reminders
  • Video call links auto-generated
  • Team scheduling (round-robin, collective)
  • Zero per-seat costs — unlimited team members
  • Your booking data stays on your server

Cost Comparison

SolutionMonthly Cost (5 users)Per-Seat Pricing
Calendly Standard$60/monthYes ($12/seat)
Calendly Teams$160/monthYes ($16/seat)
Calendly Enterprise$250+/monthYes ($50/seat)
Cal.com (self-hosted)~$5-10 (VPS only)No

A 5-person team saves $50-240 every month by self-hosting Cal.com.

Too Complex? We'll Set This Up for You

We'll install Cal.com on your server, connect your calendar, create event types, and set up notifications:

  • One-time setup: $299
  • Monthly managed (updates, backups, monitoring): $99/month
  • 6-month bundle (3 tools + training): $1,499

Book a free consultation

Frequently Asked Questions

Is Cal.com really free?

Yes. Cal.com is open-source under the MIT license. The software is free. You only pay for VPS hosting ($5-10/month).

Does Cal.com sync with Google Calendar?

Yes. Cal.com supports Google Calendar, Outlook, Apple Calendar, and CalDAV. It checks your calendar in real-time to prevent double bookings.

Can I use Cal.com for team scheduling?

Yes. Cal.com supports round-robin (distribute evenly), collective (everyone must be available), and managed events (assistant books on your behalf).

Does Cal.com send SMS reminders?

Yes, via Twilio integration. Email reminders are free. SMS costs ~$0.01 per message through Twilio.

Can I embed the booking widget on my website?

Yes. Cal.com provides an embed code you can add to any website. It works as a popup, inline widget, or full-page redirect.

How many event types can I create?

Unlimited. Create different event types for different services, durations, or team members.

Does Cal.com support payments?

Yes. Cal.com integrates with Stripe so you can charge for appointments. Customers pay when booking, and the money goes to your Stripe account.

Too complex? We'll set up Cal.com for you — $299 one-time

Our Implementation Support

Modular pricing — pick what you need. No long-term contracts.

One-Time Setup

$299–$499

We install and configure everything

Monthly Managed

$99–$199/mo

Updates, backups, monitoring

6-Month Bundle

$1,499

3 tools + training + support

Ready to Transform Your Business with AI?

Let's identify where AI can create the greatest impact across your business.

Chat on WhatsApp