Docs Welcome

Welcome to AppointmentAI 👋

The AI receptionist that captures leads, books appointments, and follows up — 24/7 on your website.

AppointmentAI sits on your website as a chat widget. When a visitor lands on your site, the AI engages them in natural conversation, qualifies them, captures their contact info, and books appointments directly on your calendar — even at 2am on a Saturday.

What makes AppointmentAI different?
It's not a chatbot with canned responses. It's an autonomous AI agent that reasons about your business, uses real tools, and takes real actions — checking calendar availability, booking appointments, and following up automatically.

What AppointmentAI Does

🤖
AI Conversations
Natural conversations tailored to your business, services, and brand voice.
👥
Lead Capture
Captures name, phone, and email through natural conversation flow.
📅
Live Booking
Checks your real calendar availability and books appointments instantly.
Integrations
Connect to 8,000+ apps via Zapier, or use webhooks for custom flows.
📧
Email Alerts
Instant notifications when leads come in or appointments are booked.
📊
CRM Dashboard
View leads, conversations, appointments, and insights in one place.

Quick Links

Get started in 5 minutes
Sign up, configure your agent, and embed the widget on your site.
Set up live calendar booking
Connect Cal.com so your AI books directly on your Google Calendar.
Connect your favorite apps
Use Zapier to send leads to Google Sheets, Slack, HubSpot, and more.

Quick Start 🚀

Get AppointmentAI running on your website in under 5 minutes.

Create your account
Go to appointment.prairievision.ai and click Start Free Trial. Enter your business name, email, and password.
Configure your AI agent
In the dashboard, set your agent's name, greeting, services, business hours, and brand color. This is how your AI will introduce itself to visitors.
Add your embed code
Copy your one-line embed code from the dashboard and paste it before the closing </body> tag on your website. The chat bubble appears instantly.

Your Embed Code

After signing up, you'll find your unique embed code in the dashboard. It looks like this:

<script src="https://appointment.prairievision.ai/widget.js" data-widget-id="YOUR_WIDGET_ID"></script>
That's it!
Once the script is on your site, the chat bubble appears in the bottom-right corner. Visitors can start chatting immediately. Leads will show up in your dashboard in real time.

What Happens Next

When a visitor chats with your AI agent:

  1. The AI greets them and asks about their needs
  2. It qualifies them based on your services
  3. It captures their name, phone, and email naturally
  4. If calendar booking is enabled, it checks availability and books a time
  5. You get an instant email notification with the lead details
  6. The lead appears in your dashboard CRM

Account Setup 👤

Configure your business profile and billing.

Business Information

After signing up, go to your dashboard to complete your profile:

FieldDescriptionExample
Business NameYour company name (shown in notifications)Smith & Sons Plumbing
IndustryYour business vertical (helps AI understand context)HVAC, Dental, Cleaning, etc.
Agent NameWhat the AI calls itselfSarah, Alex, Rachel
ServicesComma-separated list of services you offerDrain Cleaning, Water Heater, Pipe Repair
Business HoursWhen you're availableMon-Fri 8am-6pm
PhoneYour business phone number(701) 555-1234
LocationService area or addressBismarck, ND and surrounding areas

Plans & Pricing

PlanPriceConversationsFeatures
Free Trial$0/mo25/monthAI chat, lead capture, email alerts
Starter$97/mo100/monthEverything in trial + conversation insights
Professional$197/mo500/monthEverything in Starter + priority support
Growth$297/mo1,000/monthEverything + webhooks, Zapier, API access

Agent Setup 🤖

Configure how your AI receptionist looks and behaves.

Basic Settings

In your dashboard, click the settings section to configure:

Agent Name & Greeting

Choose a name for your AI agent (e.g., "Sarah") and set the opening message visitors see. Keep it short and friendly — one question works best.

Good: "Hey! I'm Sarah from Smith Plumbing. What can I help you with today?"
Bad:  "Welcome to Smith & Sons Plumbing LLC, a family-owned business since 1985. We offer comprehensive plumbing services including..."

Allowed Domains

Your widget only works on domains you've authorized. Add your website domain(s) in the dashboard, comma-separated:

smithplumbing.com, www.smithplumbing.com

Brand Color

Pick a color that matches your website. The chat bubble and header will use this color.

Advanced Settings

Tone

Choose how your agent communicates:

ToneBest ForHow It Sounds
WarmMost service businessesFriendly, professional, like a trusted receptionist
CasualYounger audiences, creative businessesRelaxed, like texting with a helpful friend
DirectProfessional services, B2BPolite but efficient, no fluff

Qualification Questions

Add questions you want the AI to weave into conversation. It will ask them naturally, one at a time — never as a list.

Voice Notes

Give your agent specific personality instructions. Use literal example phrases, not vague descriptions.

Good: "Say 'you bet' instead of 'of course'. End calls with 'we'll get you taken care of'."
Bad:  "Be friendly and professional."

Knowledge Base 📚

Train your AI with business-specific information.

The knowledge base is what makes your AI actually useful. Upload your pricing, FAQs, service descriptions, and policies. The AI uses this to answer customer questions accurately.

What to Include

💰
Pricing
Service prices, packages, minimum charges, payment methods accepted.
🔧
Services
Detailed descriptions of each service you offer, including what's included.
FAQs
Common questions customers ask: hours, service area, warranties, etc.
⚠️
Policies
Cancellation policy, emergency rates, insurance, licensing info.

How to Upload

In your dashboard, find the Knowledge Base section. You can either:

  1. Paste text directly into the text editor
  2. Upload a PDF or Word document
Important: Accuracy matters
The AI will only claim what's in the knowledge base. If pricing isn't uploaded, it won't make up numbers — it'll say "I'd need to connect you with the team for exact pricing." Keep your knowledge base up to date.

Voice & Tone 🎙️

Make your AI sound like your business, not a robot.

Voice Notes

Voice notes let you control exactly how your agent speaks. The more specific you are, the more natural it sounds.

Good Examples

✅ "Always say 'you bet' instead of 'absolutely' or 'of course'"
✅ "Mention that we're family-owned when it comes up naturally"
✅ "If someone mentions an emergency, skip the small talk and get their address fast"
✅ "Use 'we'll get you taken care of' as a sign-off phrase"

Bad Examples

❌ "Be friendly and professional" (too vague)
❌ "Sound like a real person" (not actionable)
❌ "Don't be robotic" (tells what NOT to do, not what TO do)

Banned Phrases

Add phrases you never want the AI to say. Common ones to ban:

I'd be happy to help
That's a great question
Absolutely
I completely understand
Let me assist you with that

Cal.com Booking 📅

Let your AI check real availability and book appointments instantly.

With Cal.com integration, your AI agent doesn't just capture leads — it actually books confirmed appointments on your calendar in real time.

How It Works

  1. Visitor asks to book an appointment
  2. AI calls Cal.com API to check your real availability
  3. AI presents available time slots to the visitor
  4. Visitor picks a time
  5. AI collects their name and email
  6. AI books the appointment directly on your calendar
  7. Both you and the visitor get confirmation emails

Setup Steps

Create a Cal.com account
Go to cal.com and sign up. Connect your Google Calendar.
Create an Event Type
Create an event type (e.g., "Consultation" or "Meeting"). Set the duration, availability, and location.
Get your API key
Go to Cal.com → Settings → Developer → API Keys. Create a new key — it will start with cal_live_.
Get your Event Type ID
Go to your event type settings. The ID is the number in the URL: app.cal.com/event-types/4959613
Add to AppointmentAI
In your AppointmentAI dashboard, paste the API key and Event Type ID in the Agentic Booking section. Click Save.
Keep your API key private
Your Cal.com API key grants full access to your calendar. Never share it publicly. AppointmentAI encrypts it before storing.

Availability Settings

Make sure your Cal.com availability matches your business hours:

  1. Go to Cal.com → Availability
  2. Set your working hours (e.g., Mon-Fri 9am-5pm)
  3. Set your timezone (e.g., America/Chicago)
  4. If using Google Calendar, enable conflict checking so double-bookings don't happen

Website Widget 💬

Add the chat bubble to your website.

Embed Code

Copy this code and paste it before </body> on every page you want the chat widget:

<script src="https://appointment.prairievision.ai/widget.js" 
        data-widget-id="YOUR_WIDGET_ID"></script>

Replace YOUR_WIDGET_ID with your actual widget ID from the dashboard.

Platform Guides

📝
WordPress
Use the "Insert Headers & Footers" plugin.
🎨
Wix / Squarespace
Add via custom code settings.
🛒
Shopify
Add to theme.liquid before closing body tag.
💻
Custom HTML
Paste the script tag directly in your HTML.

Dashboard Overview 📊

Your command center for leads, conversations, and performance.

Dashboard Sections

SectionWhat It Shows
StatsTotal conversations, leads captured, appointments booked, conversion rate
Recent LeadsLatest leads with name, phone, email, service needed
ConversationsFull chat transcripts — click any to read the entire exchange
AppointmentsUpcoming and past bookings with customer details
InsightsAI-generated analysis of visitor patterns and objections
SettingsAgent config, Cal.com keys, webhook URL, knowledge base

Leads & Contacts 👥

Every lead your AI captures, in one place.

When a visitor shares their contact info with your AI agent, it appears in the Leads section of your dashboard. Each lead includes name, phone, email, service requested, and the full conversation transcript.

What Triggers a Lead

A lead is captured when the visitor provides at least a name and one contact method (phone or email). The AI asks for these naturally during conversation.

Email Notifications

You'll receive an instant email every time a new lead is captured, including all their details and a link to the dashboard.

Conversations 💭

Read every chat your AI has with visitors.

Every conversation is saved with full transcripts. Click any conversation in the dashboard to see the complete exchange, including what stage the conversation reached and whether a lead was captured.

Appointments 📋

Track bookings made by your AI agent.

When Cal.com integration is active, the AI books real appointments on your calendar. Each booking shows the customer name, email, phone, service, date, and time.

Appointments also appear on your connected Google Calendar, and both you and the customer receive confirmation emails from Cal.com.

Zapier Integration ⚡

Connect AppointmentAI to 8,000+ apps.

Use Zapier to automatically send your AppointmentAI leads and bookings to the tools you already use — Google Sheets, Slack, HubSpot, Gmail, and thousands more.

Available Triggers

TriggerFires When
New Lead CapturedA visitor provides their contact info through the chat
New Appointment BookedThe AI books a confirmed appointment on your calendar
New ConversationA new chat conversation starts on your website

Popular Workflows

📊
AppointmentAI + Google Sheets
Log every lead to a spreadsheet automatically.
💬
AppointmentAI + Slack
Get a Slack notification for every new lead.
📧
AppointmentAI + Gmail
Send a personalized follow-up email to new leads.
🏢
AppointmentAI + HubSpot
Create HubSpot contacts from captured leads.

Setup

Search for "AppointmentAI" in Zapier
Go to zapier.com and search for AppointmentAI in the app directory.
Connect your account
Enter your AppointmentAI API key when prompted. Find it in your dashboard under Settings.
Choose a trigger and action
Select what event triggers the workflow (e.g., "New Lead Captured") and what action to take (e.g., "Create Google Sheets Row").
Alternative: Webhooks
If you prefer a custom integration, AppointmentAI also supports direct webhooks. Paste any webhook URL in your dashboard settings and we'll send lead/booking data there in real time. Learn more →

Webhooks 🔗

Receive real-time data when events happen.

Setup

In your dashboard settings, paste a webhook URL. AppointmentAI will POST JSON data to this URL whenever a lead is captured or an appointment is booked.

Webhook Payload

Lead Captured

{
  "event": "lead_captured",
  "timestamp": "2026-03-22T15:30:00Z",
  "data": {
    "name": "John Smith",
    "email": "john@example.com",
    "phone": "701-555-1234",
    "service": "AC Repair",
    "business_name": "Cool Air HVAC"
  }
}

Appointment Booked

{
  "event": "appointment_booked",
  "timestamp": "2026-03-22T15:32:00Z",
  "data": {
    "name": "John Smith",
    "email": "john@example.com",
    "phone": "701-555-1234",
    "service": "AC Repair",
    "date": "2026-03-25",
    "time": "2:00 PM",
    "business_name": "Cool Air HVAC"
  }
}

Security

Webhook payloads include an HMAC signature in the X-Webhook-Signature header. Verify this signature to ensure the request came from AppointmentAI.

Cal.com Setup 📆

Detailed guide for connecting Cal.com.

See the Cal.com Booking guide for the full setup walkthrough.

Email Notifications 📧

Get instant alerts when leads come in.

AppointmentAI sends you email notifications for:

EventWhat You Receive
New LeadLead name, phone, email, service requested, link to dashboard
Appointment BookedBooking details, date, time, customer info
Customer ConfirmationSent to the customer confirming their inquiry/booking

Emails are sent from your configured email address to the business owner's email on file.

API Authentication 🔑

How to authenticate with the AppointmentAI API.

API Key

All API requests require authentication via an API key sent as a cookie or in the Authorization header.

Authorization: Bearer YOUR_API_KEY

Base URL

https://appointment.prairievision.ai/api

Rate Limits

EndpointLimit
Chat30 requests/minute per IP
Dashboard APIs60 requests/minute per account
Widget Config120 requests/minute per IP

Leads API 📡

Retrieve leads programmatically.

GET /api/dashboard/stats

Returns dashboard statistics including recent leads, conversation count, and conversion metrics.

curl -X GET https://appointment.prairievision.ai/api/dashboard/stats \
  -H "Cookie: aai_session=YOUR_TOKEN"

Appointments API 📡

Retrieve appointment data.

Appointment data is included in the dashboard stats response and also available through Cal.com's API directly.

Chat API 📡

The core conversation endpoint.

POST /api/chat

Send a message to the AI agent and receive a response. This is the same endpoint the widget uses.

{
  "widget_id": "YOUR_WIDGET_ID",
  "message": "I need a plumber for a leaky faucet",
  "conversation_id": "optional-existing-id",
  "visitor_id": "optional-visitor-id"
}

Webhook Events 📡

Events sent to your webhook URL.

EventDescription
lead_capturedA new lead was captured with contact info
appointment_bookedAn appointment was booked via Cal.com
appointment_requestedAn appointment was requested (no Cal.com)
conversation_startedA new chat conversation began

See Webhooks for payload formats and security.

WordPress Embed 📝

Add AppointmentAI to your WordPress site.

Install "WPCode" plugin
Go to Plugins → Add New → Search for "WPCode" (or "Insert Headers and Footers") → Install and Activate.
Add the embed code
Go to Code Snippets → Header & Footer → paste your AppointmentAI script tag in the Footer section.
Save and verify
Click Save. Visit your website — you should see the chat bubble in the bottom-right corner.

Wix / Squarespace 🎨

Add AppointmentAI to Wix or Squarespace.

Wix

  1. Go to Settings → Custom Code
  2. Click "Add Custom Code"
  3. Paste your embed script
  4. Set placement to "Body - End"
  5. Apply to "All Pages"

Squarespace

  1. Go to Settings → Advanced → Code Injection
  2. Paste your embed script in the "Footer" section
  3. Click Save

Industry Guides 🏢

Tips for getting the most out of AppointmentAI in your vertical.

🔧
Plumbing & HVAC
Capture emergency calls, qualify service type, book same-day if urgent.
🦷
Dental
Schedule cleanings, handle new patient intake, answer insurance questions.
💆
Med Spa
Book consultations, describe treatments, handle pricing inquiries.
🏠
Home Services
Cleaning, landscaping, roofing — qualify the job and book an estimate.
💼
Consulting
Qualify leads, schedule discovery calls, share relevant case studies.
✂️
Salons & Barbershops
Book appointments by stylist, handle walk-in inquiries, upsell services.

Troubleshooting 🔧

Common issues and how to fix them.

Widget doesn't appear on my site

Make sure your domain is in the "Allowed Domains" list in your dashboard settings. Also verify the script tag is placed before </body>, not in the <head>.

AI says "calendar sync issue"

Your Cal.com API key or Event Type ID may be incorrect. Go to dashboard settings and re-enter them. Make sure the API key starts with cal_live_.

Bookings show wrong time

Check that your timezone is set correctly in both Cal.com (Availability → Timezone) and your AppointmentAI business settings. They should match.

Not receiving email notifications

Check your spam folder. If using a custom email, verify it's correctly configured in your account settings.

Dashboard shows no data

Make sure you're logged in with the same account that owns the business. Try logging out and back in.

Widget shows "Monthly limit reached"

You've hit your plan's conversation limit. Upgrade your plan or wait for the next billing cycle.

Frequently Asked Questions ❓

Quick answers to common questions.

How much does it cost?

Free trial with 25 conversations/month. Paid plans start at $97/month. See pricing details.

Can I customize what the AI says?

Yes — through your knowledge base, voice notes, banned phrases, and qualification questions. The AI adapts to your business.

Does it work on mobile?

Yes. The chat widget is fully responsive and works on all devices.

Can I use it on multiple websites?

Each business account gets one widget. For multiple sites, create separate accounts or contact us for multi-site pricing.

How do I cancel?

You can cancel anytime from your dashboard. No contracts, no cancellation fees.

Is my data secure?

Yes. All data is encrypted in transit (HTTPS) and sensitive fields like API keys are encrypted at rest. We never sell your data or your customers' data.

What if the AI says something wrong?

The AI only claims what's in your knowledge base. If it doesn't know something, it says so and offers to connect the visitor with you directly. Review your conversation transcripts regularly to fine-tune.

Need more help?
Email us at support@prairievision.ai — we respond within 24 hours.