Cal.com is an open-source scheduling platform that gives real estate professionals complete control over their booking infrastructure. Unlike proprietary tools like Calendly, Cal.com offers white-label customization (remove all branding, use your own domain), self-hosting options (run on your own servers for data privacy), and an API-first architecture that enables deep integrations with your tech stack. It's the scheduling solution for agents and brokerages who want full ownership of their scheduling experience.
Real estate professionals need scheduling tools that handle complex coordination scenarios. A typical property walk-through might require the buyer, buyer's agent, listing agent, home inspector, and potentially a contractor—all with different calendars and availability. Cal.com's collective scheduling solves this by checking everyone's availability simultaneously and only showing time slots that work for all parties. This eliminates the email chain hell of 'Does Thursday at 2 PM work for everyone?'
Discover how Cal.com powers real estate automation workflows
Remove all Cal.com branding and host booking pages on your own domain (schedule.yourrealestate.com). Customize colors, fonts, logos, and page layout to match your brand identity. Booking pages look like native parts of your website.
Luxury agent's booking page at schedule.luxuryproperties.com matches their main website's elegant design. No 'Powered by Cal.com' footer. Sellers see a seamless, professional brand experience that reinforces the agent's premium positioning.
Get a personalized plan for your tech stack
Ready-to-deploy workflows powered by Cal.com + NextAutomation
When a lead visits the brokerage's 'Schedule Consultation' page, they first complete a routing form asking about budget, pre-approval status, timeline, and preferred areas. Based on answers, the workflow scores the lead, assigns to the appropriate agent (senior for high-value, junior for entry-level), and creates a CRM record with qualification data before the meeting is even booked.
1Lead visits brokerage's Cal.com booking page, sees routing form before calendar
2Form asks: 'Pre-approval status?', 'Budget range?', 'Timeline to purchase?', 'Preferred neighborhoods?', 'Working with another agent?'
3Lead submits form, Cal.com fires webhook to n8n with all answers
4AI (OpenAI node) scores lead: Pre-approved + $500k+ budget + 0-3 month timeline = 'High Priority' (score 90). Not pre-approved + <$300k + 6+ months = 'Nurture' (score 30).
High-value leads get senior agent attention, entry-level leads get appropriate support, unqualified leads are nurtured automatically. No wasted time on unqualified consultations. Lead score and qualification data flows to CRM before first contact. Agent walks into meeting knowing buyer's budget, timeline, and motivation.
Connect Cal.com to your workflows with powerful triggers and actions
Fires when a new booking is confirmed via Cal.com. Returns invitee name, email, phone, event type, scheduled time, and answers to custom questions.
Buyer books showing for 123 Oak St. Trigger workflow to create HubSpot deal, send SMS confirmation, and add property prep notes to agent's calendar.
Fires when an invitee changes their booking time. Returns old and new scheduled times.
Buyer reschedules showing from 2 PM to 4 PM. Update CRM deal with new time, send SMS confirmation with updated details to buyer and agent.
Fires when a booking is canceled by invitee or host. Optionally includes cancellation reason if provided.
Buyer cancels showing. Trigger re-engagement workflow: send 'Sorry to miss you' SMS, offer reschedule link, log cancellation reason in analytics.
Fires when a visitor submits a routing form (pre-booking qualification). Returns all form field answers before they select a time.
Lead submits form with budget '$500k+' and pre-approval 'Yes'. Route to senior agent's calendar, create high-priority CRM record before booking is confirmed.
For paid event types, fires after payment is successfully processed via Stripe.
Investor pays $200 for consultation. Webhook fires after payment clears, triggers workflow: send receipt, add to agent's calendar, create CRM deal with '$200 consultation fee' note.
Programmatically create a new Cal.com event type with custom settings (duration, location, questions, availability).
New listing goes live. Auto-create event type 'Showing - 123 Oak St' with property address, listing agent's calendar, and buyer qualification questions.
Modify existing event type settings (change duration, update questions, adjust availability).
Listing price drops. Update event type description: 'Price reduced to $400k (was $425k)' so buyers see current price when booking showing.
Temporarily disable an event type to prevent new bookings, or re-enable it.
Property goes under contract. Disable 'Showing - 123 Oak St' event type via API so no more showings can be booked. Existing bookings are canceled with notification.
Programmatically cancel a scheduled booking and optionally notify the invitee.
Property closes early. Query Cal.com for all upcoming showings, cancel them via API, send SMS: 'Property sold! Let me show you similar homes: [link]'
Query available time slots for a specific event type within a date range.
AI chatbot asks buyer: 'When do you want to see 123 Oak St?' Queries Cal.com API for available slots this week, presents options: 'Available: Tomorrow 2 PM, Thursday 10 AM, Friday 4 PM.'
Create a booking programmatically without requiring invitee to click through booking page.
Agent manually schedules showing during phone call. Via n8n, create Cal.com booking directly, send buyer confirmation email/SMS with calendar invite—all automated.
Query all bookings for a user or event type, optionally filtered by date range or status.
Generate weekly showing report: query Cal.com for all showings next week, group by property, send digest to team via Slack.
Change a user's availability hours, add blocked time, or override specific dates.
Agent goes on vacation. Via CRM button, trigger n8n workflow that blocks Cal.com availability for 2 weeks and redirects bookings to backup agent.
Get started in approximately 20 minutes for basic setup; 1 hour for white-label configuration and API workflows
For SaaS: Sign up at cal.com. For self-hosted: Deploy Cal.com via Docker or Vercel using their GitHub repository (github.com/calcom/cal.com). Self-hosting requires technical setup but gives full data control.
Start with SaaS free tier to test workflows. Upgrade to self-hosted later if data privacy or white-label branding becomes critical.
In Cal.com, go to Settings → Calendars, connect Google Calendar or Outlook. This allows Cal.com to check your availability and avoid double-booking. Set default availability hours (e.g., Mon-Fri 9 AM - 6 PM).
Connect multiple calendars (work, personal) so Cal.com blocks time across all. Use 'Check for conflicts' setting to ensure booking pages only show truly available slots.
Go to Settings → Security → API Keys → Generate New Key. Copy the API key—this allows n8n to interact with Cal.com programmatically (create events, read bookings, update availability).
Store API key securely in n8n credentials. Treat like a password—if exposed, regenerate immediately in Cal.com settings.
In Cal.com, go to Settings → Developer → Webhooks. Create webhooks for 'Booking Created', 'Booking Rescheduled', 'Booking Canceled'. Set payload URL to your n8n webhook URL (create Webhook node in n8n first, copy URL).
Test webhooks by creating a test booking and checking n8n execution log. Cal.com sends JSON payload with invitee details, event type, and scheduled time.
In Cal.com, create event types: '15-Min Buyer Consultation', '45-Min Listing Presentation', '1-Hour Property Showing'. Set duration, location (video, phone, in-person), and custom questions (budget, pre-approval, timeline).
For showings, use 'Custom Location' and manually change address per property. Or use API to dynamically create event types per listing (e.g., 'Showing - 123 Oak St').
If using Cal.com paid plan: Go to Settings → Appearance, upload logo, set brand colors, add custom domain (schedule.yourrealestate.com). Configure DNS CNAME record pointing to Cal.com servers. Remove 'Powered by Cal.com' footer.
Custom domain requires DNS access. Add CNAME record: schedule.yourrealestate.com → cal.com. Takes 24-48h to propagate. Test with temporary cal.com/username URL while DNS propagates.
Create n8n workflow: Webhook (Cal.com Booking Created) → Extract booking data → HTTP Request to Cal.com API to get full booking details → Create HubSpot contact + deal → Send Twilio SMS confirmation. Test by booking a test event.
Cal.com webhook payload is smaller than full API response. After webhook trigger, make GET request to /bookings/{id} endpoint for complete data including custom question answers.
In Cal.com, create a Routing Form (paid feature) with questions: 'Pre-approval status?', 'Budget?', 'Timeline?'. Based on answers, route to different event types or agents. Configure routing logic: if pre-approved + high budget → senior agent, else → junior agent.
Routing forms fire webhooks before booking is confirmed. Use this to pre-populate CRM records with qualification data, so agent walks into meeting already knowing lead's budget and timeline.
Common questions about Cal.com integration
Explore other tools that work great with your workflow
Get a free AI roadmap showing how to connect Cal.com with your existing tools for maximum impact.
Get Your Free AI Roadmap