Skip to main content

Step 1: Connect Sympana to Retell

Before setting up functions, make sure Sympana Connector is connected to your Retell AI account. Follow the Connect Retell guide if you haven’t done this yet.
Need a Retell account?Use this Retell link. Sign up through this link.RetellAI.com

Step 2: Enable functions on your connection

  1. Open the Sympana dashboard inside GoHighLevel
  2. Go to Connections and click on your Retell connection (or create a new one)
  3. Scroll down to the Functions section
  4. Click each function you want to enable — a blue checkmark appears when it’s on
  5. Click Save or Update Connection
All 11 functions are available. You don’t need to enable all of them — only enable the ones your agent actually needs for its use case.
If you enabled any appointment functions (Book Appointment, Get Slots, List Appointments, Reschedule, Delete), you must link a GHL calendar:
  1. In the same connection settings, find the Calendar section
  2. Select the GHL calendar you want appointments booked on
  3. Save the connection
If you skip this step, appointment functions will fail with a “No calendar configured” error.

All 11 functions — what they do and how to reference them

Every function below shows the exact name your Retell agent sees, what the function does, what data the agent needs to collect from the caller, and the exact prompt instructions to copy into your agent.

Book Appointment

Retell function name: create_appointment_tool What it does: Creates a new appointment on your linked GHL calendar. Finds or creates the contact, checks the slot, and books it. What the agent needs from the caller:
  • What the appointment is for (the title)
  • Preferred date and time
What’s auto-filled (agent does NOT need to ask):
  • Contact name, phone, email (from baseline variables)
  • Calendar ID (from your connection config)
  • Timezone (from the contact’s GHL record or defaults to Eastern)
Copy this into your Retell agent prompt:
Accepted date formats: 2026-04-15, April 15, 2026, 4/15/2026 Accepted time formats: 2:30 PM, 14:30, 2pm, 2:30pm Accepted timezone formats: America/New_York, EST, Eastern, Pacific

Get Slots (Check Availability)

Retell function name: get_slots_tool What it does: Returns available appointment times from your GHL calendar. Checks up to 7 days ahead automatically if the requested date has no slots. What the agent needs from the caller:
  • What date they want to check (optional — defaults to tomorrow)
Copy this into your Retell agent prompt:
Returns to the agent: A list of available time slots formatted for voice (e.g., “Wednesday Apr 16 at 2:00 PM”), the slot duration, and the next available date if the requested date is fully booked.

Get Appointment

Retell function name: get_appointment_tool What it does: Retrieves details of a specific appointment by ID. What the agent needs: The appointment ID (usually from a List Appointments result). Copy this into your Retell agent prompt:

List Appointments

Retell function name: list_appointment_tool What it does: Shows all upcoming appointments for the contact on the call. Uses the contact’s phone number and name automatically. What the agent needs from the caller: Nothing — it uses baseline variables automatically. Copy this into your Retell agent prompt:

Reschedule Appointment

Retell function name: reschedule_appointment_tool What it does: Moves an existing appointment to a new date and time. What the agent needs from the caller:
  • Which appointment to reschedule (use List Appointments to find the ID)
  • New preferred date and time
Copy this into your Retell agent prompt:

Delete Appointment

Retell function name: delete_appointment_tool What it does: Cancels an existing appointment. What the agent needs from the caller:
  • Confirmation they want to cancel
  • Which appointment (use List Appointments to find the ID)
Copy this into your Retell agent prompt:

Get Contact

Retell function name: get_contact_tool What it does: Retrieves the full contact profile from GHL — name, email, phone, tags, timezone, custom fields, and more. What the agent needs: Nothing — uses the contact ID from baseline variables. Can also search by phone or email. Copy this into your Retell agent prompt:

Create Contact

Retell function name: create_contact_tool What it does: Creates a new contact in GHL. Useful for inbound calls where the caller is not yet in your CRM. What the agent needs from the caller:
  • First name (required)
  • Last name (required)
  • Phone number (required)
  • Email (optional)
Copy this into your Retell agent prompt:

Update Contact Data

Retell function name: update_contact_data_tool What it does: Updates any field on the contact record in GHL — standard fields (email, name, phone) or custom fields. What the agent needs from the caller:
  • The information to update
Standard GHL fields you can update: email, firstName, lastName, phone, companyName, address1, city, state, postalCode, country, website, timezone Custom fields: Use the exact field key from GHL Settings → Custom Fields. Copy this into your Retell agent prompt:

Get Opportunity

Retell function name: get_opportunity_tool What it does: Retrieves sales pipeline and deal data for the contact — deal stage, value, pipeline name. What the agent needs: Nothing — uses baseline variables automatically. Copy this into your Retell agent prompt:

Timezone Resolver

Retell function name: timezone_resolver_tool What it does: Determines the caller’s timezone from their phone number area code, or from city/state information they provide. What the agent needs from the caller: Nothing (uses phone automatically), or city/state if asked. Copy this into your Retell agent prompt:
Common results: America/New_York (Eastern), America/Chicago (Central), America/Denver (Mountain), America/Los_Angeles (Pacific)

Step 4: Write your prompt

Your Retell agent prompt must tell the agent when and how to use each function. Copy the relevant prompt sections from above into your Retell agent prompt.
The #1 mistake: Writing “help the customer book an appointment” without mentioning the function name. This makes the agent TALK ABOUT booking instead of ACTUALLY USING the function to book. Always say “use create_appointment_tool” or “use get_slots_tool” explicitly.

Complete prompt example

Here is a full Retell prompt that combines appointment booking and contact management:

Step 5: Test your functions

  1. Create a test contact in GHL with your own phone number
  2. Trigger a test call from a GHL workflow
  3. During the call, test each function:
    • Ask “What times do you have available tomorrow?” → get_slots_tool should fire
    • Say “Book me for 2 PM” → create_appointment_tool should fire
    • Say “What appointments do I have?” → list_appointment_tool should fire
  4. After the call, verify in GHL that the appointment was created
Test one function at a time. Start with get_contact_tool (simplest) and work up to create_appointment_tool (most complex).
If functions don’t fire, check:
  1. Is the function enabled on your connection? (blue checkmark in Sympana)
  2. Does your prompt mention the function by name?
  3. Is the webhook URL correct on your Retell agent?
  4. Is the calendar linked (for appointment functions)?
Still stuck? Join the Sympana Discord server for help.