Grounded support and live voice
Zipper Pilot
Zipper Pilot is Zipper’s embeddable support copilot and bot service: named bots (Research, Operations, Support) on a shared hall workspace, MCP and Zipper connectors, skills and routines, multi-bot delegation, and approval gates before external actions. It is better than PSTN because the booth is the product: page URL, selected text, citations, and the chat are on the agent’s desk before they pick — no phone number, no voicemail, tab callback if UDP is blocked. It is better than Intercom Fin because it answers only from your scrolls (site, OpenAPI, Zipper services) and records a knowledge gap instead of inventing policy. Cloudflare Workers AI composes on this node when configured. Voice is Starter+: WebRTC with STUN, optional TURN, HTTPS relay, agent-picked queue. Transcripts stay sealed on this process. Included on every Zipper plan.
Cloudflare analogue: Intercom Fin + Twilio Voice (skill map only)
What it is
Zipper Pilot is Zipper’s embeddable support copilot and bot service: named bots (Research, Operations, Support) on a shared hall workspace, MCP and Zipper connectors, skills and routines, multi-bot delegation, and approval gates before external actions. It is better than PSTN because the booth is the product: page URL, selected text, citations, and the chat are on the agent’s desk before they pick — no phone number, no voicemail, tab callback if UDP is blocked. It is better than Intercom Fin because it answers only from your scrolls (site, OpenAPI, Zipper services) and records a knowledge gap instead of inventing policy. Cloudflare Workers AI composes on this node when configured. Voice is Starter+: WebRTC with STUN, optional TURN, HTTPS relay, agent-picked queue. Transcripts stay sealed on this process.
Closest analogue: Intercom Fin + Twilio Voice (skill map only). SLA 99.9% · p99 90ms. Admins create halls and allowlists. Operators staff the desk and pick booths.
- ▸Fail-closed answers with citations — never a GPU guess
- ▸Pilot bots: named teammates, shared workspace, skills, routines, approvals
- ▸Tab callback with page, selection, and thread (not PSTN)
- ▸After-hours scrolls beat voicemail: agents read the page you were on
- ▸Agent copilot drafts from scrolls; resolved chats teach the hall
- ▸HTTPS relay when corporate UDP is blocked
How it works
Zipper Pilot is an embeddable support copilot and bot service. Dashboard → Zipper Pilot → Open a hall. Copy /chamberlain/v1/hall.js with your public hall key. Teach it URLs, a sitemap, OpenAPI, or pasted copy. It also seeds this workspace’s Zipper services.
Named bots (Research, Operations, Support) share one hall workspace — files, page fetches, MCP and Zipper connectors. Bot definitions, skills, routines, connectors, and workspace files persist to Postgres and survive Zipper restarts. Live tasks, approvals, and voice booths stay on this node. Visitors can say “bot, research …” for background tasks. Sensitive actions pause for operator approval.
Chat answers only from scrolls. Cloudflare Workers AI composes when configured; otherwise Pilot stitches scroll sentences on CPU. It will not invent policy. Say “talk to a human” to keep the thread for an agent.
Starter and above unlock voice booths: WebRTC with public STUN, optional TURN, and an HTTPS PCM relay when UDP is blocked. Waiting callers sit in a queue. An open agent picks which booth to answer — they already have the page, citations, and thread. After hours, visitors leave a scroll, not a PSTN voicemail. The copilot drafts from scrolls; resolved chats become new scrolls. This is not PSTN, not Intercom Fin, and not a GPU farm.
Use cases
Concrete ways teams use this service on day one.
Help visitors on a SaaS marketing site
A product site needs a bot that knows pricing, docs, and the API, plus a real voice path for paid customers.
- Open a hall and paste the site URL and /llms.txt.
- Drop hall.js before </body>.
- Staff the desk, go open, and pick waiting booths.
Queue inbound demos during a launch
Launch day floods the team. Bots answer FAQs; humans take the overflow calls they choose.
- Keep Free chat on the marketing domain.
- Upgrade to Starter for voice.
- Agents pick the hottest waiting booth instead of round-robin.
Set it up in the dashboard
Dashboard → Services → Zipper Pilot.
Open a hall. Copy the embed. Teach URLs.
Open the desk, set yourself open, pick a booth.
API
Control-plane: GET|POST /api/v1/chamberlain · GET /chamberlain/v1/hall.js · POST /api/v1/chamberlain/host/:host/chat · GET /live · POST /signal · /relay · POST /queue · POST /:id/pick. Send Authorization: Bearer tz_live_YOUR_TOKEN.
Creates count against the plan quota. A 402 plan_limit means you are at the cap — upgrade or delete an unused resource.
Embed the hall
<script src="https://tinyzipper.com/chamberlain/v1/hall.js" data-hall="ch_live_YOUR_KEY" async></script>
Create a hall
curl -sS -X POST https://tinyzipper.com/api/v1/chamberlain \
-H "Authorization: Bearer tz_live_YOUR_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name":"docs-hall","origins":["shop.example.com"]}'List the same resource in JavaScript
const res = await fetch("https://tinyzipper.com/api/v1/chamberlain", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.ZIPPER_TOKEN}`,
"Content-Type": "application/json"
}
});
const json = await res.json();
if (!res.ok) throw new Error(json.error ?? res.statusText);
console.log(json);Tips
The bot will not answer off-corpus. Teach it a URL instead of prompting harder.
Voice is Starter+. Free can still chat and hand off.
Visitor chats auto-assign across open agents. Voice booths still wait in order — the agent accepts. Going away moves chats to whoever is open.
The embed reads the host page (title, headings, JSON-LD) so answers match the site it sits on.
If corporate UDP is blocked, the HTTPS relay still carries audio on this node.
Better than PSTN: tab callback with page + thread. Better than Fin: refuse to guess. Better than a GPU farm: teach from resolved chats on this node.
- ▸Grounded corpus
- ▸WebRTC + HTTPS relay
- ▸Origin allowlist
Runbook
Open a Zipper Pilot hall. Brand the widget. Invite agents — they accept email and get their own desk. Copy hall.js. The embed reads the host page. Chats auto-assign to open agents; voice booths wait in order to accept and ring in the browser. After hours leave a scroll. HTTPS relay if UDP is blocked.
Next: Zipper Wire · All docs · Create a free account