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 AppointmentAI Does
Quick Links
Quick Start 🚀
Get AppointmentAI running on your website in under 5 minutes.
</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>
What Happens Next
When a visitor chats with your AI agent:
- The AI greets them and asks about their needs
- It qualifies them based on your services
- It captures their name, phone, and email naturally
- If calendar booking is enabled, it checks availability and books a time
- You get an instant email notification with the lead details
- 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:
| Field | Description | Example |
|---|---|---|
| Business Name | Your company name (shown in notifications) | Smith & Sons Plumbing |
| Industry | Your business vertical (helps AI understand context) | HVAC, Dental, Cleaning, etc. |
| Agent Name | What the AI calls itself | Sarah, Alex, Rachel |
| Services | Comma-separated list of services you offer | Drain Cleaning, Water Heater, Pipe Repair |
| Business Hours | When you're available | Mon-Fri 8am-6pm |
| Phone | Your business phone number | (701) 555-1234 |
| Location | Service area or address | Bismarck, ND and surrounding areas |
Plans & Pricing
| Plan | Price | Conversations | Features |
|---|---|---|---|
| Free Trial | $0/mo | 25/month | AI chat, lead capture, email alerts |
| Starter | $97/mo | 100/month | Everything in trial + conversation insights |
| Professional | $197/mo | 500/month | Everything in Starter + priority support |
| Growth | $297/mo | 1,000/month | Everything + 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:
| Tone | Best For | How It Sounds |
|---|---|---|
| Warm | Most service businesses | Friendly, professional, like a trusted receptionist |
| Casual | Younger audiences, creative businesses | Relaxed, like texting with a helpful friend |
| Direct | Professional services, B2B | Polite 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
How to Upload
In your dashboard, find the Knowledge Base section. You can either:
- Paste text directly into the text editor
- Upload a PDF or Word document
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
- Visitor asks to book an appointment
- AI calls Cal.com API to check your real availability
- AI presents available time slots to the visitor
- Visitor picks a time
- AI collects their name and email
- AI books the appointment directly on your calendar
- Both you and the visitor get confirmation emails
Setup Steps
cal_live_.app.cal.com/event-types/4959613Availability Settings
Make sure your Cal.com availability matches your business hours:
- Go to Cal.com → Availability
- Set your working hours (e.g., Mon-Fri 9am-5pm)
- Set your timezone (e.g., America/Chicago)
- 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
Dashboard Overview 📊
Your command center for leads, conversations, and performance.
Dashboard Sections
| Section | What It Shows |
|---|---|
| Stats | Total conversations, leads captured, appointments booked, conversion rate |
| Recent Leads | Latest leads with name, phone, email, service needed |
| Conversations | Full chat transcripts — click any to read the entire exchange |
| Appointments | Upcoming and past bookings with customer details |
| Insights | AI-generated analysis of visitor patterns and objections |
| Settings | Agent 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
| Trigger | Fires When |
|---|---|
| New Lead Captured | A visitor provides their contact info through the chat |
| New Appointment Booked | The AI books a confirmed appointment on your calendar |
| New Conversation | A new chat conversation starts on your website |
Popular Workflows
Setup
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:
| Event | What You Receive |
|---|---|
| New Lead | Lead name, phone, email, service requested, link to dashboard |
| Appointment Booked | Booking details, date, time, customer info |
| Customer Confirmation | Sent 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
| Endpoint | Limit |
|---|---|
| Chat | 30 requests/minute per IP |
| Dashboard APIs | 60 requests/minute per account |
| Widget Config | 120 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.
| Event | Description |
|---|---|
lead_captured | A new lead was captured with contact info |
appointment_booked | An appointment was booked via Cal.com |
appointment_requested | An appointment was requested (no Cal.com) |
conversation_started | A new chat conversation began |
See Webhooks for payload formats and security.
WordPress Embed 📝
Add AppointmentAI to your WordPress site.
Wix / Squarespace 🎨
Add AppointmentAI to Wix or Squarespace.
Wix
- Go to Settings → Custom Code
- Click "Add Custom Code"
- Paste your embed script
- Set placement to "Body - End"
- Apply to "All Pages"
Squarespace
- Go to Settings → Advanced → Code Injection
- Paste your embed script in the "Footer" section
- Click Save
Industry Guides 🏢
Tips for getting the most out of AppointmentAI in your vertical.
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.