How to Build an Appointment Booking Chatbot for Your Website (Step-by-Step)

A step-by-step tutorial showing how to build an appointment booking chatbot that answers the questions a visitor has before they book, captures their details, and connects to Calendly or Acuity so they schedule without leaving the chat.

How to Build an Appointment Booking Chatbot for Your Website (Step-by-Step)
Created by
Do not index
Created time
May 28, 2026 11:09 AM
A calendar widget takes a meeting. An appointment booking chatbot takes a meeting and answers the twelve questions a visitor has before they are willing to book. "Do you take my insurance?" "What does this cost?" "Do you serve my area?" A bare Calendly embed sits there silently and waits for someone who already decided to book. Most visitors have not decided yet, and they leave to find the answers somewhere else. That gap matters more than it looks: a Harvard Business Review study of 2.24 million sales leads found that businesses contacting a lead within an hour were nearly seven times more likely to qualify it than those who waited. The window for booking closes fast, and a passive calendar does nothing to hold it open.
A booking chatbot closes that gap. Train an AI on the services, pricing, and FAQ pages a business already has, and it handles the pre-booking questions in plain language, then drops the booking calendar right into the conversation so the visitor schedules without ever leaving the chat. This tutorial covers how to build one with SiteGPT in about 25 minutes, using a dental clinic as the running example, with no coding and no decision trees. Capturing and answering visitors before they book is one part of the wider move toward customer service automation, and the booking moment is where it pays off most directly.
TL;DR: Create a free SiteGPT account, train it on the services, insurance, and FAQ pages, set the Sales Expert persona, add booking-focused instructions, turn on Lead Collection to capture contact details mid-conversation, connect a Calendly or Acuity link through the built-in Booking Integration, enable human handoff for complex cases, then paste one JavaScript snippet to go live. Total setup time: about 25 minutes, no coding and no third-party integration required for lead capture.
notion image

What You'll Build

By the end of this tutorial, a working appointment booking chatbot will be live on a website that:
  • Answers pre-booking questions, insurance, pricing, location, hours, services, by reasoning over the pages the business already published, so visitors get the answer before they ask staff
  • Captures the visitor's name, email, and reason for visit through built-in Lead Collection, then surfaces the booking calendar inside the chat so they schedule on the spot
  • Hands off to a real person for the cases that need one, emergencies or custom treatment plans, with the full chat history attached so the visitor never repeats themselves
Time to complete: about 25 minutes
Difficulty: Beginner
What you'll need: A SiteGPT account (free trial available), a website with services and FAQ content, and a booking link from Calendly, Acuity, or a similar scheduler

Why Appointment Booking Chatbots Work

A scheduling link assumes the visitor has already decided. Most have not. They have questions, and a booking chatbot answers them at the exact moment intent is highest, then books the appointment before that intent cools. That produces three outcomes a passive calendar cannot.

More Booked Appointments from the Same Traffic

The visitors who bounce off a bare calendar are not uninterested. They are unsure. They want to know whether the clinic takes their insurance or whether a service is even offered before they commit a time slot. A chatbot that answers those questions in seconds converts hesitation into a booking. Tidio's chatbot statistics show businesses using AI chat report meaningfully more qualified leads, because the conversation removes the friction that a static form or calendar leaves in place.

Bookings Captured 24/7, Not Just During Office Hours

Most people research a dentist, a clinic, or a service appointment after work, in the evening, or on a weekend, exactly when no one is at the front desk to answer the phone. A booking chatbot does not keep office hours. It answers the insurance question at 10pm and books the appointment then, instead of leaving a voicemail that may never get returned. Given the HBR finding on how fast lead value decays, capturing the booking in the moment rather than the next business day is the difference between a patient and a missed one.

Front Desk Freed from Repetitive Phone Questions

Most pre-booking calls are the same handful of questions: hours, location, insurance, pricing, what to bring. A booking chatbot absorbs those so the front desk handles the calls that genuinely need a person. As one SiteGPT ecommerce customer described the same dynamic, "Our team spent a disproportionate amount of time answering the same questions over and over again, instead of focusing on higher-value tasks." A trained booking chatbot takes that load off the desk.

Why SiteGPT Works Well for Appointment Booking

SiteGPT is best suited for a business that wants a booking chatbot which actually answers the pre-booking questions, not just a calendar widget wrapped in a chat bubble. A booking chatbot has to do two jobs well: answer accurately enough that a visitor trusts it, and book without making them jump to another tab. SiteGPT is built for both.
On answering, it trains on the content a business already has. Crawl the full website, or connect specific pages, the services page, the insurance and payment page, the existing FAQ, and the chatbot reasons over that material to answer questions like "do you take HSA cards?" or "do you serve my zip code?" without anyone scripting those exact questions. This is the pre-conversation education layer that turns a browser into a booking, the same pattern that powered this career guidance chatbot case study, where visitors got context-specific answers before taking the next step.
On booking, where flow builders like Landbot require wiring up Google Sheets or a Zapier hop just to capture a lead, SiteGPT has Lead Collection built in and a native Booking Integration that drops a Calendly, Acuity, or similar scheduling link straight into the chat. No third-party integration needed for lead capture. Teams weighing the trade-off often start by reviewing these Landbot alternatives for exactly this reason. As one verified G2 user put it:
"SiteGPT makes it easy & intuitive to get your chatbot setup & working in no time at all - anyone can do it." Verified User, G2

Step-by-Step: How to Build an Appointment Booking Chatbot with SiteGPT

The setup below takes about 25 minutes, requires no coding, and never asks anyone to draw a decision tree. The running example is a dental clinic, but the same steps apply to any service business that books appointments: a salon, a law firm, a real estate agent, a medical practice.

Step 1: Create Your Account and Chatbot (~2 min)

The first step creates the chatbot that will become the booking assistant. This is where it gets a name and a welcome message, the first thing a visitor sees when the widget opens.
notion image
  1. Go to SiteGPT and sign up for a free account
  1. From the dashboard, click to create a new chatbot
  1. Give it a recognizable name and set a welcome message that invites a booking question
notion image
Name it something a visitor will trust on sight, like "Bright Smile Dental Assistant," and write a welcome message that signals it can both answer and book, for example "Hi, ask me about our services, insurance, or pricing, or book an appointment right here."
Pro tip: Write the welcome message so it names the two jobs, answering and booking, in one line. A visitor who knows the chatbot can both answer the insurance question and schedule the visit is far more likely to start the conversation than one who assumes it is only a help bot.

Step 2: Train It on Your Services, Insurance, and FAQ Pages (~5 min)

Training is what turns a blank AI into a booking assistant that knows the business. For a booking chatbot, the content that matters most is the material visitors ask about before they commit: what is offered, what it costs, and what is covered.
notion image
  1. From the chatbot, open the training sources and click to add links
  1. Choose "Scrape Website" to pull the entire site automatically, or "Multiple Links" to train on specific high-value pages
  1. Add the services, insurance, payment, and FAQ page URLs and let SiteGPT crawl and index them
notion image
If some of this content lives in a document rather than on the website, an insurance acceptance sheet or a service-and-fee PDF, upload it directly. The chatbot reasons over uploaded files the same way it reasons over crawled pages.
What to train an appointment booking chatbot on:
  • The services or treatments page, so it can confirm what is offered and recommend the right appointment type
  • The insurance and payment page, so it can answer "do you take my plan?" and "do you accept HSA?" without a phone call
  • The existing FAQ, so common pre-booking questions are answered in the chatbot's own words
  • Location, hours, and any new-patient or intake pages, so logistics never become a reason to leave
The more complete the source content, the more pre-booking questions the chatbot resolves on its own. For a deeper look at structuring source material, these chatbot training tips cover how to keep answers accurate as content changes.

Step 3: Set the Sales Expert Persona (~2 min)

The persona shapes how the chatbot carries the conversation. For booking, the goal is a warm, guiding tone that moves a visitor toward scheduling, not a passive help-desk tone that only answers and stops.
notion image
  1. Go to Customizations, then Chatbot Persona in the left sidebar
  1. Select the Sales Expert persona
  1. Save the selection
notion image
The Sales Expert persona fits a booking use case because it answers the question and then takes the natural next step, offering to book, rather than answering and going quiet. For a dental clinic, that means after confirming a cleaning is covered, it asks whether the visitor would like to schedule one, instead of leaving them to find the calendar themselves.

Step 4: Add Booking-Focused Instructions (~5 min)

The persona sets the tone; instructions set the rules. This is where the chatbot learns the booking-specific behavior: answer the pre-booking question first, then guide toward scheduling, and never invent a price or a covered plan it cannot confirm.
notion image
  1. Go to Customizations, then Chatbot Instructions, then Add Instruction
  1. Write instructions tailored to a booking context
  1. Save and test a few questions to confirm the behavior
notion image
The instruction below is ready to paste in and adapt. It tells the chatbot to answer accurately, guide toward booking once a question is resolved, and escalate the cases that need a human.
Example instructions for an appointment booking chatbot:
You are the booking assistant for [Clinic Name], a dental clinic. Answer questions
using only the services, insurance, pricing, and FAQ content you were trained on.
Be warm, clear, and helpful.

When a visitor asks about a service, insurance, or cost, answer the question first.
Once you have answered, offer to help them book an appointment and share the booking
link. Collect their name, email, and reason for visit before booking.

Do not invent prices, accepted insurance plans, or treatment details that are not in
your training content. If a visitor describes an emergency, a custom treatment plan,
or anything you cannot confirm, connect them to a human team member instead of guessing.
This block is what makes a booking chatbot both persuasive and safe. It answers and books where it can, and it hands off the moment it reaches the edge of what it actually knows, so it never books on a promise it cannot keep.

Step 5: Turn On Lead Capture and Connect the Booking Calendar (~6 min)

This is the step that makes it a booking chatbot rather than a smarter FAQ page, so it gets the most detail. There are two parts: capturing the visitor's details mid-conversation, and connecting the actual scheduling system so they book inside the chat. Where flow builders like Landbot make a team wire up Google Sheets to collect a lead, SiteGPT has Lead Collection built in. No third-party integration needed.
First, turn on Lead Collection so the chatbot gathers contact details at the right moment in the conversation.
notion image
  1. Open the Leads section and turn on Lead Collection
  1. Set the fields to collect: name, email, phone, and a short "reason for visit" field
  1. Choose to collect details mid-conversation, after the visitor shows booking intent, rather than gating the chat behind a form upfront
Next, connect the scheduling system. SiteGPT has a native Booking Integration that drops a scheduling link directly into the chat, so the visitor picks a time without ever leaving the conversation.
notion image
  1. Find the Optional Booking Integration section and toggle on Enable booking integration
  1. Paste the clinic's scheduling link into the Booking System URL field, for example a Calendly or Acuity URL
The integration supports the common schedulers out of the box, so most businesses can connect the calendar they already use.
notion image
Calendly, Acuity Scheduling, Bookly, and Google or Outlook Calendar via iframe all work, as does any iframe-compatible booking system. Once connected, the chatbot includes the booking link when it collects a lead, so the flow runs end to end: answer the insurance question, capture the visitor's details, surface the calendar, done.
Pro tip: Collect the details right before showing the calendar, not the instant the chat opens. A visitor who has just been told their cleaning is covered will happily give a name and email to book it. The same visitor asked for an email before any question is answered tends to close the chat. Order matters: answer, then capture, then book.

Step 6: Set Up Human Handoff for Complex Cases (~3 min)

A booking chatbot should book the routine appointments and route the cases that genuinely need a person. A dental emergency, a custom treatment plan, or a billing dispute should reach a human, not a calendar slot. SiteGPT has Human Support built in, so when the chatbot hits a case it should not handle, the conversation hands off with the full chat history attached.
notion image
  1. In the Leads section, open the Human Support tab
  1. Toggle on Enable Human Support so visitors can request a person during any conversation
  1. Under Escalation Button Settings, turn on Show escalation buttons after responses so a "Talk to the team" option is always available
  1. Save the settings
When a visitor escalates, the conversation moves to the Chat History view, where the team reads everything the chatbot already covered and picks up without asking the visitor to repeat themselves.
notion image
Pair this with the instruction from Step 4 that tells the chatbot to escalate emergencies and custom cases. The result is a booking chatbot that schedules the standard appointments instantly and gets the sensitive ones in front of a person fast.

Step 7: Customize the Appearance and Deploy (~2 min)

The booking widget should look like part of the brand, and going live is a single snippet, no developer required.
notion image
  1. Open the chat interface settings and set the primary color and avatar to match the brand
  1. Choose the widget position, bottom-right is standard
  1. Go to Installation in the left sidebar and copy the JavaScript embed code
notion image
  1. Paste the snippet into the website's HTML before the closing `</body>` tag. SiteGPT supports WordPress, Shopify, Squarespace, Wix, Webflow, and custom HTML directly
notion image
To confirm it is working, clear the site cache and open the page in an incognito window. The chat icon should appear in the corner. Open it, ask an insurance question, and watch the chatbot answer, then offer the booking link.

Tips to Get More Bookings from Your Chatbot

Setup gets the chatbot live. These tips get it booking more appointments rather than just answering questions.
Tip 1: Lead with the calendar after every resolved question. The single biggest lift comes from the chatbot offering to book the moment it answers a question, instead of waiting to be asked. Tune the instructions so that once an insurance or pricing question is resolved, the next sentence offers a time. The intent is highest right after the answer lands.
Tip 2: Mine Chat History for the questions that stall bookings. The Chat History view shows where visitors asked something and then left without booking. Each one is a content gap or an instruction gap. If visitors keep asking about a treatment the chatbot cannot confirm, add that page to training. If they hesitate at pricing, make the instruction address cost more directly.
Tip 3: Capture the lead even when the calendar is not the next step. Some visitors are not ready to pick a time but will leave an email. Lead Collection captures them anyway, so the front desk can follow up while intent is still warm, which the HBR data shows is worth far more within the first hour than a day later. A captured lead beats a silent bounce.
Tip 4: Borrow from businesses already doing this well. Looking at companies using chatbots for customer service shows a consistent pattern in booking-heavy industries: answer fast, book in the moment, escalate the rest. For clinics or agencies serving more than one language, pairing this setup with one of these multilingual AI chatbots captures bookings from visitors who would otherwise never start the conversation.

Frequently Asked Questions

How do I build an appointment booking chatbot for my website without coding?

Build one by training an AI chatbot on the content visitors ask about before booking, then connecting a scheduler. With SiteGPT, sign up, point it at the services, insurance, and FAQ pages, set the Sales Expert persona, add booking instructions, turn on Lead Collection, and paste a Calendly or Acuity link into the Booking Integration. Finish by pasting one JavaScript snippet into the website. The whole process takes about 25 minutes and needs no coding and no decision trees.

How long does it take to build a booking chatbot?

About 25 minutes for a working chatbot using SiteGPT. Account and chatbot setup take roughly two minutes, training on the services and FAQ pages takes about five minutes plus crawl time, and configuring the persona, instructions, lead capture, booking integration, human handoff, and deployment takes the rest. Most of the elapsed time is the chatbot indexing source content in the background, which runs while the other settings are configured.

How does the chatbot actually book the appointment?

It connects to an existing scheduler through the built-in Booking Integration. In SiteGPT, enable booking integration and paste a Calendly, Acuity, Bookly, or Google or Outlook Calendar link into the Booking System URL field. Once connected, the chatbot includes that scheduling link when it collects a lead, so the visitor picks a time inside the chat rather than being sent off to another tab. Any iframe-compatible booking system works.

Can a booking chatbot answer insurance and pricing questions before booking?

Yes, and that is the main reason to use one over a bare calendar. When trained on the insurance, payment, and pricing pages, the chatbot answers questions like "do you take my plan?" or "what does a cleaning cost?" by reasoning over that content. It answers the question first, then offers to book. A plain scheduling widget cannot do this; it only shows open times and waits, which is why so many undecided visitors leave before booking.

What should I train an appointment booking chatbot on?

Train it on the content visitors ask about before they commit to a time: the services or treatments page, the insurance and payment page, the FAQ, and the location, hours, and intake pages. SiteGPT can crawl a full website or train on specific pages, and it accepts uploaded files like an insurance acceptance sheet or a fee schedule. The more complete this content is, the more pre-booking questions the chatbot resolves on its own without sending the visitor to the phone.

How is a booking chatbot different from just embedding a Calendly link?

A Calendly embed is passive: it shows open times and waits for someone who has already decided to book. A booking chatbot is active. It answers the questions a visitor has before they decide, insurance, pricing, services, location, then surfaces the calendar at the moment intent is highest. With SiteGPT, the scheduler still does the actual booking, but the chatbot does the convincing and the answering that a bare calendar leaves undone.

Does this work for a dental clinic or medical practice specifically?

Yes. A dental clinic is a clean example: the chatbot trains on the treatments page, the accepted-insurance list, and the new-patient FAQ, then answers "do you take HSA?" or "is a cleaning covered?" and books the visit. For practices handling protected health information, SiteGPT offers HIPAA and BAA eligibility on its Enterprise plan. The same build works for any appointment-based business, salons, law firms, real estate, by swapping in that industry's services and FAQ content.

What happens when someone has an emergency or a complex request?

The chatbot hands off to a human instead of trying to book it. With Human Support enabled in SiteGPT and instructions that flag emergencies and custom cases, the chatbot routes those conversations to the team with the full chat history attached. The team picks them up from the Chat History view without making the person repeat themselves. This keeps routine appointments self-serve while the cases that need judgment reach a person quickly.

Do I need a separate tool to capture leads from the chatbot?

No. Lead Collection is built into SiteGPT, so the chatbot captures name, email, phone, and reason for visit during the conversation without any third-party integration. This is a difference from flow builders like Landbot, which typically route lead data through Google Sheets or Zapier. Captured details can also trigger email notifications to the team, so a warm lead never sits unanswered, which matters given how fast lead value decays in the first hour.

How much does it cost to build an appointment booking chatbot?

SiteGPT starts at $39 per month on the Starter plan, which includes one chatbot, 4,000 messages per month, and training on up to 1,000 pages, enough for most single-location clinics and small businesses. A free trial is available to build and test the chatbot first. The Growth plan ($79/month) adds more chatbots, messages, and team members, and HIPAA or BAA eligibility is available on Enterprise for practices that need it. Lead Collection and Booking Integration are included, not paid add-ons.

Conclusion

A booking chatbot built this way does what a calendar widget never could: it answers the insurance, pricing, and service questions a visitor has before they book, captures their details in the moment, and drops the scheduling link right into the chat so they book without leaving. No coding, no decision trees, about 25 minutes from sign-up to live. SiteGPT starts at $39 per month with a free trial, so the whole flow can be tested before any commitment.
The most effective first move is to train the chatbot on the insurance and pricing pages, the two questions that stall the most bookings, then connect the scheduler and watch how many appointments it books before a visitor ever needs to call. For businesses ready to start from a proven structure, SiteGPT's ready-made chatbot templates give every industry a head start.
Last updated: May 2026. All SiteGPT features and pricing verified as of May 2026.

Give Your Customers The Experience That They Deserve

Create A Chatbot In Minutes, Today

Create Your Chatbot Now

Written by

Related posts

How to Build a Lead Generation Chatbot with SiteGPT

How to Build a Lead Generation Chatbot with SiteGPT

A step-by-step tutorial showing exactly how to build a lead generation chatbot with SiteGPT - from account setup to live deployment, with native lead capture built in.

How to Build a Recruitment Chatbot That Pre-Screens Candidates 24/7

How to Build a Recruitment Chatbot That Pre-Screens Candidates 24/7

A step-by-step tutorial for building a recruitment chatbot with SiteGPT, one that answers a candidate's questions about the role first, then pre-screens experience, location, and work authorization before handing qualified applicants to a recruiter.

How to Build an AI Chatbot You Can Manage From Claude (MCP + Agent Onboarding)

How to Build an AI Chatbot You Can Manage From Claude (MCP + Agent Onboarding)

A step-by-step tutorial showing how to build a SiteGPT chatbot trained on your content, then connect it to Claude through SiteGPT's MCP server so the assistant can list bots, review leads, and update knowledge on your behalf.

How to Build a Lead Qualification Chatbot That Pre-Screens Prospects 24/7

How to Build a Lead Qualification Chatbot That Pre-Screens Prospects 24/7

A step-by-step tutorial for building a lead qualification chatbot with SiteGPT - one that answers a prospect's questions first, then pre-screens budget, timeline, and fit before routing the lead to sales.

How to Build a Customer Support Chatbot for Your Website (Step-by-Step Tutorial)

How to Build a Customer Support Chatbot for Your Website (Step-by-Step Tutorial)

A step-by-step tutorial showing how to build a customer support chatbot for your website by training it on your help center, no decision trees required, with a real human escalation handoff when the AI hits its limits.

How to Build an AI FAQ Chatbot Trained on Your Existing Documentation

How to Build an AI FAQ Chatbot Trained on Your Existing Documentation

A step-by-step tutorial showing how to build an AI FAQ chatbot trained on your existing help docs, Notion, and help center, so it answers questions you never wrote down. No manual FAQ writing required.