Skip to content

Appointment scheduling — Calendly and GoHighLevel

If you connect Calendly or GoHighLevel, the AI books meetings directly inside the Instagram or WhatsApp conversation. The lead doesn’t open external pages: they see available slots, pick one and the appointment is recorded on your calendar.

  • Calendly: go to Sales links in the side menu, open Schedule Automatically and, on the Calendly tab, press Connect with Calendly to authorize your account. Once connected you’ll see Connected to Calendly and Connected as followed by the email.
  • GoHighLevel: first connect the GoHighLevel integration from Settings. Then, in appointment scheduling, choose the calendar in Select Calendar.
  • In Calendly, open Select Event Type and choose the event the AI will use to book.
  • In GoHighLevel, select the corresponding calendar from Select Calendar.
  • In Calendly, write the Booking Condition.
  • In GoHighLevel, write the Scheduling Condition.

It’s a natural-language rule that tells the AI when it should offer to book. The AI will evaluate this condition on every message to decide whether to propose slots.

Before activating booking in production, use Test integration / Run Test. This creates a real booking to validate that the calendar, time zone and permissions are correct. Remember to cancel the test event in your calendar afterwards.

  1. The AI evaluates the condition on every message.
  2. When it’s met, it presents up to 5 available slots, spread across different days for variety.
  3. It collects the lead’s name and email. On Instagram, if you have GoHighLevel connected, it also asks for their phone number.
  4. After explicit confirmation from the lead, it books the appointment on your calendar.
  5. The lead’s stage moves to Booked.

This is the most common question about this feature, and the answer depends on who makes the booking.

When the AI books inside the conversation — the flow you just read — ZeroChats is the one creating the appointment, so it knows straight away. The lead moves to Booked instantly and, if you have the notification enabled, the booking email goes out then.

Many businesses prefer not to let the AI book, and send a sales link to their booking page instead, usually because the form includes qualification questions they want to keep.

In that case ZeroChats gets no notice from your calendar: the Calendly or GoHighLevel connection is there to read availability and create appointments, not to watch the ones created elsewhere. If the lead fills in the form on their own, that booking happens somewhere ZeroChats cannot see.

What it can see is the conversation. That is why the lead moves to Booked when the transition condition for that stage is met — by default, “When they confirm they have booked” — and that condition is evaluated after every message. In practice:

  • The lead books and says so in the chat (“I’ve taken the Tuesday slot”) → they move to Booked as soon as that message arrives.
  • The lead books and never writes again → they stay in their previous stage, because there is no new message to evaluate.
  • You want the stage and the notification immediately: let the AI book with Calendly or GoHighLevel connected.
  • You need your qualification form: send the link and tune the Booked condition so it recognises how your people phrase it (“says they already booked”, “confirms the appointment time”…). Ask the AI in the prompt to check whether they managed to book.
  • You don’t mind when it finds out: review the funnel now and then and manually drag over the leads you see booked in your calendar.
  • Slots are always shown in the business time zone configured in settings.
  • The AI never books without explicit confirmation from the lead.
  • One meeting per lead. As soon as the lead moves to Booked, the AI stops offering slots and can no longer book again, even if the conversation continues. This prevents a simple “thanks” from creating a second meeting on your calendar.
  • Rescheduling or cancelling isn’t done over chat. If the lead wants to move the time, handle it from your calendar or send them your provider’s reschedule link.
  • Only one provider can be active at a time: if Calendly is configured, you must remove its event before configuring GoHighLevel, and vice versa.
  • Calendly and GoHighLevel work the same way from the lead’s perspective.
  • Set the correct business time zone before testing booking.
  • Keep the Calendly event clean: no forms, no custom questions.
  • Combine the booking condition with the funnel’s Booked transition condition so the stage updates automatically when the lead confirms.
  • Use Test integration every time you change the calendar, event or time zone.