Skip to content

Commit b24a0e9

Browse files
chore: fix ghl docs with correct inputs
1 parent 178564e commit b24a0e9

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

fern/tools/go-high-level.mdx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ After connecting your GoHighLevel account, create the tools:
4646
2. Click the **Create Tool** button.
4747
3. Select **GoHighLevel** from the available options.
4848
4. Choose which tool(s) you want to create (e.g., Get Contact, Create Contact, Check Availability, Create Event).
49-
5. For each tool, provide a name.
49+
5. For each tool, provide a clear and descriptive name. Adding a description is optional. If you leave it blank, Vapi will automatically generate a default description that explains the tool's purpose and includes the current date, formatted using the timezone you specify in the tool's metadata.
5050
6. For the **Check Availability** and **Create Event** tools, ensure you provide a valid `calendarId`. You can find the `calendarId` for each of your calendars in GoHighLevel by navigating to **Settings** > **Calendars**. Each calendar listed will display its unique ID.
5151

5252
<Note>
@@ -127,8 +127,8 @@ This tool uses the following fields to create a new contact:
127127
This tool uses the following fields to check for open appointment slots:
128128

129129
- `calendarId`: The ID of the GoHighLevel calendar to check.
130-
- `startDateTime`: The start of the time range to check for availability (epoch time in milliseconds).
131-
- `endDateTime`: The end of the time range to check for availability (epoch time in milliseconds).
130+
- `startDate`: The start of the time range to check for availability (epoch time in milliseconds).
131+
- `endDate`: The end of the time range to check for availability (epoch time in milliseconds).
132132
- `timezone`: The timezone for the availability check (e.g., "America/New_York").
133133

134134
### GoHighLevel Create Event Tool
@@ -138,8 +138,8 @@ This tool uses the following fields to book an appointment:
138138
- `calendarId`: The ID of the GoHighLevel calendar in which to create the event.
139139
- `contactId`: The ID of the GoHighLevel contact to associate with the event.
140140
- `title`: The title or summary for the calendar event.
141-
- `startDateTime`: The start date and time for the event in ISO 8601 format.
142-
- `endDateTime`: The end date and time for the event in ISO 8601 format.
141+
- `startTime`: The start date and time for the event in ISO 8601 format.
142+
- `endTime`: The end date and time for the event in ISO 8601 format.
143143

144144
## Example Usage
145145

@@ -153,15 +153,15 @@ Here's how the tools can be configured in your assistant's JSON setup:
153153
"messages": [
154154
{
155155
"role": "system",
156-
"content": "You are a highly efficient scheduling assistant for appointments. Your goal is to seamlessly book appointments into a calendar. Follow this precise workflow:\\n\\n1. **Gather User Info**: Start by politely asking for the caller's full name and email address.\\n2. **Check Existing Contact**: Use the 'getGHLContact' tool to check if a contact already exists with the provided email.\\n3. **Create New Contact (if necessary)**: If no contact is found with the email, use the 'createGHLContact' tool to create a new contact. You will need their name and email for this.\\n4. **Determine Appointment Needs**: Once you have a contact ID (either from an existing or newly created contact), ask the user for their preferred date and time for the appointment, and the purpose of the appointment (e.g., 'dental checkup', 'initial consultation').\\n5. **Check Calendar Availability**: Use the 'checkGHLAvailability' tool to find open slots for the requested period. Check a broad enough range (e.g., the entire day) to offer alternatives if the exact preferred time is unavailable.\\n6. **Confirm Time with User**: Discuss the available options and confirm a suitable appointment time with the user.\\n7. **Book the Appointment**: Use the 'createGHLEvent' tool to schedule the appointment. Use the purpose of the appointment as the event title.\\n\\n**Critical Notes:**\\n- Always use 'getGHLContact' before 'createGHLContact'.\\n- You MUST have a contactId before calling 'createGHLEvent'.\\n- Always use 'checkGHLAvailability' before 'createGHLEvent'.\\n- Assume all appointments are 30 minutes long unless specified otherwise by the user.\\n- Today's date is {{now}}."
156+
"content": "You are a highly efficient scheduling assistant for appointments. Your goal is to seamlessly book appointments into a calendar. Follow this precise workflow:\\n\\n1. **Gather User Info**: Start by politely asking for the caller's full name and email address.\\n2. **Check Existing Contact**: Use the 'getGHLContact' tool to check if a contact already exists with the provided email.\\n3. **Create New Contact (if necessary)**: If no contact is found with the email, use the 'createGHLContact' tool to create a new contact. You will need their name and email for this.\\n4. **Determine Appointment Needs**: Once you have a contact ID (either from an existing or newly created contact), ask the user for their preferred date and time for the appointment, and the purpose of the appointment (e.g., 'dental checkup', 'initial consultation').\\n5. **Check Calendar Availability**: Use the 'checkGHLAvailability' tool to find open slots for the requested period. Check a broad enough range (e.g., the entire day) to offer alternatives if the exact preferred time is unavailable.\\n6. **Confirm Time with User**: Discuss the available options and confirm a suitable appointment time with the user.\\n7. **Book the Appointment**: Use the 'createGHLEvent' tool to schedule the appointment. Use the purpose of the appointment as the event title.\\n\\n**Critical Notes:**\\n- Always use 'getGHLContact' before 'createGHLContact'.\\n- You MUST have a contactId before calling 'createGHLEvent'.\\n- Always use 'checkGHLAvailability' before 'createGHLEvent'.\\n- Assume all appointments are 30 minutes long unless specified otherwise by the user.\\n- Today's date is {{\"now\" | date: \"%A, %B %d, %Y, %I:%M %p\", \"America/New_York\"}}."
157157
}
158158
],
159159
"tools": [
160160
{
161161
"type": "gohighlevel.calendar.availability.check",
162162
"function": {
163163
"name": "checkGHLAvailability",
164-
"description": "Use this tool to check for available appointment slots in the GoHighLevel calendar. Today's date is {{now}}."
164+
"description": "Use this tool to check for available appointment slots in the GoHighLevel calendar. Today's date is {{\"now\" | date: \"%A, %B %d, %Y, %I:%M %p\", \"America/New_York\"}}."
165165
},
166166
"metadata": {
167167
"calendarId": "CALENDAR_ID",
@@ -172,7 +172,7 @@ Here's how the tools can be configured in your assistant's JSON setup:
172172
"type": "gohighlevel.calendar.event.create",
173173
"function": {
174174
"name": "ghl_create_event",
175-
"description": "Use this tool to create a new appointment (event) in the GoHighLevel calendar. Today's date is {{now}}. - All appointments are 30 minutes long unless specified otherwise by the user."
175+
"description": "Use this tool to create a new appointment (event) in the GoHighLevel calendar. Today's date is {{\"now\" | date: \"%A, %B %d, %Y, %I:%M %p\", \"America/New_York\"}}. - All appointments are 30 minutes long unless specified otherwise by the user."
176176
},
177177
"metadata": {
178178
"calendarId": "CALENDAR_ID"
@@ -200,7 +200,7 @@ Here's how the tools can be configured in your assistant's JSON setup:
200200
## Best Practices
201201
1. **Clear Instructions**: Provide clear instructions in your assistant's system message about when to use each calendar tool
202202
2. **Error Handling**: Include fallback responses for cases where either calendar tool fails
203-
3. **Time Zone Awareness**: Always specify the correct timezone for events and availability checks
203+
3. **Time Zone Awareness**: Always specify the correct timezone for events and availability checks. Also remember to format {{now}} with your desired timezone.
204204
4. **Event Details**: Ensure all required fields are properly filled when creating events
205205
5. **Availability Flow**: Check availability before attempting to schedule events to avoid conflicts
206206
6. **Contact Prerequisite for Events**: Remember that creating an event in GoHighLevel requires a `contactId`. Ensure your assistant\'s logic always fetches or creates a contact (using the `getGHLContact` and `createGHLContact` tools) before attempting to book an appointment with the `createGHLEvent` tool.

0 commit comments

Comments
 (0)