Inspiration
Small service businesses lose valuable enquiries when calls are missed, follow-up is delayed, or customer details are scattered across disconnected tools. Recovering one lead can require several repetitive steps: identify the opportunity, understand the request, prepare a response, qualify the need, find availability, obtain approval, book the appointment, and update reporting.
Palm92 Lead Recovery OS explores a more useful open web where a person and an AI agent can complete that workflow together without surrendering human control.
What it does
Palm92 exposes seven structured browser-native WebMCP tools:
get_unrecovered_leadsget_lead_detailsprepare_follow_uprecover_leadfind_available_appointmentsprepare_appointmentget_recovery_summary
An agent can discover missed enquiries, inspect structured lead details, draft a follow-up, record an explicit fictional customer response, qualify the requirement, check appointment availability, and prepare an appointment.
The agent cannot complete the final booking. Palm92 pauses at a visible human approval checkpoint. Only the person can approve the final demonstration booking, after which the dashboard updates.
The governing principle is: AI investigates. Humans decide.
Why WebMCP
This workflow is a strong fit for WebMCP because it involves connected browser actions, structured business data, business context, and a consequential final decision. Instead of forcing an agent to infer controls from page layout, Palm92 makes safe capabilities explicitly discoverable through document.modelContext.registerTool.
The tools share the same in-browser state as the human-facing dashboard. Inputs use narrow JSON schemas and tool annotations describe their effects. This creates a coherent experience in which the agent handles investigation and preparation while the human retains authority.
Challenge-period work
Palm92 existed as a lead-recovery dashboard before the challenge. During the challenge period it was meaningfully extended with seven client-side JavaScript WebMCP tools, shared browser state, structured schemas, tool annotations, an agent-driven recovery sequence, automated checks, and a human-only approval boundary. The dated commit history and CHALLENGE_CHANGELOG.md distinguish this work from the earlier dashboard.
Demo result
The demonstration uses the fictional Daniel Reed kitchen-quote enquiry, valued at £2,400. After the approved recovery flow:
- Calls recovered increase from 61 to 62
- Appointments increase from 23 to 24
- Recovered pipeline value increases from £7,050 to £9,450
All customer names, telephone numbers, records, and values are fictional demonstration data. No real customer is contacted and no external calendar is booked.
How it was built
Palm92 is a browser-based JavaScript application hosted on ChatGPT Sites. WebMCP tools are registered client-side through document.modelContext.registerTool. The tool layer and interface use the same state, so agent actions remain visible and understandable to the person.
Codex supported implementation planning, WebMCP tool refinement, debugging, safety checks, automated testing, repository preparation, demo editing, and validation of the end-to-end workflow. ChatGPT was used to test agent discovery and execution through the in-app browser's Site tools.
How to test
- Open the live application in the latest ChatGPT desktop app using GPT-5.6 Sol or GPT-5.6 Terra.
- Select Site tools in the address bar and inspect the seven Palm92 tools.
- Ask the agent to find today's highest-value unrecovered lead and help recover it.
- Let the agent inspect the lead, prepare the follow-up, qualify the opportunity, check availability, and prepare the appointment.
- Confirm that the agent stops before booking and requests human approval.
- Approve using the visible Palm92 control.
- Confirm that the dashboard updates once to 62 recovered calls, 24 appointments, and £9,450 pipeline value.
No credentials are required.
Limitations and next steps
The current build uses fictional in-browser demonstration data and does not contact customers, update an external CRM, or book an external calendar. A production version would require secure identity, permissions, encrypted server-side integrations, consent controls, durable audit storage, monitoring, and configurable organisational policies.
Built With
- chatgpt
- chatgpt-sites
- codex
- css
- html
- javascript
- webmcp