Docs Appointments

Appointments

Set up online booking, sync with Google Calendar or Calendly, manage services, providers, and automated reminders.

Overview

The Appointments module lets your visitors book appointments directly through the Helpon chat widget, your website, or an integrated calendar platform. Access it from Helpon → Appointments in your WordPress admin sidebar.

The module provides a complete booking workflow: visitors select a service, choose a provider, pick a date and time, fill in their details, and receive an instant confirmation. On the admin side, you get a full calendar view with filtering, status management, and export capabilities.

📅
Appointments Dashboard
Helpon → Appointments
24
Today
142
This Week
8
Pending
3
Cancelled
🗓️ Calendar  •  📋 List View  •  📊 Reports  •  ⚙️ Settings
ℹ️
Enable the Module

The Appointments module must be enabled before use. Go to Helpon → Settings → Modules and toggle Appointments to On. If you ran the setup wizard and left Appointments disabled, you can enable it at any time.

Booking Setup

Configure the core booking settings that control how visitors can schedule appointments. Navigate to Helpon → Appointments → Settings to access these options.

1

Enable Online Booking

Toggle Enable Booking to On. This activates the booking interface in the chat widget and makes your appointment calendar publicly accessible for scheduling.

2

Set Available Time Slots

Define your weekly availability by selecting days and time ranges. For each day, set a start time and end time. You can add multiple time ranges per day to account for lunch breaks or split shifts.

Weekly Availability
Monday
09:00 AM
to
12:00 PM
+ Add
01:00 PM
to
05:00 PM
Remove
Tuesday
09:00 AM
to
05:00 PM
+ Add
⋮ (Wednesday – Friday)
3

Configure Buffer Time

Set a buffer period between consecutive appointments. This gives providers time to prepare for the next patient. Common values are 5, 10, or 15 minutes.

4

Set Advance Booking Limits

Control how far in advance visitors can book. Set a minimum lead time (e.g., 2 hours) so you don't receive last-minute bookings, and a maximum advance window (e.g., 30 days) to prevent bookings too far into the future.

5

Customize Booking Form Fields

Choose which fields visitors must fill out when booking. The default fields are Name, Email, and Phone. You can add custom fields such as Reason for Visit, Insurance Provider, or Date of Birth.

Booking Form Fields
Full Name *
John Smith
Email *
john@example.com
Phone *
(555) 123-4567
Reason for Visit
General Checkup ▾
Additional Notes
First-time patient, referred by Dr. Lee
Pro Tip

Keep the booking form short. Every additional field reduces completion rates. Only make fields required if they are essential for the appointment. You can collect extra information through the pre-appointment reminder email.

Services & Providers

Services define what visitors can book (e.g., consultation, follow-up, cleaning). Providers are the staff members or practitioners who deliver those services. Navigate to Helpon → Appointments → Services to manage them.

Creating Services

Each service has a name, description, duration, price (optional), and one or more assigned providers. When a visitor books, they first select a service, then see only the providers available for that service.

Add New Service
Service Name *
Initial Consultation
Description
Comprehensive first-visit assessment and treatment plan discussion.
Duration *
30 minutes ▾
Price
$75.00
Assigned Providers
Dr. Sarah Chen ✕ Dr. Mark Rivera ✕ + Add Provider

Example Services

Service Duration Price Providers
Initial Consultation 30 min $75.00 Dr. Chen, Dr. Rivera
Follow-Up Visit 15 min $40.00 Dr. Chen, Dr. Rivera, Nurse Patel
Teeth Cleaning 45 min $120.00 Hygienist Lee
Emergency Exam 20 min $95.00 Dr. Chen
Virtual Consultation 20 min $50.00 All Providers

Provider Availability

Each provider can have their own availability schedule that overrides the global settings. Go to Helpon → Appointments → Providers, select a provider, and configure their individual working hours, days off, and vacation dates. The booking system automatically shows only the time slots where both the service and the provider are available.

ℹ️
Provider Sync

If a provider connects their Google Calendar, their personal busy times are automatically blocked from the booking calendar. This prevents double-booking across platforms.

Locations

If your practice operates from multiple locations, the Locations feature lets visitors choose where they want their appointment. Navigate to Helpon → Appointments → Locations to add and manage locations.

Each location can have its own address, timezone, available services, and providers. When a visitor books, the location selection appears before the service and provider steps.

Setting Description Example
Location Name Display name shown to visitors during booking Downtown Clinic
Address Full street address for in-person appointments 123 Main St, Suite 200, New York, NY 10001
Timezone Local timezone for this location (overrides global) America/New_York
Type In-Person, Virtual, or Both Both
Phone Location-specific phone number for confirmations (555) 100-2000
Assigned Services Which services are offered at this location All Services
Assigned Providers Which providers work at this location Dr. Chen, Hygienist Lee
💡
Virtual Location

Create a "Virtual" location for telehealth or video consultations. Set the type to Virtual and leave the address blank. When visitors book at this location, they receive a video call link in the confirmation email instead of a physical address.

Google Calendar Sync

Connect Helpon to Google Calendar for two-way synchronization. Appointments created in Helpon appear on your Google Calendar, and existing Google Calendar events block those time slots from being booked.

1

Create OAuth Credentials

Go to the Google Cloud Console, create a new project (or use an existing one), enable the Google Calendar API, and create OAuth 2.0 credentials. Set the authorized redirect URI to the one shown in Helpon's settings.

Redirect URI
https://yourdomain.com/wp-json/helpon/v1/google-calendar/callback
2

Enter Client Credentials

In Helpon → Appointments → Settings → Google Calendar, paste your Client ID and Client Secret from the Google Cloud Console.

Google Calendar Integration
Client ID *
123456789-abcdefg.apps.googleusercontent.com
Client Secret *
GOCSPX-••••••••••••••••
Connect Google Account
3

Authorize and Select Calendar

Click Connect Google Account. You will be redirected to Google's OAuth consent screen. Grant calendar access, and you'll be redirected back to Helpon. Then select which calendar to sync with from the dropdown.

4

Configure Sync Settings

Choose your sync direction and frequency:

  • Two-Way Sync — Helpon bookings appear in Google Calendar, and Google events block Helpon slots (recommended).
  • One-Way: Helpon → Google — Only push Helpon appointments to Google Calendar.
  • One-Way: Google → Helpon — Only pull Google Calendar events to block Helpon time slots.

Set the sync frequency to real-time (webhook), every 5 minutes, or every 15 minutes. Real-time sync is recommended for conflict detection accuracy.

5

Conflict Detection

When two-way sync is enabled, Helpon checks the selected Google Calendar before confirming any new booking. If a time slot overlaps with an existing Google event, that slot is automatically removed from the booking calendar. This prevents double-bookings across platforms.

⚠️
OAuth Consent Screen

If your Google Cloud project is in "Testing" mode, only test users you add can authorize the app. For production use, submit your app for Google verification or switch to "Internal" if you use Google Workspace.

Calendly Integration

If you already use Calendly for scheduling, Helpon can embed your Calendly booking page directly within the chat widget and receive webhook notifications when appointments are created or cancelled.

1

Generate a Calendly API Key

Log into your Calendly account, go to Integrations → API & Webhooks, and generate a Personal Access Token. Copy the token.

2

Connect Calendly in Helpon

Navigate to Helpon → Appointments → Settings → Calendly. Paste your API token and click Connect. Helpon will verify the token and pull in your Calendly event types.

Calendly API Token
eyJraWQiOiIxY2UxZTEz••••••••••••••••••••
3

Map Event Types to Services

Helpon displays your Calendly event types in a mapping table. Map each Calendly event to a corresponding Helpon service so appointments from Calendly are categorized correctly in your Helpon dashboard.

4

Enable Chat Embedding

Toggle Embed in Chat Widget to On. When visitors request an appointment in the chat, Helpon opens an inline Calendly scheduling frame so they can book without leaving the conversation.

5

Configure Webhooks

Helpon automatically registers a webhook with Calendly to receive booking confirmations and cancellations in real time. The webhook URL is:

Webhook URL
https://yourdomain.com/wp-json/helpon/v1/calendly/webhook

When Calendly fires the webhook, Helpon creates or updates the appointment record, sends confirmation notifications, and updates the CRM contact profile.

ℹ️
Calendly vs Built-In Booking

You can use Calendly and the built-in booking system at the same time. Calendly appointments sync into Helpon's calendar so you have a single view of all bookings. However, for simplicity, most users choose one or the other.

In-Chat Booking

One of Helpon's most powerful features is the ability for visitors to book appointments directly inside the chat widget. The AI assistant guides them through the booking flow conversationally, or they can use the structured booking interface.

Helpon Chat
I'd like to book an appointment, please.
Sure! Let me help you schedule that. What service would you like to book?
Initial Consultation Follow-Up Visit Teeth Cleaning
Initial Consultation
Great choice! Please pick a date and time:
March 2026
SuMoTuWeThFrSa 1234567 891011121314
9:00 AM 10:30 AM 2:00 PM
Your appointment is confirmed! ✅

Initial Consultation
Mar 10, 2026 at 10:30 AM
Dr. Sarah Chen
Downtown Clinic

How the Booking Flow Works

1

Trigger

The booking flow is triggered when a visitor types a booking-related keyword (e.g., "book", "appointment", "schedule") or clicks a booking button in a flow. You can also configure the AI to proactively offer booking when it detects intent.

2

Service Selection

The widget displays available services as quick-reply buttons. The visitor taps to select. If there is only one service, this step is skipped automatically.

3

Provider Selection (Optional)

If the selected service has multiple providers, the visitor can choose one or let the system auto-assign based on the next available slot.

4

Date & Time Picker

An inline date picker appears showing only available dates. After selecting a date, available time slots for that day are displayed. Slots already booked or blocked by calendar sync are hidden.

5

Visitor Details & Confirmation

The visitor fills in the required booking form fields (name, email, phone). After submission, the appointment is created, a confirmation message is displayed in chat, and an email confirmation is sent.

CRM Auto-Link

When a visitor books through the chat widget, Helpon automatically creates or updates their CRM contact record with the appointment details. You can view all bookings on a contact's profile under the Appointments tab.

Reminders & Notifications

Automated reminders reduce no-shows and keep both visitors and providers informed. Configure reminders in Helpon → Appointments → Settings → Notifications.

Notification Settings
Confirmation Email
Enabled
24-Hour Reminder
Enabled
1-Hour Reminder
Enabled
SMS Reminders
Disabled (requires Twilio)
No-Show Follow-Up
Enabled — 30 min after missed

Notification Types

Notification Timing Channel Recipient
Booking Confirmation Immediately after booking Email Visitor + Provider
24-Hour Reminder 24 hours before appointment Email, SMS (optional) Visitor
1-Hour Reminder 1 hour before appointment Email, SMS (optional) Visitor
Reschedule Notice When appointment is rescheduled Email Visitor + Provider
Cancellation Notice When appointment is cancelled Email Visitor + Provider
No-Show Follow-Up 30 minutes after missed appointment Email Visitor
Provider Daily Digest Every morning (configurable time) Email Provider

Custom Reminder Messages

You can customize the content of each notification email. Go to Helpon → Appointments → Settings → Email Templates and edit the templates. Available merge tags include:

Available Merge Tags
{{visitor_name}}       - Visitor's full name
{{service_name}}       - Name of the booked service
{{provider_name}}      - Assigned provider's name
{{appointment_date}}   - Appointment date (formatted)
{{appointment_time}}   - Appointment time (formatted)
{{location_name}}      - Location name
{{location_address}}   - Location address
{{reschedule_link}}    - Link to reschedule
{{cancel_link}}        - Link to cancel
{{business_name}}      - Your business name
{{business_phone}}     - Your business phone number
ℹ️
SMS Requires Twilio

SMS reminders require a Twilio integration. Go to Helpon → Settings → Integrations → Twilio to enter your Account SID, Auth Token, and phone number. Once connected, SMS reminder toggles become active.

Managing Appointments

The admin calendar view in Helpon → Appointments gives you a complete overview of all bookings. Switch between day, week, and month views, filter by provider or service, and manage appointment statuses.

Appointment Statuses

Status Color Description Actions Available
Pending Yellow Awaiting admin or provider confirmation Confirm, Reschedule, Cancel
Confirmed Green Appointment has been confirmed by the provider Reschedule, Cancel, Mark Complete
Cancelled Red Cancelled by visitor, provider, or admin Rebook, Delete
Completed Blue Appointment took place as scheduled View Details, Rebook
No-Show Gray Visitor did not attend the appointment Rebook, Send Follow-Up

Rescheduling

To reschedule an appointment, click on it in the calendar and select Reschedule. Choose a new date and time, and the visitor will receive an automatic reschedule notification email with the updated details. The original time slot is freed up for other bookings.

Cancellation Policy

Configure your cancellation policy in Helpon → Appointments → Settings → Cancellation. Options include:

  • Allow visitor cancellation — Let visitors cancel via the link in their confirmation email
  • Cancellation window — Minimum notice required (e.g., 24 hours before the appointment)
  • Cancellation reason — Require visitors to select a reason when cancelling
  • Auto-cancel no-response — Automatically cancel pending appointments that are not confirmed within a set timeframe

Exporting Bookings

Export your appointment data for reporting or external use. Go to Helpon → Appointments → Export. Choose a date range, filter by status or provider, and download as CSV or PDF. The export includes visitor details, service, provider, status, timestamps, and any custom field data.

CSV Export Columns
ID, Visitor Name, Email, Phone, Service, Provider, Location,
Date, Time, Duration, Status, Created At, Notes
💡
Keyboard Shortcuts

In the calendar view, press T to jump to today, D/W/M to switch between day/week/month views, and the arrow keys to navigate between dates. Press N to create a new appointment quickly.

Troubleshooting

Common appointment-related issues and their solutions:

Google Calendar sync not working

  • Verify your OAuth credentials are correct and the Google Calendar API is enabled in your Google Cloud Console
  • Check that the redirect URI in Google Cloud exactly matches the one shown in Helpon settings
  • Re-authorize by disconnecting and reconnecting the Google account in Helpon → Appointments → Settings → Google Calendar
  • Ensure your server can make outbound HTTPS requests to googleapis.com
  • Check Helpon → Settings → Logs for detailed sync error messages

Timezone mismatches

  • Verify your WordPress timezone in Settings → General matches your intended timezone
  • Check each location's individual timezone setting in Helpon → Appointments → Locations
  • If using Google Calendar sync, ensure the synced calendar's timezone matches your Helpon location timezone
  • Visitor-side times are automatically converted to the visitor's local timezone based on their browser settings

Double bookings occurring

  • Enable Two-Way Sync with Google Calendar and set the sync frequency to real-time
  • Check that buffer time is configured between appointments to prevent overlapping
  • Ensure you have not assigned the same provider to overlapping manual appointments in the admin calendar
  • If using Calendly alongside the built-in system, verify the webhook is delivering events correctly

Calendly webhook not firing

  • Confirm your site's webhook endpoint is publicly accessible: https://yourdomain.com/wp-json/helpon/v1/calendly/webhook
  • Check that your SSL certificate is valid and not expired — Calendly requires HTTPS for webhooks
  • Verify the webhook subscription is active in Calendly's Integrations → API & Webhooks page
  • Temporarily disable any security plugins (Wordfence, Sucuri) that may be blocking incoming POST requests to the REST API
  • Check your server's access logs for incoming requests to the webhook endpoint

Booking form not appearing in chat

  • Ensure the Appointments module is enabled in Helpon → Settings → Modules
  • Verify that Enable Booking is toggled on in Helpon → Appointments → Settings
  • Check that at least one service is published and has an available provider assigned
  • Clear your browser cache and test in an incognito window
⚠️
REST API Access

Some hosting providers or security plugins block WordPress REST API endpoints. Helpon's calendar sync and webhook features rely on the REST API (/wp-json/helpon/v1/). Ensure these endpoints are accessible and not blocked by firewall rules.