đź’¬ Book HVAC service appointments via WhatsApp with GoHighLevel and Gemini
⚡ 188 views · 💬 Support Chatbots
Description
Youtube Video For Workflow Explanation: https://youtu.be/3VTYQU7N6uU
This workflow operates as an automated WhatsApp customer service and booking chatbot for an HVAC company (Blankarray HVAC Solutions). It connects WhatsApp, GoHighLevel (for CRM and calendar), and a Gemini AI model to handle customer inquiries, capture contact details, and schedule service appointments.
1. Core Flow (The Main Logic)
-
WhatsApp Trigger
-
Purpose: This is the starting point of the workflow. It actively listens for incoming WhatsApp messages and triggers the sequence whenever a new message is received.
-
If Valid Sender Exists
-
Purpose: A conditional check to ensure the incoming message has a valid sender phone number (
messages[0].fromis not empty). This prevents the workflow from failing on empty or malformed requests. -
Fetch GHL Contacts
-
Purpose: Connects to GoHighLevel to search for an existing contact record using the sender’s WhatsApp phone number. It always outputs data, which tells the AI later if this is a known customer or a new lead.
-
Customer Service AI Agent1
-
Purpose: The central “brain” of the operation. This node orchestrates the conversational logic based on a detailed system prompt. It adopts the persona of “Alex,” an HVAC service coordinator.
-
Functionality: It decides whether to ask for missing user information (Name and Email), when to look up calendar slots, when to book the appointment, and how to format the responses (using WhatsApp-friendly styling).
-
Send WhatsApp Response
-
Purpose: The final step in the main execution path. It takes the text output generated by the AI Agent and sends it back to the customer’s WhatsApp number.
2. AI Sub-Nodes (The Agent’s Toolkit & Brain)
These nodes are connected directly to the Customer Service AI Agent1 to give it memory, intelligence, and the ability to take actions.
The Brain & Memory
-
Gemini Chat Model
-
Purpose: The Large Language Model (LLM) powering the AI Agent. It processes the user’s text, understands the context based on your prompt, and generates the natural language response.
-
Redis Chat History Memory
-
Purpose: Maintains the context of the conversation. It uses the user’s phone number as a unique session key, allowing the AI to remember what was said earlier in the chat rather than treating every message as a brand new interaction.
The Action Tools (GoHighLevel Integrations)
The AI Agent intelligently decides when to trigger these tools based on the conversation flow.
-
Save user issue in notes
-
Purpose: When a customer describes their HVAC problem, the AI uses this tool to immediately log a summary of the issue directly into the customer’s GoHighLevel contact profile notes.
-
Create or update a contact in HighLevel
-
Purpose: If the “Fetch GHL Contacts” node found no existing record, the AI asks the user for their name and email. Once provided, the AI uses this tool to create a brand new contact profile in GoHighLevel before proceeding to book an appointment.
-
Fetch Available Calendar Slots
-
Purpose: When the user wants to book a service, the AI uses this tool to query the GoHighLevel calendar for available 30-minute time slots on the requested date.
-
Book Calendar Appointment
-
Purpose: Once the customer agrees to a specific time, the AI uses this tool to officially book the appointment in the GoHighLevel calendar using the Contact ID and the agreed-upon timestamp.
đź”— Nodes Used
HighLevel, WhatsApp Business Cloud, AI Agent, Redis Chat Memory, WhatsApp Trigger, Google Gemini Chat Model
📥 Import
Download workflow.json and import into n8n:
Workflow menu → Import from File