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
- Open the Sympana dashboard inside GoHighLevel
- Go to Connections and click on your Retell connection (or create a new one)
- Scroll down to the Functions section
- Click each function you want to enable — a blue checkmark appears when it’s on
- 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.
Step 3: Link a GHL calendar (for appointment functions)
If you enabled any appointment functions (Book Appointment, Get Slots, List Appointments, Reschedule, Delete), you must link a GHL calendar:
- In the same connection settings, find the Calendar section
- Select the GHL calendar you want appointments booked on
- 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:
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:
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:
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
- Create a test contact in GHL with your own phone number
- Trigger a test call from a GHL workflow
- 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
- 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:
- Is the function enabled on your connection? (blue checkmark in Sympana)
- Does your prompt mention the function by name?
- Is the webhook URL correct on your Retell agent?
- Is the calendar linked (for appointment functions)?
Still stuck? Join the Sympana Discord server for help.