Freelancers need a reliable scheduling tool that works with multiple time zones, video links, and payment gateways. Cal.com delivers that with a self‑hosted option and a cloud version. This guide walks you through the core concepts, step‑by‑step setup, everyday workflows, advanced patterns, and the most common mistakes freelancers make.
Cal.com is an open‑source scheduling platform. It lets you create “event types” such as 30‑minute discovery call or 90‑minute project kickoff. Each event type has its own URL, duration, buffer, and integration settings. When a client clicks the link, Cal.com shows a calendar view that reflects your real‑time availability, automatically converts time zones, and can add a Zoom or Google Meet link.
Key concepts:
Syncing prevents double bookings.
Zoom is the most common choice.
Clients click the event URL, select a slot, and receive an automatic confirmation email with a Zoom link. The appointment appears in both Cal.com and your Google Calendar.
Paid plans let you attach a Stripe product to an event type.
Use Zapier (free tier) to send a Google Docs invoice after a booking.
If you work with a small team, enable round‑robin on an event type.
Freelancers often block time for deep work.
Instead of a separate page, embed the booking widget.
<iframe src="https://cal.com/yourusername/30min-consultation" style="border:none;width:100%;height:600px;"></iframe>
Make the iframe responsive by wrapping it in a div with max-width:100%.
Developers can call the public API to create bookings programmatically.
POST https://api.cal.com/v1/bookings
{
"event_type_id": "30min-consultation",
"start_time": "2026-07-15T14:00:00Z",
"email": "client@example.com"
}
Use this in a custom client portal to pre‑fill dates based on project milestones.
Without syncing, Cal.com will book slots that already contain meetings. Always verify the connection under Settings → Calendar Connections.
Back‑to‑back meetings cause fatigue. Add a 5‑10 minute buffer in each event type to give yourself a breather.
Freelancers benefit from 2–3 core event types (e.g., 15‑min intro, 30‑min call, 60‑min project kickoff). Too many options confuse clients and increase admin overhead.
Always keep “Display times in visitor’s time zone” enabled. If you need a fixed time zone (e.g., for a live workshop), set the event as “Fixed Time Zone” and clearly state the zone in the description.
Check the email template under Settings → Notification Emails. Ensure the subject line includes the event name and that the Zoom link is present.
| Feature | Cal.com (Free Tier) | Calendly (Free) | Calendly (Premium) |
|---|---|---|---|
| Unlimited event types | ✓ | ✕ (1) | ✓ |
| Video integration (Zoom) | ✓ | ✓ (limited) | ✓ |
| Stripe payments | ✕ (paid plan) | ✕ | ✓ |
| Self‑hosted option | ✓ (open source) | ✕ | ✕ |
| Round‑robin team scheduling | ✓ (paid) | ✕ | ✓ |
| Zapier integration | ✓ (free) | ✕ | ✓ |
| Price for paid plan (per user) | $8/mo | $12/mo | $15/mo |
For freelancers who need flexibility and want to avoid vendor lock‑in, Cal.com’s free tier already covers most needs. The paid plan adds payments and branding removal at a lower cost than Calendly Premium.
Yes. The free tier includes unlimited event types, basic branding, and up to two team members. Paid plans start at $8 per user per month for custom domains and advanced integrations.
Yes. Cal.com connects directly to Zoom, Google Meet, Microsoft Teams and other video platforms. The integration is a single click in the event type settings.
Cal.com stores all times in UTC and automatically converts to the visitor’s local time zone. It also respects daylight‑saving changes without manual updates.
Paid plans include Stripe and PayPal integrations. You can require payment before confirming a booking, set different prices per event type, and issue refunds through the dashboard.
Double bookings happen when multiple calendars are not synced or when buffer times are omitted. Always link your primary work calendar and add at least a 5‑minute buffer.
Cal.com gives freelancers a powerful, affordable scheduling engine. By connecting your calendar, adding a video link, and optionally enabling payments, you can turn a simple booking URL into a full‑featured client intake system. Follow the steps in this guide, avoid the listed pitfalls, and you’ll spend less time coordinating and more time delivering value.