GHL Browser Automation Skill
You interact with the GoHighLevel web application through Chrome to build, edit, and verify workflows. Since GHL does not expose workflow CRUD via its REST API, browser automation is the only way to create and modify workflows programmatically.
Primary Tool: Claude in Chrome
Use Claude in Chrome (/chrome) as the primary browser interaction method. This leverages the user's existing GHL login session — no separate authentication needed.
Why Claude in Chrome over other tools:
- Uses the user's existing authenticated session (no credential management)
- Can see and interact with the full GHL UI including the visual workflow builder
- Supports screenshot capture for verification
- No additional MCP server setup required
Fallback tools (if Claude in Chrome is unavailable):
- Chrome DevTools MCP — programmatic DOM access
- Browser MCP — Playwright-based automation
- Manual guidance — describe steps for user to execute
Core Capabilities
1. Navigation
Navigate the GHL single-page application (SPA) to reach any workflow-related section:
- Dashboard → Automation → Workflows (main workflow list)
- Workflow list → specific workflow (click to open builder)
- Workflow builder → trigger node, action nodes, settings panel
- Workflow stats → enrollment, active, completed counts
Always verify navigation succeeded by checking the URL or page content after each navigation step. GHL is a React SPA — URL changes happen via client-side routing, not full page loads.
2. Workflow Creation
Two approaches, chosen based on complexity:
AI Builder Approach (preferred for 5+ steps):
- Navigate to Automation → Workflows
- Click "Create Workflow"
- Select "AI Workflow Builder" option (or "Start from Scratch" if AI Builder unavailable)
- Paste the composed AI Builder prompt (from ghl-ai-builder skill)
- Wait for AI to generate the workflow structure
- Review generated structure against the design plan
- Refine: fix triggers, adjust wait times, correct conditions, update message content
- Save and optionally publish
Manual Approach (for simple workflows or when AI Builder fails):
- Navigate to Automation → Workflows
- Click "Create Workflow" → "Start from Scratch"
- Name the workflow following naming convention
- Add trigger: click trigger area → select trigger type → configure filters
- Add actions one by one: click "+" → select action category → select specific action → configure parameters
- Configure If/Else branches: add condition → set YES/NO paths → add actions to each branch
- Configure Wait steps with exact durations
- Save and optionally publish
3. Workflow Editing
Modify existing workflows:
- Navigate to workflow list
- Find and open the target workflow
- Screenshot current state for reference
- Make changes: add/remove/modify nodes, update parameters, change conditions
- Screenshot updated state for verification
- Save changes
4. Workflow Verification
After building or editing, verify the workflow:
- Screenshot the full workflow canvas
- Walk through each node and verify against the design plan
- Check trigger type and filters
- Check all action parameters (message content, wait durations, tag names)
- Check If/Else conditions and both branch paths
- Check workflow settings (name, allow reentry)
- Check publish status (draft vs published)
Interaction Patterns
Click Targets in GHL
GHL uses React components with dynamic rendering. When clicking:
- Wait for elements to render before clicking — GHL panels often animate in
- Use visible text labels as click targets when possible (more reliable than CSS selectors)
- Dropdowns: Click the dropdown trigger, wait for options to render, then click the desired option
- Modals: After triggering a modal, wait for it to fully appear before interacting
- Side panels: Configuration panels slide in from the right — wait for the animation to complete
Form Filling
When filling GHL configuration forms:
- Text fields: Click the field, clear existing content, type new value
- Dropdowns/selects: Click to open, search or scroll for the option, click to select
- Toggle switches: Click to toggle — verify the state changed
- Rich text editors: Click into the editor area, use keyboard shortcuts for formatting if needed
- Merge fields: Type
{{ to trigger the merge field picker, or type the full merge field path directly (e.g., {{contact.first_name}})
Screenshot Strategy
Take screenshots at these key moments:
- After navigation — confirm you reached the right page
- Before changes — capture the current state as a reference
- After each major action — verify the action was applied (node added, field saved)
- After completion — capture the final workflow for user review
- On error — capture error messages, modals, or unexpected states
Allow 1-2 seconds after actions for UI transitions/animations to settle before capturing.
Error Recovery
Common errors and recovery strategies:
| Error | Detection | Recovery |
|---|
| Session expired | Login page appears, "Session expired" message | Pause workflow. Ask user to log back in. Resume from last successful step. |
| Modal blocking | Unexpected modal or dialog appears | Screenshot the modal. Dismiss it (click X or Cancel). Retry the intended action. |
| Wrong workflow opened | Workflow name doesn't match target | Navigate back to workflow list. Search for correct workflow by name. |
| Element not found | Click target not visible on screen | Scroll the page. Check if a panel needs to be opened. Verify navigation is correct. |
| Save failed | Error toast or validation message | Screenshot the error. Check for missing required fields. Fix and retry save. |
| AI Builder timeout | Spinner persists beyond 30 seconds | Refresh the page. Try again with a shorter prompt. Fall back to manual building. |
| Unsaved changes warning | Browser prompt about leaving page | Accept if intentional. Cancel and save first if changes should be kept. |
Session Management
- Do not attempt to log into GHL — rely on the user's existing session
- Check session validity at the start of any browser operation by navigating to the dashboard
- If session is expired, immediately stop and ask the user to log in
- Avoid rapid sequential navigation — allow pages to load fully between navigation actions
- Tab management: Work in a single tab. Do not open multiple GHL tabs (can cause session conflicts)
Workflow Builder Canvas Interaction
Understanding the Canvas
The GHL workflow builder is a visual canvas with:
- Trigger node at the top — the entry point
- Action nodes connected vertically in sequence
- If/Else nodes that split into YES (left/green) and NO (right/red) branches
- Wait nodes shown with a clock icon
- Connection lines between nodes showing flow direction
- "+" buttons between nodes for inserting new actions
- Settings icon (gear) for workflow-level settings (name, reentry, etc.)
Adding Nodes
To add a new action after an existing node:
- Hover over the connection line below the node (or click the "+" button)
- The action picker appears — organized by category
- Select the category (e.g., "Communication", "Internal Tools")
- Select the specific action (e.g., "Send SMS", "If/Else")
- Configuration panel opens on the right — fill in parameters
- Save/close the configuration panel
Configuring If/Else
If/Else nodes require:
- Click the If/Else node to open configuration
- Set the condition type (contact field, tag, activity, etc.)
- Set the field, operator, and value
- Name the condition descriptively
- Close configuration
- Add actions to the YES branch (click "+" on the left/green path)
- Add actions to the NO branch (click "+" on the right/red path)
- Ensure both branches end with an action or "End" node
Configuring Wait Steps
Wait nodes support three types:
- Time Delay: Set duration (number + unit: minutes/hours/days)
- Wait for Event: Select event type, set timeout duration
- Wait Until Time: Set specific time of day, select days of week
Integration with Other Skills
With workflow-design Skill
The workflow-design skill produces a structured workflow plan. This skill translates that plan into browser actions:
- Receive the workflow plan (trigger, actions, conditions, settings)
- Determine build approach (AI Builder vs manual)
- Execute the build via Chrome
- Verify the result matches the plan
With ghl-ai-builder Skill
The ghl-ai-builder skill produces an optimized prompt. This skill handles:
- Navigate to the AI Builder interface
- Paste the composed prompt
- Wait for generation
- Review and identify gaps between the generated workflow and the design plan
- Refine by manually adding/editing/removing nodes
Pre-Flight Checklist
Before starting any browser automation:
Post-Build Checklist
After building or editing a workflow: