GoHighLevel Dashboard & Automation Specialist

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Gig

SALARY

180

HOURS PER WEEK

5

DATE UPDATED

Nov 18, 2025

JOB OVERVIEW

Nail Salon Operations Transformation Project

GoHighLevel Dashboard & Automation Specialist

THE MISSION

We're looking for a GHL Expert to eliminate 5+ hours of weekly manual work at a high-volume nail salon. You'll build automated reporting that tracks technician services, tips, and commissions - turning chaos into clean dashboards that actually make sense.

Translation: Build a system that tells the owner exactly who earned what, when, and how much to pay them - automatically.

THE PROBLEM YOU'RE SOLVING

Current Situation:

Owner manually matches receipts for 5+ hours every week
Paper tracking for 10+ technicians
Commission calculations done by hand
Tips tracked on sticky notes
Zero visibility into real-time performance
Paying transaction fees on a dead CRM (Bluupoint)

Your Solution:
Transform this mess into automated dashboards that calculate everything instantly. No more paper. No more Excel hell. Just clean, automated reporting.

WHAT YOU'LL BUILD

Foundation
Create service tracking system
Build tip tracking mechanism
Connect appointments to payments
Get basic reporting live ASAP

Dashboard Creation

Core Metrics (already mapped out)
Advanced Metrics (formulas ready)
Commission calculations (50-60% splits)
Weekly payout reports
Real-time performance tracking

Full Automation (Preferred not Required)

Automated weekly reports
Technician earnings portals
Owner dashboard with KPIs
Export-ready payroll files
Zero manual data entry


TECHNICAL REQUIREMENTS

Must Have:
GoHighLevel dashboard creation experience
Custo ---------- trics & formula building
Widget configuration (all types)
Workflow automation
Basic API/webhook knowledge

Nice to Have:

Google Sheets integration
---------- experience
Payment processing knowledge
Service business understanding
Commission-based payroll systems

You Should Know:

How to link appointments to payments in GHL
Custom Object creation and management
Advanced filter logic (AND/OR)
Dashboard permissions and sharing
Report scheduling and automation


THE TECHNICAL STACK

Primary Platform:
GoHighLevel (main CRM)
Custo ---------- trics system
Dashboard widgets
Workflow automations

Integration Tools:

Google Sheets (backup reporting)
Zapier/Make (data syncing)
Stripe/Payment processing

Data Points to Track:
Service type & amount
Tip amounts
Technician assignment
Date/time of service
Payment status
Commission calculations

The Ideal Candidate:

Has built 10+ GHL dashboards
Loves turning messy data into clean insights
Gets excited about automation
Can explain technical stuff to non-technical people


THE DELIVERABLES
Must Deliver:

Technician Earnings Dashboard

Real-time service tracking
Automated tip calculations
Commission splits (50/60%)
Weekly payout totals

Owner Analytics Dashboard
Revenue and Appointment by technician
Service performance metrics
No-show tracking
Tip percentage trends

Automated Reports (Preferred not required)

Weekly technician payouts
Monthly performance summaries
Exportable payroll files

Email
notifications


Documentation

How to use the dashboards
Workflow logic explained
Troubleshooting guide
Training video (bonus)


PROJECT SCOPE ????
Timeline: 1-2 weeks
Budget: $350
Hours: Part-time project basis.


TO APPLY

Send us:
Screenshots of GHL dashboards you've built
One paragraph explaining how you'd track tips
Your timeline to get basic reporting live
Rate/project fee
Link to similar work (if available)

Bonus points if you:

Have salon/service business experience
Can start immediately
Include a Loom video explanation
Suggest improvements to our current plan


The Job: Build automated salon reporting in GHL
The Timeline: 1-2 weeks
The Impact: Save 250+ hours annually
The System: GoHighLevel with custom dashboards
The Goal: Zero manual tracking
If you can turn appointment data into automated commission reports and make dashboards that non-technical salon owners actually understand - we need to talk.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0009
Controller Execution Time ( Jobseekers / Job )  0.0218
Total Execution Time  0.0233
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,517,808 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/GoHighLevel-Dashboard-Automation-Specialist-1516583
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0146 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0015   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1516583
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 399811
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1516583
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-16',ej.date_added) duration_daysDATEDIFF('2026-04-16',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-04-16',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1516583' 
0.0010   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1516583 
0.0008   UPDATE employer_jobs SET hit_counts '***Nov-18-2025=118***Nov-19-2025=80***Nov-20-2025=22***Nov-21-2025=6***Nov-22-2025=2***Nov-23-2025=1***Nov-24-2025=5***Nov-25-2025=3***Nov-26-2025=2***Nov-27-2025=3***Nov-28-2025=1***Nov-29-2025=1***Nov-30-2025=5***Dec-01-2025=5***Dec-02-2025=1***Dec-03-2025=4***Dec-04-2025=4***Dec-05-2025=1***Dec-06-2025=3***Dec-07-2025=2***Dec-08-2025=1***Dec-11-2025=1***Dec-13-2025=1***Dec-14-2025=2***Dec-16-2025=1***Dec-19-2025=1***Dec-21-2025=2***Dec-22-2025=1***Dec-24-2025=3***Dec-29-2025=1***Dec-30-2025=1***Jan-05-2026=2***Jan-11-2026=1***Jan-12-2026=2***Jan-15-2026=1***Jan-16-2026=1***Jan-18-2026=2***Jan-22-2026=2***Jan-27-2026=2***Jan-30-2026=1***Jan-31-2026=1***Feb-02-2026=3***Feb-03-2026=1***Feb-18-2026=1***Feb-25-2026=1***Mar-01-2026=1***Mar-02-2026=1***Mar-03-2026=1***Mar-06-2026=2***Mar-10-2026=1***Mar-17-2026=1***Mar-23-2026=1***Mar-24-2026=1***Mar-26-2026=2***Apr-07-2026=1***Apr-09-2026=1***Apr-10-2026=2***Apr-16-2026=1' WHERE job_id'1516583'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Nov-2025=249***Dec-2025=35***Jan-2026=15***Feb-2026=6***Mar-2026=11***Apr-2026=5' WHERE job_id'1516583'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1516583' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1516583 
0.0062   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '399811'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)