Calendly

calendly.com

ALMOST

A weekend of work, and real gaps remain.

Turns a calendar into a booking page. It reads your availability, applies rules about notice, buffers and daily limits, and lets someone pick a slot without the back and forth — then writes the meeting to both calendars and sends the reminders.

Promptfree, for everyone, and the only version there is
Build me a booking page I run myself: someone picks a slot, it lands in my calendar, and neither of us emails about it.

STACK
- Astro with a Node adapter, server-rendered HTML, no frontend framework
- SQLite via better-sqlite3, one file, WAL mode
- Google Calendar over OAuth for the calendar side
- SMTP from environment variables for mail

EVENT TYPES
- Defined in a config file, not a database table: name, slug, duration, buffer before and after, minimum notice, and how many days ahead can be booked
- Weekly availability windows written in my own timezone, plus a list of dates I am unavailable
- More than one event type, each on its own URL

THE BOOKING PAGE
- Public, no account, works without JavaScript for the choosing and the submitting
- Slots rendered in the visitor's timezone, detected from the browser and changeable with a visible picker
- A slot is never shown unless it can actually be honoured — check the calendar at render time and again at submit time
- Name, email and one free-text field; nothing else

CALENDAR
- Read busy blocks with the free/busy query and treat that as the only source of truth for conflicts
- Write the confirmed event with both parties as attendees and the meeting link in the body
- Reconnect cleanly when the OAuth token expires, and say so on screen rather than failing silently

TIME, WHICH IS WHERE THIS GOES WRONG
- Every calculation in UTC, with an explicit IANA conversion at the edges only
- Unit tests covering: a DST transition in both directions, a booking that crosses midnight, a visitor in a half-hour offset zone such as Asia/Kolkata, and a slot that becomes unavailable between render and submit

AFTER THE BOOKING
- Confirmation, reschedule and cancel links signed with an HMAC token, so no account is needed and no link can be guessed
- Confirmation email with an ICS attachment that opens correctly in Apple Calendar, Outlook and Google
- A reminder the day before, sent by a cron job that is safe to run twice

DATA
- Every booking stored append-only: a cancellation is a new row, never a delete
- A single admin page listing what is coming up, read from that history

Include a README covering the Google OAuth setup, the SMTP variables, and how to add an event type.

What you lose

  • Calendar synchronisation that already handles Google, Microsoft and CalDAV quirks, including recurring events and all-day blocks
  • Timezone and daylight-saving correctness, which is where home-built schedulers quietly fail
  • Reminder emails and SMS that actually arrive, including reschedule and cancellation flows
  • Round-robin, collective availability and buffer rules across a team
  • Payment collection at booking time, and the no-show handling built around it

If you would rather not build

  • SavvyCal — paid alternative with a different availability model

The escape hatch

open source · no votes, no paid placement

Cal.com

$0

Scheduling with availability rules, buffers, round-robin and payment steps.

calcom/cal.diyfree · open source

Easy!Appointments

$0

Booking system built around services and staff rather than meetings.

alextselegidis/easyappointmentsfree · open source

Why this verdict

our own opinion · changed only by a person

58/100

Verdict kinda at 58: a single-person booking page is a weekend of work, but timezone and DST correctness is where these builds break, and reminder deliverability is a second project. Team round-robin scheduling is well beyond one session.

History

tracked since 6 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.

Questions about Calendly

answered from the record above

Is Calendly free?

No — the plan we track is $10 a month. Standard, $10 per seat per month billed annually; month-to-month billing is higher. Teams is $16 per seat per month billed annually.

Can you replace Calendly by building your own?

ALMOST. A weekend of work, and real gaps remain. Replacement score 58 out of 100, build time a weekend. Read what you lose before you decide.

How much does Calendly cost?

$10 a month on Standard — $120 a year. Recorded 6 Aug 2026.

What do you lose by replacing Calendly?

Calendar synchronisation that already handles Google, Microsoft and CalDAV quirks, including recurring events and all-day blocks; Timezone and daylight-saving correctness, which is where home-built schedulers quietly fail; Reminder emails and SMS that actually arrive, including reschedule and cancellation flows; Round-robin, collective availability and buffer rules across a team; Payment collection at booking time, and the no-show handling built around it. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Calendly?

Yes: Cal.com, Easy!Appointments. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 11 in Scheduling

Coming soon

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click.

free forever · no tracking pixel · every prompt stays free on the site

Esc