# Appointment Scheduling

Aktify's AI agent can book appointments for you during a conversation. It offers a lead your real open time slots, and when the lead confirms, Aktify books the appointment on your calendar — and can reschedule or cancel it later — with no manual back-and-forth.

Aktify supports two scheduling providers. Pick the one that matches where your calendar lives:

- **[GoHighLevel](./gohighlevel)** — you connect your GoHighLevel account once, and availability lives in your GoHighLevel calendar.
- **[Google Calendar](./google-calendar)** — you share your calendar(s) with Aktify, and set availability (open hours, slot length, capacity) in the Aktify Portal.

The rest of this page describes behavior that is **the same for both providers**. Each provider guide then covers only what's specific to it.

## What's common to both

### One scheduler per campaign

A campaign can have **exactly one** active appointment-scheduling integration at a time. Activating one provider on a campaign automatically deactivates the other, so two schedulers never compete for the same campaign. Your configuration is preserved either way — switching, or switching back, doesn't mean re-entering it.

### Leads always hear their own local time

Aktify handles two timezones at once, so an appointment is never off by an hour:

- **Leads always hear times in their own local timezone.** A lead in New York hears a 2:00 PM Eastern slot even if your business runs on Mountain time.
- **Your calendar always shows the appointment in the business's timezone** — referring to the same moment the lead agreed to.

Where the business timezone comes from differs by provider — you set it in the Portal for Google Calendar, and it comes from the calendar itself for GoHighLevel. See each provider's guide.

### Availability is always live

The agent only ever offers slots your calendar actually shows as open. As appointments get booked, availability updates and fully-booked slots stop being offered — the agent suggests the next open time instead.

### The agent manages the whole lifecycle

Booking, rescheduling, and canceling all happen automatically through the conversation and sync to your calendar.

### Arrival windows

For field-service and dispatch use cases, you can set an **arrival window** (in hours) so the agent promises a window — "your technician will arrive between 1:00 and 3:00 PM" — instead of an exact time. Aktify uses it when confirming appointments and communicating ETAs to the lead. Set it to `0` for exact-time appointments.

### Schedule date range

Both providers let you bound when appointments may be scheduled with an optional start/end date.

### Where you configure it

Both providers are configured per campaign, under **Settings → Integrations → Appointment Scheduling**.
