How to Connect Cal.com to UniLink (Open-Source Booking on Your Page)

By UniLink May 02, 2026 12 min read
How to Connect Cal.com to UniLink (Open-Source Booking on Your Page)


How to Connect Cal.com to UniLink (Open-Source Booking on Your Page)

A step-by-step guide to embedding Cal.com scheduling into your UniLink page so visitors can book time with you using a fully open-source, privacy-friendly booking tool.

TL;DR:
  • Connect via Dashboard → Integrations → Cal.com → enter API key → select event type → add to your page as a block. Visitors can book without leaving your UniLink page.
  • Cal.com is a free, open-source alternative to Calendly with no per-seat pricing — ideal for creators who want full scheduling control at no cost.
  • Supports team scheduling, round-robin distribution, and custom availability rules — all configurable in your Cal.com account before embedding.

Calendly is the default choice for scheduling, but it comes with per-seat pricing that adds up quickly for teams and platform restrictions for heavy customizers. Cal.com takes the opposite approach: it's fully open-source, free for individuals, and self-hostable for teams that want complete data control. Embedding Cal.com in UniLink gives you the same on-page booking experience — visitors never leave your page to schedule — while keeping the scheduling infrastructure free or fully under your control depending on how you deploy it.

What the Cal.com Integration Does

UniLink's Cal.com integration connects to your Cal.com account via API key and embeds your scheduling calendar directly on your page. When you configure the integration, you select which Cal.com event type to display — a specific meeting type from your Cal.com event library. UniLink renders Cal.com's embed widget inline on your page, showing your real-time availability and accepting bookings through Cal.com's booking flow without any redirect. Confirmations, reminders, and calendar invites all flow through Cal.com's notification system just as they would if the visitor booked on Cal.com's own site.

The API-key connection means the integration can access all event types in your Cal.com account, not just public-facing ones. This matters for organizations that use Cal.com's team scheduling features — round-robin events that distribute bookings across team members, collective events that require multiple hosts to be available, or managed events that are controlled at the organization level. All of these event types are accessible via the API key integration and can be embedded on a UniLink page without any additional configuration beyond selecting the event type in UniLink's settings.

Cal.com's open-source nature extends to its embed: the widget is lightweight, loads quickly, and doesn't inject tracking scripts beyond what Cal.com's own instance uses. For creators and professionals who care about visitor privacy — or who host a self-managed Cal.com instance — this is a meaningful advantage over other scheduling tools. If you're running Cal.com on your own infrastructure, you can point the UniLink integration at your self-hosted instance's API endpoint instead of the cloud version, keeping all booking data on servers you control.

How to Get Started

  1. Get your Cal.com API key: Log in to your Cal.com account at app.cal.com, go to Settings → Developer → API Keys, and generate a new API key. Name it "UniLink Integration" for reference. Copy the key — you'll only see it once.
  2. Open UniLink Integrations: Log in to your UniLink Dashboard at app.unilink.us, navigate to Integrations, and find Cal.com. Click Connect or Configure.
  3. Enter your Cal.com API key: Paste the API key you generated into the Cal.com API key field in UniLink. UniLink will verify the key and load a list of your event types from Cal.com. If verification fails, double-check that you copied the full key and that it hasn't been used elsewhere with rate limits exceeded.
  4. Select your event type: From the dropdown that appears after verification, choose the Cal.com event type you want to embed. This corresponds to a specific meeting type in your Cal.com Events list — for example, "30-Min Introduction Call" or "60-Min Strategy Session."
  5. Add to your page and save: Click "Add to page" or navigate to the page editor, add a Cal.com block, and select the event type you configured. Position the block where you want it on the page, customize any display options, and save. Visit your live page to test that the calendar loads and bookings can be completed.

How to Use the Cal.com Integration

  1. Embed a one-on-one booking calendar for consultations: Set up a Cal.com event type for your standard consultation (30 or 60 minutes), connect it to your Google Calendar for availability sync, and embed it via the UniLink Cal.com block. Clients see your real availability and book without leaving your page.
  2. Use round-robin for team bookings: In Cal.com, create a round-robin event type that distributes bookings across your team members based on availability. Embed that event type in UniLink so visitors booking through your page are automatically routed to the next available team member — no manual assignment needed.
  3. Create recurring availability for office hours: Set up a Cal.com event with fixed recurring availability — for example, every Tuesday and Thursday from 2–4pm. Embed it on your UniLink page as a public office hours block. Followers can book slots within your fixed availability window without you managing a full open calendar.
  4. Gate booking behind a product purchase: On your UniLink page, place a paid product block above the Cal.com booking block. Add instructional text between them: "After completing payment, use the calendar below to schedule your session." Visitors who've paid scroll down and book immediately without leaving the page.
  5. Self-host Cal.com for full data control: If data privacy is a priority, deploy Cal.com on your own infrastructure using the open-source repository. Configure the UniLink integration to point at your self-hosted Cal.com API endpoint instead of app.cal.com. All booking data stays on your servers while the embed on your UniLink page functions identically from the visitor's perspective.

Key Settings

Setting What It Does Recommended
Cal.com API key Authenticates UniLink to your Cal.com account and enables event type selection Generate a dedicated API key for UniLink (named clearly) so you can revoke it independently if needed without affecting other Cal.com integrations
Event type selection Determines which Cal.com event is embedded — the meeting type, duration, and availability rules Configure the event type fully in Cal.com first (availability, buffer times, questions, notifications) before selecting it in UniLink — changes made in Cal.com after embedding take effect immediately
Cal.com instance URL Specifies whether the integration connects to Cal.com's cloud or a self-hosted instance Leave as the default (app.cal.com) for cloud accounts; change to your custom domain if running a self-hosted Cal.com deployment
Embed theme Controls the light/dark mode of the Cal.com widget on your page Match your UniLink page theme — use dark embed theme on dark-background pages to avoid a jarring white booking widget
Hide event type details Suppresses the meeting title and description shown inside the Cal.com embed Hide if you've already described the session type in a heading or text block above the Cal.com block — avoids showing the same information twice
Tip: Configure your Cal.com event type completely — availability windows, buffer times, minimum scheduling notice, and custom intake questions — before connecting it to UniLink. Changes made in Cal.com propagate to the UniLink embed immediately, so you can iterate on event settings without touching UniLink. But it's better to have the event configured correctly before your first visitor sees it than to make corrections while it's live on your page and receiving real bookings.

Get the Most Out Of Cal.com

Cal.com's workflows feature (available on paid plans) lets you send automated emails and SMS messages at configurable intervals before and after meetings. Set up a workflow that sends a reminder email 24 hours before a session, another 1 hour before, and a follow-up email the next day. These automations run through Cal.com and apply to all bookings made through your UniLink embed, just as they do to bookings from any other source. Combined with the embedded booking experience on UniLink, you get a full scheduling workflow — booking, reminders, and follow-up — without any additional tools.

Use Cal.com's "Apps" section to connect your payment processor directly to your event type. Cal.com supports Stripe integration for collecting payment at time of booking. When enabled, visitors booking through your UniLink embed will be prompted to enter payment details as part of the booking flow — after selecting a time slot but before confirmation. This is an alternative to collecting payment via a UniLink product block first; use whichever approach fits your conversion flow better. Cal.com's payment integration is particularly useful for spontaneous bookings where you want payment and scheduling to happen in one continuous step.

Take advantage of Cal.com's analytics to understand booking patterns for sessions promoted through your UniLink page. Cal.com's insights dashboard shows booking volume by day, cancellation rates, popular time slots, and no-show rates. Cross-reference this data with your UniLink analytics (which shows page views and clicks) to understand what percentage of page visitors convert to bookings and whether the Cal.com block placement on your page is influencing that rate. Moving the block higher on a long-scroll page, for example, can significantly increase the percentage of page visitors who reach the calendar.

For team use cases, Cal.com's managed user feature (on the Team plan) allows you to create and manage Cal.com accounts for team members from a central organization account. Each team member's event type can be embedded on their individual UniLink page, all managed from one Cal.com organization dashboard. This is useful for agencies, coaching businesses, and service teams where multiple people have their own UniLink pages but the organization needs central visibility into booking activity across all of them.

Troubleshooting

Problem Cause Fix
API key validation fails in UniLink API key was copied incompletely, has expired, or the Cal.com account is on a plan that doesn't support API access Generate a new API key in Cal.com Settings → Developer → API Keys, copy it carefully in full, and re-enter it in UniLink. Verify your Cal.com plan includes API access (free plan may be limited).
Cal.com embed shows no available time slots No availability windows configured for the event type in Cal.com, or connected calendar is blocking all slots Log in to Cal.com, open the event type, and verify the availability schedule. Check the connected calendar (Google/Outlook) for all-day blocking events. Add open availability windows if the schedule is blank.
Embed not loading — shows blank block API key revoked, event type deleted, or browser blocking the Cal.com embed script Verify the API key and event type still exist in Cal.com. Test in an incognito browser window to rule out extension interference. Re-enter the API key in UniLink's integration settings.
Bookings completing but no confirmation email received Cal.com email notifications not configured for the event type In Cal.com, open the event type settings and check the Notifications or Emails section. Ensure confirmation emails are enabled for both the booker and the host. Test by making a booking with an email address you control.
  • Fully open-source and self-hostable — complete data ownership possible for privacy-conscious users
  • Free individual plan with unlimited event types and bookings, no per-seat fees
  • Supports advanced team scheduling: round-robin, collective events, managed users
  • All Cal.com features (workflows, payments, integrations) work through the UniLink embed
  • Requires an API key (slightly more technical setup than a simple URL paste)
  • Advanced features like workflows and team management require a paid Cal.com plan
  • Self-hosting requires server infrastructure and technical maintenance if chosen over the cloud option

Frequently Asked Questions

Is Cal.com really free? What's the catch?

Cal.com's individual plan is genuinely free with no booking limits — it's supported by paid team and enterprise plans rather than ads or per-seat fees on the free tier. The limitations are feature-based: advanced workflow automations, team management, and white-labeling are paid features. For an individual creator or professional booking one-on-one sessions, the free plan covers all common needs.

How is Cal.com different from Calendly?

Cal.com is open-source and self-hostable; Calendly is proprietary and cloud-only. Cal.com's free individual plan has no per-seat cost and no booking limits; Calendly's free plan is limited to one event type. Cal.com's API-first architecture makes it more developer-friendly; Calendly has a more polished consumer-facing product. Both embed identically well in UniLink. The choice usually comes down to cost (Cal.com is cheaper for teams) and data control preference (Cal.com if you want to self-host).

Can I use Cal.com and Calendly on the same UniLink page?

Yes. UniLink allows multiple booking blocks on the same page. You could embed a Cal.com block for one service type and a Calendly block for another. In practice, this is unusual — most creators standardize on one booking tool. But there's no technical restriction preventing multiple booking embeds on the same UniLink page.

Do I need to create a Cal.com account to use this integration?

Yes. You need a Cal.com account to generate an API key and create event types. Sign up free at cal.com — account creation takes two minutes. Once you have an account, set up at least one event type, generate an API key, and you're ready to connect to UniLink.

What UniLink plan is required for the Cal.com integration?

The Cal.com integration is available on UniLink Starter ($9/mo) and above. Free plan users can explore the Integrations section but will need to upgrade to activate the API connection. For teams using Cal.com's organization features, UniLink's Pro ($19/mo) or Business ($49/mo) plan provides the additional page capacity and analytics those teams typically need.

Key Takeaways
  • Connect via Dashboard → Integrations → Cal.com → enter API key → select event type → add to your page and save.
  • Cal.com is free for individuals with no booking limits — a compelling alternative to paid Calendly plans for single-creator use.
  • Configure your Cal.com event type fully (availability, buffers, questions) in Cal.com before connecting to UniLink — changes propagate to the embed immediately.
  • Round-robin and collective team event types work through the UniLink embed — configure them in Cal.com first, then select via the API key integration.
  • Self-hosting Cal.com is possible and the UniLink integration supports custom API endpoints for self-hosted instances.

Ready to add free open-source scheduling to your UniLink page? Connect Cal.com in your UniLink Dashboard and let visitors book directly from your page — no redirects, no per-seat fees.

Create Your Free Link-in-Bio Page

Join thousands of creators using UniLink. 40+ blocks, analytics, e-commerce, and AI tools — all free.

Get Started Free