Back to Templates

Book HVAC service appointments via WhatsApp with GoHighLevel and Gemini

Created by

Created by: iamvaar || iamvaar
iamvaar

Last update

Last update 2 days ago

Share


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].from is 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.