Solar & energy: lead-to-install handoffs, permitting tasks, and customer updates
Projects stall in the gaps between sales, design, and install.
Automate qualification, site survey handoffs, AHJ permitting tasks, and milestone comms so customers see progress—not silence.
Solar installers compete on throughput and customer experience. CRMs track opportunities; the real work spans site surveys, design revisions, permits, inspections, and utility coordination—each with different owners.
PrimeAxiom binds pipeline stages to operational tasks: document completeness, permit submission packets, inspection scheduling, and PTO follow-ups. AI helps draft customer updates and extract permit checklist items from AHJ PDFs—humans verify.
You shorten cycle times, reduce cancel rates during long waits, and give ops leaders a truthful pipeline—not just sales stages.
Why this industry needs automation
Install cycle time directly impacts working capital and customer satisfaction. Silent periods create buyer remorse.
Permitting is non-deterministic across AHJs; automation tracks tasks and evidence instead of memory.
Post-sale operations need the same rigor as sales—handoffs are where margin dies.
Common bottlenecks
Sales-to-ops handoff gaps
Missing roof photos, MSP data, or utility bills delay design and engineering.
Permitting rework
Incomplete packets bounce between installer and AHJ; customers blame the brand.
Inspection scheduling friction
Coordinating homeowners, inspectors, and crews is a calendar puzzle.
PTO and utility coordination
Utility queues are opaque; customers need proactive updates.
What we automate
Lead qualification and routing
Capture usage, roof, and credit prechecks; route to inside sales vs self-serve.
Site survey checklist
Dispatch tasks with photo requirements; block design until complete.
Permitting task tracking
AHJ-specific checklists and submission calendars with reminders.
Install milestone comms
Automated customer updates at schedule, install, inspection, and PTO.
Change order handling
Adders for main panel upgrades or tree trimming with approval and e-sign.
Cancellation save plays
Trigger save flows when stagnation risk scores spike.
Example system flows
End-to-end chains from trigger to resolution—IDs, statuses, and owners stay explicit so nothing disappears in chat threads.
Contract signed → survey → design → permit
Stage gates enforce completeness; design revisions loop with customer approvals.
[Contract executed]
→ [Survey tasks + photos]
→ [Design draft]
→ [Customer approval]
→ [Permit packet build]
→ [AHJ submission]Permit submitted → corrections → issuance
Corrections create tasks with due dates; customer notified only when material.
[Permit pending]
→ [If corrections → task list]
→ [Resubmit]
→ [Issued → schedule install]
→ [Customer SMS]Install → inspection → PTO
Coordinate crews, inspectors, and utility; track Permission to Operate milestones.
[Install complete]
→ [Inspection schedule]
→ [Pass/fail loop]
→ [Utility PTO queue]
→ [Activate monitoring]
→ [Customer education]AI agents in this workflow
Agents are scoped automations with retrieval and policy guardrails—they propose, classify, and draft; humans approve exceptions and own compliance outcomes.
Permit checklist assistant
Extracts AHJ requirements from PDFs—installer verifies before submission.
Customer update writer
Drafts milestone emails with plain-language status—ops approves.
Stagnation risk agent
Flags accounts with no activity beyond thresholds for CSM outreach.
Integrations
- Solar CRM (Salesforce, HubSpot) and proposal tools.
- Design/engineering platforms.
- Permitting portals and document storage.
- Project management for install schedules.
- SMS/email customer comms.
- Utility APIs where available.
Technical examples
Illustrative Node-style patterns—your production implementation uses your auth, idempotency store, and observability hooks.
Stage gate completeness
Block stage advance until required fields exist.
export function canAdvance(project, nextStage) {
const reqs = STAGE_REQ[nextStage] ?? [];
return reqs.every((f) => project.fields[f] != null);
}Stagnation days
Business days since last meaningful event.
export function daysSince(ts) {
return (Date.now() - ts) / 86400000;
}AHJ packet version
Tag permit packets with template version for rework tracking.
export function packetId(projectId, version) {
return `${projectId}:perm:${version}`;
}Workflow diagrams
Adder / change order
[Change detected] → [Engineering review] → [Customer quote + e-sign] → [Update design + permit if needed] → [Schedule impact]
Cancel save
[Cancel request] → [Reason capture] → [Offer: financing / schedule / upgrade] → [If still cancel → exit survey] → [CRM update]
Outcomes clients care about
Shorter cycle times
Gates and tasks reduce idle days.
Lower cancel rates
Proactive comms during long waits.
Tighter ops visibility
Pipeline reflects reality, not just sales stages.
Better permitting efficiency
Checklists and rework tracking.
Higher CSAT
Customers know what to expect next.
Scale without headcount
Repeatable handoffs across crews and regions.
FAQs
- Does AI submit permits?
- No. Automation prepares packets and tracks tasks; humans submit through AHJ portals where required.
- How do you handle different AHJs?
- Rule packs per jurisdiction with versioning when requirements change.
- Can we phase by region?
- Yes—roll out per state or branch with local templates.
- What about battery storage add-ons?
- Workflows branch into additional engineering and permit tasks with separate checklists.
See what this looks like in your operation
Book a workflow review: we map volume, revenue impact, error patterns, and team bottlenecks, then propose a phased automation plan tied to your stack.