Sunfinity Power

Sunfinity Nexus

AI Command Center

Sunfinity Nexus
AI Command Center
▾ Agents
▾ Integrations
▾ System
Sunny — Stopped
Click to manage
Dashboard
Sunfinity Power · AI Sales Command Center
Dashboard/ Overview
⚡ Poller
TCPA ✓
Rate: 80
—
EMERGENCY STOP — All outreach halted. Resume
Total Contacts
—
GHL Database
Pipeline Value
—
open opps
Appts Booked
—
by Sunny AI
SMS Today
—
persists restarts
Real-time Replies
—
via GHL poll
AI Model
CLAUDE
Haiku 4.5
Rate Tokens
80
queue: 0
Conv Cache
—
fresh entries
Open Escalations
—
4h SLA
Custom Fields
—
in Claude prompt
System Health
—
GHL Rate Limiter80 tokens
Queue: 0 pending
Reply PollerInactive
Polls GHL every 45s — no webhook needed
0 polls
Conversation Cache—
5-min TTL · hash invalidation on inbound
SMS Count Today—
Written to sent_log.json — survives restarts

Loading GHL metadata...

Agent Controls—
New Leads: —
Sit Rate: —
DNC Tagged: —
Days to Book: —
Live Activity● Live

Pipeline Engine

Grade A leads processed first · Real-time replies handled in <60s

Sunny Autonomous Mode
Contacts sorted by lead score. Poller handles <60s real-time replies.
Pipeline Selection

Click Sync GHL

—
Autonomy Settings
Active Stages

Select pipeline and stages

AI Configuration

Lead score + decision history + custom fields + pipeline context injected into every Claude prompt

Sunny's Identity
Claude Model
Every prompt injects: lead score A/B/C/D, prior decisions, — GHL fields, pipeline mode
Channels
SMS via GHLYour GHL configured numbers
Email via GHLSecondary follow-up
Voice (ElevenLabs)AI voice calls via GHL
System Prompt
Leave blank for built-in solar persona

Voice Studio

ElevenLabs AI voices — power Sunny's outbound calls, inbound greetings, TTS previews, and voicemail drops

Voice Selection
—
Voice Quality Settings
Speaker BoostImproves voice clarity on calls
Voice Test StudioLive Preview

Contacts

Search, filter, and view full contact details from GHL

ContactPhoneValid?SourceScoreRepCity/StateAdded

Search or load contacts

—
Page 1

Lead Scoring

Grade A contacts processed first — scores injected into every Claude prompt

Grade A
—
80-100 — Book Now
Grade B
—
60-79 — Qualify
Grade C/D
—
below 60 — Nurture
Avg Score
—
of scored leads
Score Individual Lead
Scoring Criteria
Homeowner confirmed+25 pts
High bill $300++20 pts
Good roof condition+15 pts
Recent roof <10yrs+10 pts
Has replied to Sunny+10 pts
Qualified tag+10 pts
RI/MA/CT territory+5 pts
Fresh lead <48h+5 pts
Top Scored Leads
ContactScoreGradeHomeownerBillPhone ValidAction

Click "Score Leads"

Activity & Calls

Live inbound/outbound from GHL — all reps + AI agent

Inbound
—
calls received
Outbound
—
calls made
Missed
—
no answer
Source
GHL Conversations
last 100 records
Recent Activity

Click Load to pull from GHL

Rep Breakdown

Click Load

New Contacts Today

Loading...

Test & Preview

See lead score + prior decision context in the AI decision

AI Decision Preview
Claude's Decision
Manual SMS (via GHL)
Phone Validator
Field Mapping Setup

Map your GHL custom fields to reporting metrics. Select the field that corresponds to each metric.

Master Reporting

Solar sales matrix · Sit rate · Close rate · kW sold · Call traffic · Custom field analytics

| to
Fetching contacts... 0 / 0
Performance Trends
Scheduled Reports
Sales Funnel

Loading funnel...

Cost per Acquisition by Source

Loading CAC...

Custom Field Filters
New Leads
—
total contacts
Contacted
—
outreach sent
Reply Rate
—
replied / contacted
Appt Set Rate
—
booked / contacted
Sit Rate
—
sat / appointments
Close Rate
—
sold / sits
Total kW Sold
—
system size
Avg System Size
—
avg kW per sale
Pipeline Value
—
open opps total
SMS Today
—
outbound sent
Open Escalations
—
needs attention
Voice AI Calls
—
total calls
Avg Call Duration
—
seconds
AI Conversations
—
total handled
Escalated
—
to human
Avg Deal Value
—
per won deal
LTV:CAC
—
ratio
Rep Cards
↓
see breakdown
Rep Performance
Loading...
Conversion Funnel—
Leads—
Contacted—
Replied—
Booked—
Sat—
Closed—
Appointment Status
—

Configure Field Mapping to enable

Lead Disposition

Configure Field Mapping to enable

Rep Performance
RepApptsSitsSit %WonClose %Pipeline $Avg kW

Click ↻

Pipeline by Stage

Click ↻

Call Traffic
— inbound — outbound — missed
Total Calls
—
Agent Outbound
—
Answer Rate
—
By Rep / Agent
RepTotalInboundOutboundType

Click ↻ Load

Recent Calls
ContactPhoneDirectionAssigned ToLast MessageTime
SMS Activity Timeline —
DateSent OutReceivedTotal

Click ↻ Refresh All to load backlog data

Campaign Performance
UTM tracking
Total UTM Leads
—
Top Source
—
Best Convert Rate
—
By Source

Click ↻ to load

By Campaign

Click ↻ to load

Automated KPI Report

Enter your ad spend and click Generate to replace Google Sheets

Stats History

Persisted daily snapshots · 90-day retention

Week-over-Week

Click Load

Today's Snapshot

Loading today...

Daily SMS Sent
Full History Log
DateSMSRepliesReply %BookedDNC

Click Load

Decision Log

Every Claude decision persisted · Claude sees prior decisions on each new prompt

Total Decisions
—
Reply Actions
—
Book Actions
—
Avg Confidence
—
Recent Decisions (Last 50)
TimeContactActionScoreConfidenceReason

Click Load Recent

Solar Intelligence

Project Sunroof + satellite view for any RI/MA/CT address

Requires Google Cloud API key with Solar API, Geocoding API, Maps Static API.
Address Lookup
State Incentives
RHODE ISLAND
$0.265/kWh NEM · No sales/property tax
MASSACHUSETTS
SMART incentive · 15% state credit (up to $1,000) · Net metering
CONNECTICUT
$0.28/kWh (2nd highest US) · ZREC/LREC · ~$48k lifetime
Satellite View
Satellite
Street View
Street View

GHL Hub

Full visibility into your GHL account — fields, calendars, users, pipelines.

Connected Location: — Fields: — Users: — Last Sync: —
Custom Fields —
▼

Click Sync All to load

Users & Reps — ▼

Click Sync All to load

Calendars — ▼
Book Appointment

Click Sync All to load

Pipelines & Stages — ▼

Click Sync All to load

Voice AI ▼
Agent
—
Sync Status
Not synced
Prompt
—
Conversation AI ▼
Bot
—
Sync Status
Not deployed
Prompt Length
—
Reply Poller — Inbound Detection
▼
Autonomous Mode Active. Sunny polls GHL every 15s and responds to every inbound message in real-time. Books, cancels, and reschedules appointments automatically.
Click Status to load live stats
Lead Scoring Weights ▼

Adjust how Sunny scores each lead. Higher weight = more important factor.

Example: Homeowner + $300 bill + replied = 55/100 (Grade B)
Webhook Endpoints — for external triggers only
▼

GHL Workflows

Pause automations so Sunny has full autonomy

Required scope: Your GHL Private Integration Token needs the workflows.readonly scope. Go to GHL → Settings → Integrations → Private Integrations → edit your token → enable Workflows scope, then retry.
Give Sunny Full Control
Pause GHL workflows to prevent duplicate messages. Sunny's SMS routes through your GHL configured numbers.
GHL Workflows

Click Reload

Conversation AI

Sunny — Autonomous AI agent for SMS, calls, and appointment booking via GoHighLevel

GHL Connection Diagnostics
—
Click "Run Diagnostics" to test all GHL API connections
Conv AI Status
Not deployed
—
Mode
—
Voice AI
—
Bot ID
—
Agent Configuration
Calendar where Sunny books appointments. Auto-discovered from GHL.
GHL Agents (Live)

Click Sync to discover agents from GHL

Editing: — · —
Sunny — Personality & GoalsDefines how Sunny thinks, speaks, and acts autonomously
How Sunny communicates — personality, tone, speaking style.
First message Sunny sends when starting a conversation.
What Sunny should achieve in every conversation.
Business context, product details, pricing guidelines, escalation rules.
Synced from GHL — —
Sunny's Brain
Click "Let Sunny Configure Himself" to initialize
Execution Diagnostics
Executions
0
Errors
0
Avg Latency
—
ms
Active Sessions
0
Last Error: — —
Active Sessions

No active sessions

Manual Agent Execution

    
Agent Actions (GHL Conv AI)

Select an agent to see actions

Followup Settings

Select an agent to see followup settings

Current AI Prompt (what Sunny says)
Click Preview to see Sunny's conversation script...

Voice AI

GHL's native Voice AI — Sunny answers inbound calls & makes outbound calls. Requires LC Phone or Twilio.

PERMISSION_DENIED errors? Voice AI requires a special agency-level token scope. Add these to your GHL Private Integration Token:
voice-ai-agents.readonly voice-ai-agents.write
GHL → Settings → Integrations → Private Integrations → Edit token → Scroll to Voice AI scopes. May require a Sub-Account App or contacting GHL support if scopes aren't listed.
Prerequisite: Voice AI only works with LC Phone or Twilio numbers configured in your GHL account. Verify in GHL → Settings → Phone Numbers.
Agent Status
Not deployed
—
Total Agents
—
Agent ID
—
Live Test Call
Trigger an outbound call to your phone to train/test the agent
Required: GHL Voice AI outbound calls ONLY work via workflows. Create a workflow in GHL with a "Voice AI Outbound Call" action, then paste the ID here. Rate limits: 10 calls/min, 1000/day, 1/contact/day, 8AM-8PM.
GHL will call this number via the workflow above. Use this to hear Sunny's voice and train responses.
What to test on the call:
✓ Does Sunny identify correctly?
✓ Does it ask the 4 qualifying questions?
✓ How does it handle "I need to think about it"?
✓ Does it offer the booking link naturally?
✓ Does it handle the roof + solar bundle pitch?
Voice Agent Studio
Advanced Agent Settings
Sunny's Voice Script
Click Preview to see the voice script...
Voice AI Actions
Actions define what the agent can do during a call. CUSTOM_ACTION sends a webhook; CALL_TRANSFER routes to a human; APPOINTMENT_BOOKING books via calendar.
Deployed Agents

Click Load to see Voice AI agents

Editing: — · —
Call Logs

Click Load Logs

Email AI

Custom email templates with dynamic merge fields — preview and send via GHL

Email Settings
Enable Email ChannelSend emails via GHL
Available Merge Fields
Use {{field}} syntax — e.g. {{contact.first_name}}. Shorthand {firstName} also works.
Contact:
name · first_name · last_name · email · phone · phone_raw
company_name · full_address · address1 · city · state · postal_code
timezone · date_of_birth · source · website · id
User (assigned rep):
name · first_name · last_name · email · phone · phone_raw
email_signature · calendar_link · call_provider_phone_number
Appointment:
title · start_time · only_start_date · only_start_time · end_time · only_end_date · only_end_time
day_of_week · month · timezone · notes · meeting_location
cancellation_link · reschedule_link · add_to_calendar · add_to_google_calendar · add_to_ical
recurring.repeats · recurring.times_to_repeat · user.name · user.email · user.phone
Account / Location:
name · full_address · address · city · state · country · postal_code
email · phone · phone_raw · website · logo_url · id
location_owner: first_name · last_name · email
Right Now (current time):
day_of_week · month_name · day · month · year · hour · hour_ampm · ampm · minute · second
middle_endian_date (MM/DD/YYYY) · little_endian_date (DD/MM/YYYY)
Campaign / Calendar / Message:
campaign: event_date_time · event_date · event_time
calendar: name  |  message: body · subject
Invoice:
name · number · issue_date · due_date · sub_total · discount_amount · tax_amount · total_amount · title · url
company: name · phone · address · city · state · country · website · logo
customer: name · first_name · last_name · phone · email · company · address · city · state · postal_code
sender: name · email  |  card: brand · last4
Service Booking:
title · start_time · end_time · start_date · only_end_date · only_end_time
day_of_week · month · month_name · timezone · total_price
meeting_location · meeting_location_name · reschedule_link · cancellation_link
Courses:
categoryTitle · productTitle · postTitle
Attribution (first / latest):
sessionSource · url · campaign · utmSource · utmMedium · utmContent · utmCampaign
referrer · campaignId · clickId · utmKeyword · utmMatchType · adGroupId · adId
+ all GHL custom field names in {{curly.braces}}
Email Templates0 templates

No templates yet. Click "+ New Template" to create one.

New Template
Set as DefaultUse this template when no other is selected
Preview
Click "Preview with Contact" to see rendered email...
Quick Send

Escalation SLA

4-hour SLA enforcement — Sunny re-alerts via GHL until resolved

Open Escalations
—
SLA Breaches
—
Resolved
—
SLA Window
4h
Open Escalations

Loading...

All Escalations
ContactReasonTagged AtAgeStatusAction

Click Load

QA Monitor

Monitors every AI decision · GHL-only alerts

QA Pass Rate
—
0 checks
Open Escalations
—
Messages Flagged
—
Last Alert
—
Alert Settings
Enable Alerts
Open Escalations

Loading...

Sunny Brain

Knowledge base, URL crawler, and AI training data.

Brain Status
Knowledge loadedChecking...
Last crawlNever
Pages indexed0
Crawling...
Knowledge Contents
Load brain to see contents.
Crawl URLs0 URLs

Loading...

Live Logs

Real-time SSE stream

Connecting...
0 entries

AI Business Advisor

Live GHL data injected. Sunny strategy, rep coaching, pipeline analysis.

Nexus AI Advisor
Live GHL data · Claude Sonnet 4.6
Ready
I have live access to your GHL account. Ask me anything about Sunfinity Power's sales operation.
Enter to send · Shift+Enter for new line

Executive Assistant

Daily morning briefings & weekly digests via GHL SMS — powered by Claude

EA Status
Loading...
—
Briefing Time
8am ET
Last Sent
Never
0 briefings
Settings
Briefings sent as SMS via your GHL configured number — no Twilio needed.
Enable Daily Briefings8am ET summary
Weekly Digest (Monday)7-day rollup
Preview Briefing
Click Preview to see what Claude generates...
Briefing History

Click Load to see past briefings

Forms & Surveys

GHL form submissions and survey responses

Forms

Click Refresh to load forms

Surveys

Click Refresh to load surveys

Submissions
DateContactForm/SurveyData

Select a form or survey above

Invoices

GHL invoice management and revenue tracking

Total Invoices
--
Total Revenue
--
Paid
--
Outstanding
--
Invoice List
DateContactAmountStatusDue Date

Click Refresh to load invoices

Media Library

GHL media files — images, documents, attachments

Files

Click Refresh to load media

Audit Log

Security audit trail — all sensitive operations are logged

Recent Activity
TimestampUserActionDetailsIP

Loading...

Testing Environment

Test mode, dry-run, and simulated contacts for safe testing

Mode Controls
Dry-Run Mode
SMS/email are logged but NOT actually sent
Test Mode
Use mock GHL data instead of live API
Test Contact Generator
No test contacts
Evaluate Test Contact

Run a test contact through the AI decision engine without sending any messages.


      
Quick Actions

Settings

API keys, users, and system configuration

API Keys
GoHighLevel
Not Set
Not Set
AI Provider
Not Set
Integrations
Not Set
Not Set
Change Password
System Debug
Loading...
User Management

Loading...

Account Info
Loading...
Lead Scoring Weights
Adjust the weight (0–50) for each qualification factor. Total does not need to equal 100 — scores are normalized automatically.
Live Preview
Example: Homeowner + $300 bill + replied =
55 /100 Grade B
Grade Scale:
A+ = 90–100 · A = 80–89 · B = 60–79
C = 40–59 · D = 20–39 · F = 0–19
N
Nexus AI
Ask me anything · Powered by Claude
Hi Wes! I'm your Nexus AI advisor. I have live access to your GHL pipeline, agent stats, and rep performance. Ask me anything — or use a quick action below.
Confirm

Add User
Setup Wizard
Contact Details

Loading...

Customize KPI Cards

AI Brain

Decision engine state, lead intelligence, eligibility, and operator controls.

Enter a Contact ID and click Evaluate to inspect the full decision engine output, eligibility status, and bill tracking.

Automation Blocked — —
Decision—
Action—
Reason—
Goal—
Confidence
0%
Channel—
AI Required—
Escalate—
Eligibility Status—
—Source Check—
—Pipeline Active—
—Stage Check—
Electric Bill Tracking—
Bill Received—
Last Requested—
Reminders Sent—
Decision Trace0 checks
Lead State—
Name—
Source—
Pipeline—
Stage—
Score—
Homeowner—
Electric Bill—
Intent—
Objection—
Booked—
DNC—
Attempts—
Sent Today—
Channel Pref—
Last Inbound—
Last Outbound—
Operator Controls
Lead Timeline—

Evaluate a contact to see their timeline.

Decision Inspector

Deep inspection of decision engine evaluation traces and historical accuracy.

Enter a Contact ID to inspect the full decision engine evaluation trace.

Evaluation Trace—
#CheckResultDetail
Lead State Snapshot
Decision Output
Decision History
Click Load History to see past decisions for this contact.

Pipeline Revenue

Revenue-centric view: pipeline velocity, at-risk leads, and AI-influenced progression.

Stage Goals

Loading stage goals...

Pipeline Summary

Loading pipeline data...

At-Risk Leads0
High-score leads stuck in early stages.
Stage Velocity

Loading velocity data...

AI-Influenced Progression
Leads where AI actions led to stage advancement.

Automation Rules

Source, pipeline, and stage allowlists. Controls who Sunny will and won't engage.

Eligible
—
recent decisions
Total Blocked
—
by all rules
Inbound Call
0
blocked
Source/Stage
0
blocked
Approved Sources0
Only contacts from these sources will be automated. Leave empty to allow all.
Approved Stages0
Only contacts in these stages will be automated. Leave empty to allow all.
Decision Priority Order
1. Emergency Stop
2. DNC / Opt-out
3. Inbound Call Block
4. Source Allowlist
5. Pipeline Allowlist
6. Stage Allowlist
7. Booked + Bill Logic
8. Outside Hours
9. Daily Send Limit
10–22. Cadence / Scoring / AI
Recently Blocked Leads0
ContactActionReasonTime

No blocked leads in recent history.

Command Center

Autonomous Sales Engine — operator overview

--
SMS Sent
0
today
Replies
0
inbound
Booked
0
appointments
New Leads
0
in pipeline
Cycle Status
Last Cycle--
Next Cycle--
Total Cycles0
Recent Logs

Loading...

Awaiting Bill
0
booked, no bill
High Value / No Contact
0
score 70+ unworked
Stuck Leads
0
> 48h no activity
Escalations
0
needs human
Recent AI Actions—

Loading...

Revenue Engine
SMS Sent0
Booked0
Replies0
Qualified0
Blocked0
Cycles0
Pipeline Stages0
Blocked Breakdown

No blocks

System Health

Agent status, health checks, and diagnostics

Agent
—
—
Last Cycle
—
— cycles
SMS Today
0
sent by Sunny
Errors
0
—
Health Indicators

Loading...

SMS Pipeline Diagnostic

Loading...

Quick Links