Skip to main content
Get Cal.com up and running and receive your first booking in minutes. This guide covers both Cal.com Cloud and self-hosted deployments.
New to Cal.com? This quickstart focuses on getting you productive quickly. For detailed installation options, see the Installation guide.

Choose your path

Fastest way to get started with zero setup

Cal.com Cloud

1

Sign up for an account

Visit cal.com/signup and create your account with email or OAuth.
Use Continue with Google for faster setup - it will automatically connect your Google Calendar.
2

Complete your profile

Set your:
  • Username: Your booking URL will be cal.com/your-username
  • Name: Displayed on your booking page
  • Time zone: Ensures accurate availability
  • Bio (optional): Introduce yourself to bookers
3

Create your first event type

Cal.com creates a default “30 Minute Meeting” for you, but let’s customize it:
  1. Go to Event Types in the sidebar
  2. Click your “30 Minute Meeting” event
  3. Customize the settings:
    • Title: What people see (e.g., “Quick Chat”)
    • URL: Your booking link slug (e.g., cal.com/you/quick-chat)
    • Duration: Meeting length (15, 30, 60 minutes, or custom)
    • Location: Where you’ll meet
  1. Click Save when done
4

Connect your calendar

Prevent double-bookings by connecting your calendar:
  1. Click Apps in the sidebar
  2. Find “Google Calendar” and click Connect
  3. Sign in and grant permissions
  4. Select which calendars to check for conflicts
Important: Connected calendars are checked for conflicts. Any busy events will block those time slots from being booked.
5

Set your availability

Define when you’re available for bookings:
  1. Go to Availability in the sidebar
  2. Edit your “Working Hours” schedule
  3. Set your typical availability:
    • Days: Select working days
    • Time ranges: Add multiple time blocks per day
    • Time zone: Already set from your profile
  • Multiple schedules: Create different schedules for different event types
  • Date overrides: Block specific dates or add special availability
  • Minimum notice: Set how far in advance people can book
  • Booking window: Limit how far into the future bookings can be made
6

Share your booking link

Your booking page is ready! Share it:

Direct link

Share your booking URL via email, social media, or messaging

Website embed

Embed Cal.com on your website with our embed components

Email signature

Add your booking link to your email signature

Social profiles

Add to Twitter bio, LinkedIn profile, etc.
Preview your booking page by visiting your link or clicking Preview on the event type.
7

Get your first booking

When someone books time with you:
  1. You’ll receive an email with booking details
  2. Event appears in your calendar automatically
  3. Booker gets confirmation with meeting details
  4. Automatic reminders are sent before the meeting
Bookings are managed in the Bookings tab where you can view, reschedule, or cancel meetings.

Self-hosted deployment

1

Deploy Cal.com

Choose your deployment method:
See all deployment options →
2

Complete initial setup

  1. Visit your Cal.com instance
  2. Create your admin account
  3. Set up your profile (username, name, timezone)
3

Configure integrations

Self-hosted instances require your own OAuth credentials for third-party integrations.
  1. Go to Google Cloud Console
  2. Create a new project
  3. Enable Google Calendar API
  4. Create OAuth 2.0 credentials
  5. Add authorized redirect URIs:
  6. Add to .env:
Detailed Google setup guide →
  1. Create app on Zoom Marketplace
  2. Choose “General App” → “User-managed”
  3. Set redirect URL: https://your-domain.com/api/integrations/zoomvideo/callback
  4. Add scopes:
    • meeting:write:meeting
    • user:read:settings
  5. Add to .env:
Configure SMTP for sending booking confirmations:
.env
Without email configuration, booking confirmations won’t be sent. This is required for production use.
4

Create your first event type

Follow the same steps as Cal.com Cloud (Steps 3-6 above):
  1. Create/customize an event type
  2. Connect your calendar (requires OAuth setup)
  3. Set your availability
  4. Share your booking link
  5. Get your first booking!

Understanding the booking flow

Here’s what happens when someone books with you:
1

Booker selects a time

2

Booker fills out form

Required information:
  • Name
  • Email
  • Custom fields (if configured)
  • Guest emails (if allowed)
3

Booking is created

The booking is:
  • Saved to database
  • Added to your connected calendars
  • Status set to ACCEPTED (or PENDING if approval required)
4

Notifications sent

Both you and the booker receive:
  • Email confirmation
  • Calendar invitation (.ics file)
  • Meeting location details
5

Reminders (optional)

If you have workflows configured:
  • Email/SMS reminders before the meeting
  • Follow-up emails after the meeting
  • Custom webhooks for integrations
See Workflows documentation for setup.

Next steps

Customize your booking page

Add your brand colors, logo, and custom questions

Set up team scheduling

Create round-robin or collective team event types

Add workflows

Automate reminders, follow-ups, and notifications

Integrate with your tools

Connect CRM, payment processing, and more

Embed on your website

Add Cal.com directly to your website

Use the API

Build custom scheduling experiences

Common questions

Go to SettingsProfile and update your username. Your booking URL is:
For custom domains, see self-hosting configuration.
Yes! In your event type settings:
  1. Enable Requires confirmation
  2. Choose whether to block the time slot while pending
  3. Approve or reject bookings from the Bookings tab
Add buffer time in your event type settings:
  • Before event buffer: Time before meetings
  • After event buffer: Time after meetings
Example: 15 minutes before, 10 minutes after
Yes! Set booking limits in your event type:
Or limit total duration:
Bookers can reschedule using the link in their confirmation email. You can also:
  1. Go to Bookings tab
  2. Click the booking
  3. Click Reschedule
Rescheduling respects your availability and sends updated notifications.To disable rescheduling:
Cal.com automatically handles time zones:
  • Your availability is set in your time zone
  • Bookers see slots in their time zone
  • Calendar events show correct times for both parties

Troubleshooting

Common causes:
  1. Availability not set: Check your schedule in Availability
  2. Calendar conflicts: Review connected calendars for busy events
  3. Booking notice: Reduce minimumBookingNotice in event type settings
  4. Booking window: Extend how far ahead bookings can be made
  5. Booking limits reached: Check if you’ve hit daily/weekly limits
Debug steps:
Google Calendar:
  1. Disconnect and reconnect in Apps
  2. Ensure you granted all permissions
  3. Check that calendars are selected in integration settings
  4. Verify OAuth redirect URIs are correct (self-hosted)
Outlook/Office 365:
  1. Verify calendar permissions in Azure AD
  2. Check that API permissions include Calendars.Read and Calendars.ReadWrite
  3. Ensure consent was granted by admin (if required)
Self-hosted only:
  1. Verify email configuration in .env:
  2. Test SMTP connection:
  3. For Gmail, use an app password
  4. Check application logs for email errors
Cal.com Cloud: Email issues should be rare. Contact support if emails aren’t being delivered.
  1. Update your time zone in SettingsProfile
  2. Clear browser cache and reload
  3. Check that system time zone is correct
  4. For event types, verify schedule time zone matches your preference

Getting help

Documentation

Comprehensive guides and API reference

GitHub Discussions

Ask questions and share with the community

Discord

Chat with other Cal.com users

Enterprise support

Commercial support and consulting
Now scheduling! You’re ready to start taking bookings. Share your booking link and watch your calendar fill up.