Before running or deploying this workflow, you need to configure the following services and credentials:
contacts.readonly, contacts.write, locations.readonly, locations/customFields.readonly, and locations/customFields.write (Note: these custom field scopes replace the standard opportunities scopes).1. When Form Submitted (Trigger)
This is the starting point of the workflow. It uses n8n's native form trigger to collect a service request. It captures the customer's Name, Email, Phone Number, Property Address, a text description of the issue, and crucially, a file upload of the HVAC unit's nameplate or data sticker.
2. Extract File Content
This node takes the image uploaded in the previous form step and converts/extracts the file content. By assigning the binary data to the image property, it makes the picture readable and ready to be sent to external APIs for analysis.
3. Post to Gemini API
This HTTP Request node acts as the brain of the operation. It sends the reported issue and the extracted image to the gemini-3.1-flash-lite model. The prompt instructs the AI to act as an expert HVAC diagnostic assistant to:
4. Parse API Response
Because AI models can sometimes wrap JSON in markdown blocks or conversational text, this custom JavaScript Code node uses regex to locate the exact JSON block inside the Gemini output. It safely parses it and outputs clean, structured JSON data for the rest of the workflow to use.
5. Create Lead in GoHighLevel
This node connects to your CRM. It maps the original client contact details (Name, Email, Phone) alongside all of the deeply detailed AI insights (Property Address, HVAC Brand, Model, Serial, AI Repair Score, Recommended Action) directly into the GoHighLevel custom fields you set up in the prerequisites.
6. Prepare Binary Image
Since the workflow's primary data stream has been replaced by the parsed JSON text, this Code node "teleports" the original binary image data from the Extract File Content node and stitches it together with the current JSON data. This ensures the WhatsApp node has access to both the text details and the photo.
7. Send WhatsApp to Technician
The final step dispatches a WhatsApp message directly to the lead technician. It sends the original photo of the HVAC nameplate accompanied by a neatly formatted caption. The caption includes the client's name, property address, the reported issue, the AI's probable diagnosis and cost estimation, and instructions on next steps.