The operating platform for the trades
From first click to collected cash. One record.
ServiceLine runs the entire revenue chain for service contractors: attribution, conversations, route-optimized booking, dispatch, field execution, and finance. One operating record, one permission model, one audit trail, and a governed AI administrative employee working inside it all. Built by ServiceLine Pro. Delivered on Cloudflare's edge.
The product promise
One operating record, from the ad click to the deposit
An ad click, a search query, a call, a conversation, an appointment, an estimate, a job, an invoice, a payment, and an AI assignment all become connected facts. Every stage is immutable, identity-scored, consent-stamped, and reconciled. Walk the chain.
STAGE 01 // ACQUISITION
Google Ads click
IDENTIFIERS & FACTS
MATCH CONFIDENCE
0.97
EVIDENCE
Deterministic first, probabilistic flagged
Normalized phone, email, click IDs, session IDs, and call IDs resolve people and households. Every match records method, confidence, and evidence. Staff merge and unmerge with audit.
What disclosure was shown, and when
Each consent snapshot retains the disclosure text, channel, source, and timestamp, plus later opt-outs. The agent and automation engine query the ledger before every communication action.
Five distinct measures, labeled
Booked estimate value, invoice value, collected cash, refunded cash, and recognized revenue are different numbers. The dashboard says which one you are looking at, and reconciles each against the vendor.
Go deep on Version 1: attribution and marketing intelligence →
The commercial sequence
Five versions. One domain kernel.
Each version adds a real operating capability while strengthening the same customer and company record. No forked data model, no bolted-on module, no second system of record.
Revenue-grade attribution and marketing intelligence
True tracking means the platform can trace a paid invoice back to the lead and touchpoints that produced it, explain the match, show missing data, and upload eligible conversion value to the ad platform. A dashboard displaying vendor totals does not meet that promise. ServiceLine ships the ledger.
- Attribution ledger with first-touch, last non-direct, and multi-touch models as separate outputs
- Dynamic number insertion with immutable session-to-number-to-call mapping and pool health
- Offline and enhanced conversion uploads with acceptance and rejection telemetry
- SEO operating layer: keyword research, rank tracking, local geo-grids, audits, AI visibility
- Data-quality failures exposed as product defects: dead numbers, duplicate leads, broken click IDs
-- one paid invoice, traced to source SELECT invoice.id, payment.collected, lead.source, touchpoint.gclid, identity.confidence, consent.snapshot FROM invoice JOIN payment ON payment.invoice_id JOIN job ON job.id = invoice.job_id JOIN lead ON lead.id = job.lead_id JOIN touchpoint ON touchpoint.id = lead.touchpoint_id JOIN identity ON identity.id = lead.identity_id JOIN consent ON consent.id = touchpoint.consent_id; → INV-8831 $1,284.00 google_ads conf 0.97 → conversion upload: ACCEPTED (gclid eligible)
Dual-provider communications, telephony, and route-aware booking
Sent.dm carries SMS, RCS, and WhatsApp. Twilio carries voice, call tracking, SIP, media, and telephone identity. One onboarding record fans out to both providers. Booking is operations research: a constraint solver scores every insertion candidate against drive time, overtime, lateness risk, route fragmentation, and capacity scarcity, and explains the result.
- RCS and WhatsApp as first-class channels: verified identity, cards, carousels, action buttons
- One conversation record across SMS, RCS, WhatsApp, email, webchat, calls, voicemail, and notes
- AI voice administrator with interruption, transfer, DTMF, and human handoff
- Timefold-class constraint solving: skills, territories, windows, parts, crews, locks
- Dispatcher board with explanations: why this technician, why this time, what changes if I move it
{
"slot": "Tue 10:00–12:00",
"technician": "M. Ortiz (gas license)",
"score": 91.2,
"breakdown": {
"incremental_drive_min": 14,
"overtime_min": 0,
"lateness_risk": 0.06,
"route_fragmentation": 0.11,
"capacity_scarcity": 0.22,
"preferred_technician": "match"
},
"explanation": "Ortiz finishes 9 min away.
Slot preserves the promised window and
holds emergency capacity for Branch 2."
}
The complete GoHighLevel replacement
Parity is measured against the exact workflows ServiceLine and its clients run: contacts, pipelines, calendars, forms, workflows, campaigns, numbers, templates, conversations, invoices. Migration Studio makes the move a product: inventory, map, dry run, import, reconcile, cutover, with rollback packages and signed evidence at every stage.
- CRM with households, properties, assets, custom objects, saved views, and duplicate control
- Workflow builder on versioned JSON, immutable after activation, executed on durable queues
- Campaign engine with segments as queries and consent, quiet-hours, and frequency policy
- Connected mailbox and calendar: Gmail and Microsoft 365 with backfill and repair
- Migration Studio later supports Jobber, ServiceTitan, JobNimbus, WordPress, and spreadsheets
# cutover rehearsal · client: titan-plumbing ✓ inventory 14,208 contacts · 6 pipelines · 41 workflows ✓ map 214 fields mapped · 3 rejected w/ owners ✓ dry-run counts match · 0 collisions · ETA 38m ✓ import idempotent · checkpointed · 0 duplicates ✓ reconcile source = target · 400 records sampled → cutover freeze 22:00 ET · delta 214 records ✓ evidence signed report + rollback package stored GHL cancellation window: OPEN
Hosted sites, CMS, and governed AI editing
Every client site runs on isolated edge workers with custom domains, versioned components, and full operational telemetry: build status, certificates, redirects, schema, Core Web Vitals, accessibility. The AI editor proposes structured mutations against the same component API humans use, with diff, preview, approval, and rollback on every change.
- Structured page model with component allow-lists, typed props, and design tokens
- AI changes recorded: prompt, context, model, plan, validation, preview URL, approval, rollback version
- Protected surfaces: legal text, tracking scripts, schema markup, conversion components
- Website ops: broken-link scans, image optimization, malware scanning, DNS and certificate health
- Static-first output engineered to rank: sub-second loads, SEO from line one
# proposed by AI editor · approval required component: HeroSection (homepage) - headline: "Quality HVAC service" + headline: "No-cool emergency? Same-day + dispatch across South Tampa." + add: EmergencyCallout (schema-verified) validation accessibility ✓ schema ✓ brand ✓ tracking call attribution preserved ✓ preview titan-preview.sl.site/v412 → awaiting approval · rollback → v411
ServiceTitan-class field service
The front office resolves the caller, household, assets, memberships, open estimates, and balances before the representative answers. The technician completes the day offline in a native app. The office produces an estimate, job, invoice, and payment that reconcile through the ledger. Trade packs make the core feel purpose-built for HVAC, plumbing, electrical, roofing, painting, and more.
- Good-better-best estimates with financing, deposits, signatures, and revision history
- Pricebook with effective dates, margin targets, member pricing, and governed publication
- Memberships that schedule real obligations and reserve real capacity
- Assets, warranties, inventory across warehouse and trucks, time and commission export
- Customer portal and multi-location/franchise hierarchy from day one of the domain model
# technician day · connectivity: airplane mode ✓ route received (cached at 06:12) ✓ WO-2214 opened · forms completed offline ✓ 14 photos queued (checksummed, resumable) ✓ signature captured (immutable) ✓ $1,284.00 Terminal payment queued → signal restored · 06:47 ✓ 41 commands synced · 0 conflicts ✓ attachments finalized · job costed LOST WORK: 0 RECORDS
Capability surface
Everything the trades run on, in one system
The revenue ledger
Identity resolution, consent provenance, dynamic number insertion, reconciliation, and reverse conversion upload. Marketing intelligence with local geo-grids and closed-loop SEO.
Attribution → Cross-cutting // AIThe governed AI administrative employee
Typed action registry, autonomy levels, durable assignments, approval previews, budgets, and an audit record on every action. It works across phone, SMS, email, booking, and invoices.
AI employee → V2 // CommsOne conversation record
SMS, RCS, WhatsApp, voice, email, and webchat under one timeline with a consent ledger enforcing every send.
V2/V5 // DispatchRoute-optimized dispatch
Constraint solving with explanations, dispatcher locks, and continuous reoptimization that respects promised windows.
Cross-cutting // FinanceMoney in, money out, ledger
Stripe Connect in, Ramp out, a double-entry operational subledger, and job profitability traced to source transactions.
V3 // Operating coreCRM, automation, campaigns, and Migration Studio
The GoHighLevel replacement measured against real workflows. Segments as queries. Workflows on durable execution. Migration with dry runs, reconciliation, and rollback.
CRM and automation → V5 // MobileNative offline field app
Encrypted local database, resumable attachments, signatures, Terminal payments. Tested against airplane mode and dead zones.
V4 // SitesHosted fleet, governed edits
Edge-hosted client sites with a structured visual editor and AI changes that pass schema, brand, and tracking checks.
Internal // TeamsCollaboration with a hard client boundary
Channels, huddles, meetings, and snapshots. Internal and client-visible conversations never share a record.
Platform // ExtensibilityAPI-first, fabric-connected
OpenAPI 3.1, Standard Webhooks, generated SDKs, an integration fabric, and MCP tools under the same permission vocabulary.
The AI administrative employee
AI-native has a definition here
The agent understands company context, chooses an allowed action, presents a preview when policy requires it, executes through a typed API, recovers from failure, and leaves a complete audit record. Every action carries a schema, an authorization decision, a risk class, an idempotency key, a compensation rule, and an evaluation case.
AUTONOMY LEVEL 01
Observe
Reads authorized context, summarizes, classifies, recommends.
AUTONOMY LEVEL 02
Suggest
Builds the proposed action and the preview. A human executes.
AUTONOMY LEVEL 03
Approve-by-policy
Executes low-risk actions when explicit tenant policy allows them.
AUTONOMY LEVEL 04
Autonomous task
Completes bounded multi-step work with budgets, deadlines, escalation.
TASK: ESTIMATE FOLLOW-UP
# every action records actor, reason, policy version, and result
Dispatch and routing
Operations research, with a human holding the lock
Route optimized means the selected slot minimizes a defined operational objective while satisfying hard constraints and preserving dispatcher control. Skills, licenses, territories, time windows, drive time, duration distributions, breaks, overtime, parts, crews, preferred technicians, promised windows, and emergency reserves all enter the solve. Nightly planning, same-day insertion, and event-driven repair keep the day honest.
- Hard constraints: gas license required, branch territory cells, crew size, bucket truck, locked appointments
- Weighted objectives: incremental drive minutes, overtime, lateness risk, route fragmentation, stability penalty
- Duration intelligence: P80 scheduling from learned distributions by service, technician, and asset
- Every recommendation answers "why this technician," "why this time," and "what changes if I move it"
TUESDAY // BRANCH 02 // 6 TECHS // 23 STOPS
TARGETS AND PLAN METRICS FROM THE JULY 2026 MASTER PLAN · FIELD NUMBERS FROM AGENCY OPERATIONS
Trade packs
Vertical-agnostic core, purpose-built feel
A trade pack carries the service taxonomy, qualification questions, default durations, skill rules, forms, pricebook and proposal templates, asset types, memberships, automations, and reporting benchmarks for your market.
The competitive field
What the incumbents leave out of the record
| Operating capability | ServiceLine | ServiceTitan | Jobber | Housecall Pro | GoHighLevel |
|---|---|---|---|---|---|
| Revenue traced to paid invoice with match confidence | ✓ Ledger | Lead tracking | Source field | Source field | Attribution lite |
| Constraint-solver scheduling with explanations | ✓ Full solve | Dispatch board | Calendar | Calendar | Calendar |
| Governed AI employee with typed actions and audit | ✓ Registry | Copilot | Receptionist | AI answers | Conversation AI |
| SEO and local geo-grid tied to booked revenue | ✓ Native | None | None | None | None |
| RCS and WhatsApp with consent enforcement | ✓ First-class | SMS-centric | SMS-centric | SMS-centric | Multi-channel |
| Double-entry operational subledger with job profit | ✓ Ledger | Reporting | Reporting | Reporting | None |
Engineering posture
Built like infrastructure, shipped like a product
A modular monolith around a durable domain kernel. TypeScript at the product surface, a Kotlin constraint solver, SQL and dbt as reporting truth. Postgres as the system of record with a portable driver story. Every state change writes its records and its outbox event in one transaction. Every audit entry is append-only and reproducible.
{
"event_type": "appointment.booked",
"workspace_id": "ws_titan",
"branch_id": "br_02",
"actor_type": "agent",
"actor_id": "ai-admin-01",
"correlation_id": "cor_9f2c",
"idempotency_key": "bk_8831_retry0",
"consent_snapshot_id": "consent_41a2",
"source_system": "serviceline"
}
// outbox-committed in the same transaction
// consumers stay idempotent by event_id
// failures land in a visible dead-letter workflow
Early access
Run your next quarter on the operating record
ServiceLine is being built in the open inside ServiceLine Pro's agency operations. Founding contractors shape the trade packs, the booking objectives, and the AI employee's authority. If you run a crew and keep a P&L, we want your hardest dispatch day.