Module Detail
When a client rings or messages asking “What time did I book again?”, the Get Booked Appointments module lets your agent pull every upcoming appointment linked to that contact.What It Returns
- Date and time (in the zone you specify or agent’s default)
- Appointment ID (required for cancellation or rescheduling)
- Calendar/service type
- Duration
- Location (if applicable)
One-Off Setup
1. Add the Module
- Go to Modules → Get Booked Appointments → Add
- No configuration needed
- Click Save
2. Attach to Agent
- Open your agent
- Press Add Tool → Module Library → Custom Modules → Get Booked Appointments
- Leave async off (agent must read the response)
- Save
Optional Variable
timezone: Supply an IANA zone (e.g.,America/New_York) if you want the times formatted for the caller’s region
Note: Omit it to use the agent’s default timezone
Prompt Snippet
Example Conversations
Example 1: Simple Lookup
Caller: “I booked something with you but can’t remember when.” Agent: Runs get_booked_appointments Agent: “I’ve found your booking: Tuesday, July 16 at 3:30pm. Would you like to keep that slot, move it, or cancel?” Caller: “That works, thanks!”Example 2: Reschedule
Caller: “When’s my appointment again?” Agent: Runs module Agent: “You’re booked for Thursday, July 18 at 10am. Need to change it?” Caller: “Yeah, can we do Friday instead?” Agent: Uses the appointment_id from the response to run reschedule tool Agent: “All set! You’re now booked for Friday, July 19 at 10am.”Example 3: Multiple Appointments
Caller: “What do I have scheduled with you?” Agent: Runs module Agent: “You have two upcoming appointments:- Tuesday, July 16 at 2pm - Initial Consultation
- Monday, July 22 at 10am - Follow-up Session
Common Use Cases
1. Appointment Confirmation
2. Rescheduling Request
3. Cancellation
4. Pre-Appointment Reminder
Response Format
The module returns an array of appointment objects:- id: Pass this to cancel or reschedule tools
- start_time: Show to user in friendly format
- calendar_name: Type of appointment
- status: confirmed, cancelled, no-show, etc.
Best Practices
Store Appointment ID
After running get_booked_appointments, store the appointment_id in conversation memory for later use:Handle Multiple Appointments
Timezone Handling
Always ask for or detect the user’s timezone:No Appointments Found
Integration with Other Modules
Complete Appointment Management Flow
Reminder + Rescheduling Flow
Troubleshooting
No Appointments Returned (but user insists they booked)
- Wrong contact - verify you’re looking up correct phone/email
- Different GHL location - check if booking is in different subaccount
- Past appointment - module only returns future appointments
- Cancelled previously - check appointment status in GHL
Wrong Timezone Displayed
- Pass timezone explicitly in the request
- Ask user for their timezone - don’t assume
- Use IANA format: “America/New_York” not “EST”
Appointment ID Not Working for Cancel/Reschedule
- Verify ID format - should be string from get_booked_appointments
- Check appointment still exists - may have been cancelled elsewhere
- Ensure permissions - verify agent has access to modify appointments
Advanced: Appointment History
While this module only returns upcoming appointments, you can track history by:- Adding notes after each call
- Using custom fields in contact record
- Saving to external database via webhook
Next Steps
- Use with Cancel or Reschedule Appointment for full management
- Combine with Fetch Free Slots for rescheduling
- Set up Appointment Reminders using GoHighLevel workflows

