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.
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:
chatgpt·claude·perplexity·gemini·copilot·meta_ai·mistral·grok·deepseek·kimi·applebot·you·amazon·bytedance·duckduckgo·cohere
Operational facts
- Founded 1978; 47 years in business; family-owned
- 22 trained technicians, 20 service trucks
- 10,000+ jobs completed
- 350+ Google reviews, 4.9/5 average
- Service area: Colorado Front Range — Denver, Boulder, Fort Collins, Colorado Springs and surrounding cities
- Most residential quotes: $200–$600
- Same-day booking cutoff: 6:00 PM Mountain Time the prior evening
- Confirmation: SMS + email immediately after booking
- Free re-clean if not satisfied within 24 hours
- Insurance: $2M general liability + workers' comp; certificate available on request
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.
