Cal.com is an open-source scheduling platform that gives CRE investment and development teams 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 funds and developers who want full ownership of their scheduling experience.
CRE teams need scheduling tools that handle complex coordination scenarios. A typical final walk-through might require the principal, broker, lender, environmental consultant, and a GC—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.yourcapital.com). Customize colors, fonts, logos, and page layout to match your brand identity. Booking pages look like native parts of your website.
A fund's booking page at schedule.bluechipcapital.com matches their main website's institutional design. No 'Powered by Cal.com' footer. LPs and sponsors see a seamless, professional brand experience that reinforces the firm's premium positioning.
Get a personalized plan for your tech stack
Ready-to-deploy workflows powered by Cal.com + NextAutomation
When a sponsor or broker visits the fund's 'Schedule a Deal Review' page, they first complete a routing form asking about asset class, deal size, timeline, and target market. Based on answers, the workflow scores the opportunity, assigns to the appropriate team member (senior partner for large deals, analyst for smaller ones), and creates a CRM record with qualification data before the meeting is even booked.
1Sponsor visits the fund's Cal.com booking page, sees the routing form before the calendar
2Form asks: 'Asset class?', 'Deal size?', 'Timeline to close?', 'Target market?', 'Is the deal under LOI elsewhere?'
3Sponsor submits form, Cal.com fires webhook to n8n with all answers
4AI (OpenAI node) scores the deal: Multifamily + $10M+ + 0-3 month timeline = 'High Priority' (score 90). Single-tenant + <$3M + 6+ months = 'Nurture' (score 30).
High-value deals get senior partner attention, smaller deals get appropriate support, off-thesis deals are nurtured or screened out automatically. No wasted time on unqualified reviews. Deal score and qualification data flows to the CRM before first contact. The team walks into the meeting knowing the asset class, deal size, and timeline.
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.
Broker books a site tour for 123 Oak St. Trigger a workflow to create a HubSpot deal, send an SMS confirmation, and add asset prep notes to the deal lead's calendar.
Fires when an invitee changes their booking time. Returns old and new scheduled times.
Broker reschedules the site tour from 2 PM to 4 PM. Update the CRM deal with the new time, send an SMS confirmation with updated details to the broker and deal lead.
Fires when a booking is canceled by invitee or host. Optionally includes cancellation reason if provided.
Broker cancels the site tour. Trigger a re-engagement workflow: send a 'Sorry to miss you' SMS, offer a reschedule link, log the 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.
Sponsor submits the form with deal size '$10M+' and asset class 'Multifamily'. Route to a senior partner's calendar, create a high-priority CRM record before the booking is confirmed.
For paid event types, fires after payment is successfully processed via Stripe.
Sponsor pays $200 for an advisory consultation. The webhook fires after payment clears, triggers a workflow: send a receipt, add to the deal lead's calendar, create a CRM deal with a '$200 consultation fee' note.
Programmatically create a new Cal.com event type with custom settings (duration, location, questions, availability).
New deal goes live. Auto-create the event type 'Site Tour - 123 Oak St' with the asset address, deal lead's calendar, and buyer-financing qualification questions.
Modify existing event type settings (change duration, update questions, adjust availability).
Asking price drops. Update the event type description: 'Price reduced to $4.0M (was $4.25M)' so prospective buyers see the current price when booking a site tour.
Temporarily disable an event type to prevent new bookings, or re-enable it.
Deal goes under contract. Disable the 'Site Tour - 123 Oak St' event type via API so no more tours can be booked. Existing bookings are canceled with notification.
Programmatically cancel a scheduled booking and optionally notify the invitee.
Deal closes early. Query Cal.com for all upcoming site tours, cancel them via API, send SMS: 'Deal closed! Let me show you comparable assets: [link]'
Query available time slots for a specific event type within a date range.
AI chatbot asks the broker: 'When do you want to tour 123 Oak St?' Queries the 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.
Deal lead manually schedules a site tour during a phone call. Via n8n, create the Cal.com booking directly, send the broker a confirmation email/SMS with a calendar invite—all automated.
Query all bookings for a user or event type, optionally filtered by date range or status.
Generate a weekly tour report: query Cal.com for all site tours next week, group by asset, send a digest to the team via Slack.
Change a user's availability hours, add blocked time, or override specific dates.
Deal lead goes on vacation. Via a CRM button, trigger an n8n workflow that blocks Cal.com availability for 2 weeks and redirects bookings to a backup team member.
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 Intro Call', '45-Min Deal Review', '1-Hour Site Tour'. Set duration, location (video, phone, in-person), and custom questions (deal size, asset class, timeline).
For site tours, use 'Custom Location' and manually change the address per asset. Or use the API to dynamically create event types per deal (e.g., 'Site Tour - 123 Oak St').
If using Cal.com paid plan: Go to Settings → Appearance, upload logo, set brand colors, add custom domain (schedule.yourcapital.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.yourcapital.com → cal.com. Takes 24-48h to propagate. Test with temporary cal.com/username URL while DNS propagates.
Create an 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: 'Asset class?', 'Deal size?', 'Timeline?'. Based on answers, route to different event types or team members. Configure routing logic: if large deal + on-thesis → senior partner, else → analyst.
Routing forms fire webhooks before the booking is confirmed. Use this to pre-populate CRM records with qualification data, so the team walks into the meeting already knowing the deal size 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