Phase 1: n8n Orchestration & Intelligence
Endpoint: POST /review-request-system
Listens for Jobber events and captures business activity in real-time
Switch node inspects body.event_type and routes data accordingly
Each event type is logged to its dedicated Google Sheet tab:
Synchronizes data between Google Sheets and GoHighLevel CRM
GPT-5-NANO Intelligence
Customer postal code is analyzed against a curated, state-scoped reference list of all business locations
AI receives: Customer ZIP + List of (Location, Zip Code, BusinessID) pairs
AI returns: Structured data identifying the nearest Google Business Profile
Critical Rules
- AI must ALWAYS return a result (never empty)
- Chooses closest location even without exact ZIP match
- Code node parses AI text into structured fields
Switch node routes contact based on BusinessID determined by AI
Examples: whittier_gbp, az_phoenix_gbp, nv_henderson_gbp, etc.
API Call: PUT to LeadConnector /contacts/{contact.id}
Three critical custom fields updated:
Critical Trigger Field
- Closest GBP Name is the trigger that launches GHL workflows
- All location filtering happens in n8n (AI-powered)
- GHL receives the final decision and executes accordingly
Phase 2: GoHighLevel Orchestration
Trigger: Custom field Closest GBP Name changed/populated
Purpose: Evaluates which state the assigned GBP belongs to and routes accordingly
State-Level IF Filter
Checks if Closest GBP Name corresponds to supported regions
Action: Contact is enrolled into dedicated state-specific workflow
No Triggers - Enrollment Only
These workflows have no triggers and only accept programmatic enrollments from the primary workflow
Immediate Action: City-level IF filter on Closest GBP Name
After 1 hour, system checks for customer engagement:
Filtering Logic Summary
| Filtering Goal | Platform | How It Works | Result |
|---|---|---|---|
| Event Classification | n8n | Switch on body.event_type | Correct Google Sheet tab |
| Nearest GBP Selection | n8n | AI maps postal code → BusinessID; Code node parses; Switch routes | Closest GBP Name + BusinessID |
| State Selection | GHL | IF filter on Closest GBP Name (CA/TX/FL/NV/AZ/UT/NM/Atlanta) | Enrollment into state workflow |
| City Selection | GHL | IF filter across state's cities (e.g., 11 for CA) | City-specific review request with GBP link |
Executive Summary
When Jobber activity occurs, n8n receives the event, logs details to Google Sheets, then looks up the matching GoHighLevel contact.
Using the contact's postal code, n8n's AI analyzes proximity and selects the nearest Google Business Profile (GBP). This result is written to the GHL contact's Closest GBP Name field along with invoice metadata.
In GoHighLevel, a primary workflow triggers on the Closest GBP Name field change and determines the state (CA/TX/FL/NV/AZ/UT/NM/Atlanta). The contact is then enrolled into that state's dedicated workflow.
The state workflow uses an IF filter to identify the exact city, then sends a city-specific review request message containing the unique GBP review link. The system marks "review request sent" and checks back after 1 hour for engagement.
If there's no reply or link click within the hour, the contact is marked "no review left / no review sent" for reporting and potential retargeting.
End Result: Every contact receives the correct review request for the nearest GBP location to their city, fully automated and intelligently routed.
Key Benefits & Intelligence
AI-powered ZIP matching ensures closest location
City-specific GBP review URLs
Perfect timing after service completion
1-hour follow-up monitoring
Never returns empty results
Full audit trail in Google Sheets