Groundbase
← Back to the Pipeline
Features

Booking meetings without Calendly (the scheduler is already in your CRM)

A public booking page, availability rules, intake questions, and SMS reminders — with the booking landing in your pipeline as a contact instead of a calendar invite you reconcile later.

The standard solo-operator setup is Calendly for scheduling and a CRM for everything else. It works, and then it quietly doesn't: someone books a call, the invite lands in your calendar, and the person who booked exists in your scheduling tool but not in the place you actually track people. You find out three weeks later when you go looking for their number.

Groundbase has the booking page built in, which means the booking is a CRM record. Same $9/month, no second subscription, no integration to keep alive.

Here's what it actually does.

Meeting types

A meeting type is a bookable template. You can have as many as you want — a 15-minute intro call, a 45-minute deep dive, a paid consult — each with its own public URL and its own rules.

Meeting type settings in Groundbase

What you configure per type:

SettingWhat it doesDefault
DurationLength of the meeting30 min
BufferPadding after each booking so you're not back-to-back0 min
Minimum noticeHow soon someone can book you2 hours
Max advanceHow far ahead bookers can pick2 months
AvailabilityWhich days, and the start/end times, in your timezoneMon–Fri, 9–5
LocationVideo call, phone, or in person — with a link or address shown to the booker
SMS remindersWhen to text them before the meeting24h + 1h

The defaults are deliberately the same ones Calendly and Cal.com use, so a meeting type you create without touching anything behaves the way you'd expect.

Buffer pads both sides of a real booking, and the times on offer move around it rather than sitting on a fixed grid.

Concretely: 30-minute meetings with a 15-minute buffer are offered at 9:00, 9:45, 10:30 and so on — spaced so any two neighbours can both be booked. Someone takes 9:00, and the next time on offer is 9:45, not 10:00. Add a dentist appointment from 1:10 to 1:40 and the times pick up again at 1:55. Nothing is rounded up to the next half hour, so a buffer costs you the buffer and no more.

That is a recent change. The first version kept every time on the half-hour and pruned around bookings, which quietly threw away fifteen minutes between each pair. If you set a buffer, the day now fills the way you would fill it by hand.

The public page

Each meeting type gets a URL built from your profile slug and the meeting slug — /book/your-slug/intro-call. No login, nothing to install, and it works from a link in your email signature or an SMS.

The public booking page as a visitor sees it

The booker picks a slot and enters their name, plus an email address or a phone number — either one will do, since both give you a way to reach them. If they leave a phone number, that's where the confirmation and reminder texts go.

Entering details after picking a time — the button activates once there's an email or phone

Three fields, one of them optional. That's the whole form.

Slugs are validated server-side — lowercase letters, numbers and dashes only — so the URL you hand someone is always clean.

What happens when someone books

This is the part that's different from a standalone scheduler. A booking doesn't just create a calendar event. It:

  1. Finds or creates the contact — if they've booked before, or you already had them, it's the same record rather than a duplicate
  2. Creates the appointment in your calendar, linked to that contact
  3. Emails them a confirmation with a link to move or cancel it
  4. Schedules the SMS confirmation and reminders through your own Twilio account, if they left a phone number
  5. Logs it to the activity feed on that contact

The booking landing in the CRM as a contact and appointment

So the next time you open that person, the meeting is in their history alongside every text and email you've exchanged, and the details rail shows their next meeting until it has happened. You don't reconcile anything.

Double-booking

Slots already taken are removed from the picker, and the slot is re-checked at submit time — so if two people are on the page at once and pick the same time, the second one gets told to choose another rather than silently double-booking you.

SMS reminders use your own Twilio

Reminders default to 24 hours and 1 hour before, and you can set any hours you like. They go out through your own Twilio account, which means you pay Twilio's actual rate — roughly $0.0083 per SMS in the US plus carrier fees — instead of a per-reminder charge from a scheduling tool.

One prerequisite worth knowing: sending business SMS to US numbers means registering for A2P 10DLC first. That's a one-time piece of paperwork and I wrote the whole walkthrough here: A2P 10DLC for solo operators.

If you skip Twilio entirely, everything else still works — you just don't get the reminder texts.

The confirmation email

The person who booked gets an email straight away confirming the time, with a link to move or cancel it. No account needed — the link is the credential. If the meeting type has a video link, it's a real link in the email, not text to copy out.

The confirmation email a booker receives

Two details worth mentioning, because both are the kind of thing that's annoying when a tool gets it wrong:

It arrives as "Your Name via Groundbase", and replies go to you, not to me. If someone hits Reply to ask a question, it lands in your inbox like any normal email. Nothing about the meeting routes through Groundbase support.

And changing it is self-serve. You don't get a text at 11pm asking you to move something in your own calendar.

The booker's manage page — move it or cancel it

Rescheduling

"Pick a different time" opens the same picker the booking page uses, showing every time that's open for that meeting type — including the slot they already hold, since it's theirs to give back — and one click moves the booking.

Picking a new time from the manage link

It's the same booking afterwards, not a cancel-and-rebook: same link, same contact, same record in your CRM. The old time is released, the appointment moves in your calendar (Google included, if it's connected), the reminder texts are rescheduled, and they get a fresh confirmation showing the new time and the old one. Your contact's timeline reads "Moved the intro call to Thursday, 10:30 AM".

Cancelling releases the time straight away and stops the reminders that were queued for it.

It checks your real calendar

If you've connected Google Calendar, slots are checked against it too — not just against meetings booked through Groundbase. Block out a dentist appointment in Google and nobody can book over it.

Worth saying what that does and doesn't involve: Groundbase asks Google only when you're busy, never what you're busy with. No titles, no attendees, no descriptions. The person booking learns nothing about your calendar beyond which times are unavailable, and Groundbase doesn't store any of it.

It's checked twice — when the slot list loads, and again when someone submits — because a booking page left open in a tab can be several minutes stale.

If Google is unreachable or you haven't connected a calendar, booking still works; it just falls back to checking Groundbase appointments only.

Who this is actually for

If you're running a solo consulting practice, taking discovery calls, or booking any kind of appointment where the person booking should end up in your pipeline — this replaces a $12–15/month scheduling subscription and removes a sync you'd otherwise maintain forever.

If you need round-robin across a team, payment collection at booking, or a dozen calendar integrations, use Calendly. Those are real features and Groundbase doesn't have them. (Here's who Groundbase is and isn't for, stated plainly.)

Try it

Groundbase is $9/month flat with a 14-day trial. Booking is included — as is everything else, since there's only one plan.


Questions about this one? Email me directly: blog-booking@groundbasecrm.com — I read every one.

Built by a solo dev. Try it.

Start your 14-day trial →

More from the Pipeline

Features

Invoicing inside your CRM — bill the contacts you already have

Most solo operators run a CRM and a separate invoicing tool, and keep two customer lists in sync by hand. G…

Features

How to leave Groundbase

Every row you own, in one JSON file or per-entity CSVs, on demand and without asking. Written by the person…

Guides

How to warm up a new email domain (a four-week schedule, and what actually gets you filtered)

You verified the domain, the DNS is green, and your first campaign still went to spam. Warming is the missi…

Notes

Why Groundbase is three apps, not one

Web, Windows desktop and Android, built and maintained by one person. Here is the reasoning, the tax it cha…