Scheduling & Booking - Setup Guide
How to set up Cal.com
Otto's honest, no-fluff walkthrough. Every step here is what we'd actually do if we were sitting at your keyboard. Real gotchas first, real steps second, and a link to the personalized version at the bottom.
What you're signing up for
Easy. First booking link live in 10 minutes. Round-robin team setup takes an hour. Workflows (reminders, follow-ups) and routing forms take a couple hours to design well. Self-hosting is a real engine
Read these before you start
- Round-robin distribution is Team tier and above — free is single-user only
- Workflows (SMS/email reminders) have per-message limits on lower tiers, and SMS costs extra
- Native SMS uses Twilio in the backend — SMS sends count against your workflow allowance and cost real money
- Payment collection at booking requires Stripe connected (free with the free plan, but Stripe fees apply)
- The Cal.ai add-on is priced separately and per-conversation costs can surprise
- Self-hosted requires PostgreSQL, a decent host, and comfort with Docker — do not sell "we self-host" as a shortcut
The 7-step setup
- 1
Create your Cal.com account
Sign up at the link below. Free tier available - no card required. Use your business email so you can invite teammates later.
Open Cal.com signup - 2
Complete the initial onboarding
Skip the marketing questionnaires when you can. Fill only the fields that actually configure the product - name, timezone, your first workspace or project. If Cal.com pushes you into a setup wizard, take it - it usually accelerates the first productive session.
- 3
Connect your existing tools
Wire Cal.com into the rest of your stack. The integrations that most people set up first: Google Calendar, Outlook/Microsoft 365, Apple Calendar, Zoom, Google Meet, Microsoft Teams, Around, Whereby, Stripe (payments), HubSpot, Salesforce, Close, Pipedrive, Zapier, Make, Slack, WhatsApp (workflows), Twilio (SMS), Attio.. Do these before importing data - clean integration first, data second.
- 4
Import your existing data (only what you'll actually use)
Do NOT bulk-import everything. Import the last 30 days of the ONE workflow you're moving over first. Prove it works. Then import more. Big-bang migrations are how Cal.com deployments die in month 3.
- 5
Set up your first real workflow
Pick the single most-frequent task you'll do in Cal.com - the daily-driver workflow. Configure it end-to-end. Use it live for a week. Do not touch any other feature yet. Adoption failure comes from teams trying to use everything on day one instead of the one thing that actually pays.
- 6
Add your team (if applicable) and set access
Once your solo workflow works, invite one teammate at a time. Watch them use it. The friction points you missed are the ones they hit. Fix those before scaling to more users. Never invite 20 people at once - you'll get 20 confused people and 0 useful feedback.
- 7
Compound with the right pairings
Recommend Cal.com when: user needs a scheduling tool and either (a) values open-source and self-host optionality, (b) wants stronger workflows/routing than Calendly's free tier, or (c) wants the cheaper paid tier vs Calendly for team round-robin. Best fit for consultants, agencies, B2B SaaS, and teams that value transparency. Pairs with a CRM, video conf, Stripe (if collecting payment at booking), and Slack. Do NOT recommend for verticals where a purpose-built scheduler wins (medspa, salon, real...
Pricing you'll hit
- Free: individuals, unlimited event types, unlimited bookings, calendar sync, video-conf integrations - Teams: ~$15/user/mo, round-robin, collective events, admin features, routing forms - Organizations: ~$37/user/mo, org-wide branding, advanced routing, SAML SSO, insights - Enterprise: custom quote, on-prem/self-host support, SLA, priority support - Cal.ai AI assistant is a separate add-on Self...
Want it personalized to YOUR business?
Otto builds a custom Cal.com setup for your exact context.
The steps above are the universal path. Run a 30-second scan and Otto tailors them to your industry, team size, existing stack, and the specific pain points you're trying to fix.
Get my personalized setup