Skip to main content

Book HVAC service appointments via WhatsApp with GoHighLevel and Gemini

Workflow preview

Workflow preview
100%
Book HVAC service appointments via WhatsApp with GoHighLevel and Gemini preview
Open on n8n.io

1. Workflow Overview

Youtube Video For Workflow Explanation: https://youtu.be/3VTYQU7N6uU This workflow operates as an automated WhatsApp customer service and booking chatbot for an HVAC...

Best for

  • Support Chatbot automation workflows
  • AI Chatbot automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, @n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.lmchatgooglegemini, @n8n/n8n-nodes-langchain.memoryredischat, n8n-nodes-base.highleveltool, n8n-nodes-base.whatsapp, n8n-nodes-base.if, n8n-nodes-base.highlevel

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by iamvaar.

Original n8n.io source

1.1 Workflow description

Title
Book HVAC service appointments via WhatsApp with GoHighLevel and Gemini
Workflow name
Book HVAC service appointments via WhatsApp with GoHighLevel and Gemini

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.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Customer Service Agent

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 3.1

Block 6 - Gemini Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1.1

Block 7 - Redis Chat Memory

Type / Role
@n8n/n8n-nodes-langchain.memoryRedisChat - memoryRedisChat
Config choices
Version 1.5

Block 8 - Fetch Calendar Slots Tool

Type / Role
n8n-nodes-base.highLevelTool - highLevelTool
Config choices
Version 2

Block 9 - Book Appointment Tool

Type / Role
n8n-nodes-base.highLevelTool - highLevelTool
Config choices
Version 2

Block 10 - Save User Issue Tool

Type / Role
n8n-nodes-base.highLevelTool - highLevelTool
Config choices
Version 2

Block 11 - Update Contact Tool

Type / Role
n8n-nodes-base.highLevelTool - highLevelTool
Config choices
Version 2

Block 12 - Send WhatsApp Message

Type / Role
n8n-nodes-base.whatsApp - whatsApp
Config choices
Version 1.1

Block 13 - If Valid Sender Exists

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 14 - Fetch GHL Contacts

Type / Role
n8n-nodes-base.highLevel - highLevel
Config choices
Version 2

Block 15 - When WhatsApp Message Received

Type / Role
n8n-nodes-base.whatsAppTrigger - whatsAppTrigger
Config choices
Version 1

3. Summary Table

Workflow Book HVAC service appointments via WhatsApp with GoHighLevel and Gemini
Complexity advanced
Nodes 15
Categories Support Chatbot, AI Chatbot
Author iamvaar
Published 17 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15777/15777.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Book HVAC service appointments via WhatsApp with GoHighLevel and Gemini do?

Youtube Video For Workflow Explanation: https://youtu.be/3VTYQU7N6uU This workflow operates as an automated WhatsApp customer service and booking chatbot for an HVAC...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Support Chatbot, AI Chatbot use case.