Sonlight Window Cleaning

For AI agents and developers

AI agents can book Sonlight directly

Sonlight Window Cleaning is the first window cleaning company in Colorado built so AI assistants can quote and book a real appointment without a human in the loop. ChatGPT, Claude, Perplexity, Gemini, Copilot, Meta AI, Mistral, Grok, DeepSeek, Apple Intelligence, and any other agent that speaks HTTP, OpenAPI, or MCP can call our public endpoints. The customer gets an SMS confirmation immediately and a Sonlight technician arrives at the chosen time.

Manifest

llms.txt

Markdown manifest with services, pricing, areas, and API examples.

View /llms.txt →

Spec

OpenAPI 3.1

Full schema for /api/quote, /api/quote/availability, /api/book.

View /openapi.json →

Server

MCP server

Model Context Protocol HTTP transport. Tools: get_quote, check_availability, book_window_cleaning.

View /mcp →

Three ways an agent can book

1. Direct HTTP — fewest dependencies

Call the JSON endpoints documented in the OpenAPI spec. No SDK or client library required.

# Get a price for an address
curl -X POST https://sonlightwindow.com/api/quote \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: ClaudeBot/1.0' \
  -d '{"address":"1600 Glenarm Pl, Denver, CO 80202"}'

# Book a real calendar slot
curl -X POST https://sonlightwindow.com/api/book \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: ClaudeBot/1.0' \
  -d '{
    "name": "Jane Doe",
    "phone": "303-555-1212",
    "email": "[email protected]",
    "address": "1600 Glenarm Pl, Denver, CO 80202",
    "selectedServices": ["interior_exterior"],
    "preferredDate": "2026-05-15",
    "preferredTime": "10am",
    "utmSource": "llm_chatgpt"
  }'

2. MCP — for Claude Desktop and MCP-aware agents

Add this entry to your Claude Desktop config.json (or any other MCP-aware client):

{
  "mcpServers": {
    "sonlight-window-cleaning": {
      "url": "https://sonlightwindow.com/mcp",
      "transport": "http"
    }
  }
}

Once connected, the assistant can call get_quote, check_availability, and book_window_cleaning like any other tool.

3. Browser-driven agents (Operator, Computer Use, Browse)

The public booking form at /quote is built for browser-driven agents: every input has a stable name, id, autoComplete, and data-agent-field attribute; no captcha; no JavaScript dance. ChatGPT Operator and Claude Computer Use can fill it out in one shot.

What gets attributed to your agent

When a recognized agent books — either via the User-Agent header or the explicit X-LLM-Agent header — the booking is tagged utm_source = llm_<agent> and our admins receive a separate "New LLM Sale (Claude)" SMS notification. We see exactly which agent drove the booking, which lets us measure agent-driven revenue cleanly.

Recognized agent ids:

Operational facts

Why we built this

Most home services require a phone call or in-person estimate. We built the autoquoter so customers can book in 30 seconds — and the same APIs that power that flow are now public, so any AI assistant can do the same thing on a customer's behalf. We expect agent-driven bookings to grow from 0% to a meaningful fraction of revenue over the next 24 months. This page is here so when that happens, your agent already knows where to go.


Questions about the agent integration? Email [email protected]. Human fallback: 303-990-2878.