Appointment Scheduling
With Appointment Scheduling enabled, the AI Assistant can check availability and book appointments during the conversation. Open Schedule uses written scheduling instructions and saves each confirmed appointment as a Job on an AI text calendar.
Getting here
In NZ Leads, go to Sources → select a source → Messaging Settings → Conversation Setup tab → click AI Assistant at the top → expand the Appointment Scheduling panel.
Appointment Scheduling only applies when the source is in AI Assistant mode.
Options
Enable scheduling
- Label: “Enable scheduling” (toggle)
- Default: off
- When on: the scheduling service dropdown and its fields appear. The AI can discuss availability and (for calendar integrations) book on your behalf.
- When off: the AI will not bring up scheduling or attempt to book.
- Use this when: you want the AI to carry the conversation through to an actual booking, rather than handing off once the lead is qualified.
Scheduling service
- Label: “Scheduling service” (dropdown)
- Default: Job Scheduler - NZ Leads’s own CRM scheduling. Choose an AI or strict calendar.
- Options:
- Job Scheduler - use an AI calendar with written instructions or a strict calendar with weekly hours. Both create scheduled Jobs and block overlapping bookings.
- Cal.com
- FieldPulse
- GoHighLevel
- HousecallPro
- Quickbase
Each option and its required fields are detailed below.
Job Scheduler with a strict calendar
Choose Job Scheduler and a strict calendar to use configured weekly hours and appointment length.
- Required field: Calendar.
- What happens: the AI checks the Calendar’s working hours and existing active Jobs, offers open slots, collects the fields configured on the Calendar, and creates a scheduled Job after the customer confirms.
- Use this when: you want booking and Job tracking to stay inside NZ Leads.
If the business has no Calendar yet, click Create Calendar in the scheduling panel or go to CRM → Jobs → Create new calendar. See Calendar setup for the full configuration guide.
Job Scheduler with an AI calendar
Open Schedule uses plain-language instructions to decide which times may be offered. It checks existing Jobs before offering a time and creates a Job only after the customer confirms. Its calendar tracks occupied times; weekly-hours settings do not define Open Schedule availability.
- Instructions: write or edit them directly in Job Scheduler settings. Saving updates the attached AI calendar in Jobs.
- Calendar: choose Create AI calendar automatically to save your instructions on a new Jobs calendar named after the source. You can also choose an existing AI calendar, including one shared with a Voice Agent.
- What happens: the AI follows the calendar instructions, reads nearby booked job times and addresses, and reserves the exact appointment window after the customer confirms.
- Cost: free to use; no external account required.
- Use this when: you want custom written scheduling rules and a local record of confirmed appointments.
Example instructions:
We're open Mon–Fri 8–5. Once a lead wants to book, collect their preferred
day and a 2-hour window, then tell them we'll text to confirm the exact
slot within a few hours.
Cal.com
- Required fields:
- API Key
- Event Type ID
- Timezone
- What happens: the AI checks live availability for the event type you connect, proposes open slots to the lead, and creates the booking on your Cal.com calendar once the lead confirms.
- Use this when: you already use Cal.com and want the AI to book directly against a specific event type (consultation, site visit, etc.).
FieldPulse
- Required fields:
- API Key
- Company ID
- Timezone
- What happens: the AI checks availability in FieldPulse and creates the appointment there.
- Use this when: you run your jobs out of FieldPulse and want new leads booked into the same system your crew already works from.
GoHighLevel
- Required fields:
- API Key
- Calendar ID
- Location ID
- What happens: the AI checks availability on the specified GHL calendar under the specified location and creates the appointment there.
- Use this when: GoHighLevel is your CRM and you want new bookings on an existing GHL calendar.
HousecallPro
- Required fields:
- API Key
- Timezone
- What happens: the AI checks HousecallPro availability and creates the appointment in HousecallPro.
- Use this when: you dispatch jobs through HousecallPro and want new appointments on the same schedule.
Quickbase
- Required fields:
- Appointments table link - open your appointments table in Quickbase and copy the browser URL.
- User token - assigned to the Quickbase app that holds the table.
- Setup: click Connect. NZ Leads picks the start, end or length, status, and customer detail fields automatically; click Edit to change them. Then set the Appointment length and Working Hours.
- What happens: the AI offers only times inside your working hours that don’t overlap appointments already in the table, checks the time again right before booking, and writes the appointment with the customer’s details to your table. It can also cancel the appointment.
- Use this when: your appointments already live in a Quickbase table.
See Book appointments in Quickbase for the full setup and advanced options.
Validate Connection
- Label: “Validate Connection” button (appears below the fields for any calendar integration)
- What it does: tests your credentials against the selected service. On success, confirms the connection is working. On failure, it shows the exact error returned so you can fix it.
- Use this when: always run this once after entering or changing credentials. Don’t assume saved credentials are still valid - keys expire, IDs get deleted.
Built-in Booking does not use external credentials, so there is no connection to validate for that option.
Error log
- Below the Validate Connection button, the most recent validation error is shown inline with a timestamp.
- Use this when: scheduling stops working mid-campaign. The error log is the fastest way to spot an expired key, a deleted calendar, or a revoked API token.
Which option should I pick?
- Keep appointments and Jobs inside NZ Leads: Built-in Booking.
- No online calendar / handled manually: Open Schedule.
- Already using Cal.com for bookings: Cal.com.
- Field-service business running on FieldPulse or HousecallPro: match your existing dispatch tool.
- GoHighLevel is your CRM: GoHighLevel.
- Appointments live in a Quickbase table: Quickbase.
If you use a different calendar system, stick with Open Schedule - the AI will still handle the timing conversation gracefully even without a real calendar connection.
How it behaves
- Credentials are per source. Different sources can connect to different calendars if needed.
- Built-in CRM: Built-in Booking creates a Job linked to the original Lead and places it on the selected CRM Calendar.
- Confirmation to the lead: the AI reads back the chosen time once booked, so the lead knows the appointment is locked in.
- Cancellations / reschedules: the AI can handle these mid-conversation for calendar integrations that support them - it will check availability again and update the booking.
Troubleshooting
- No Calendar is available for Built-in Booking: open CRM → Jobs and create one for the same business as the source.
- A Built-in Booking slot disappeared: another active Job may have reserved it, or the time may now be in the past. Choose another open slot.
- “Validate Connection” fails: check the exact error in the log. Common causes: wrong API key (typo, expired, or from the wrong environment), wrong Event Type / Calendar / Location / Company ID, or the calendar was deleted.
- AI books into the wrong calendar: confirm the IDs (Event Type ID, Calendar ID, Location ID) match the target calendar. IDs are the most common source of misdirected bookings.
- AI never offers to book: confirm the Enable scheduling toggle is on and that AI Conversation Mode is Short or Long (the AI needs more than one message to collect scheduling info).
- Wrong timezone on the booking: the Timezone field must match the calendar’s own timezone settings. Mismatched timezones cause “booked at 3 PM, shows on calendar at 11 AM” type bugs.
Questions? Email support@nzleads.com.