Tenant demo checklist — JSGlobtech as live tenant
Companion to `./demo-framework.md`. Use this when the goal is to show a prospect that **jsglobtech.com is the multi-tenant lead engine** and **JSGlobtech is tenant zero**.
Tenant demo checklist — JSGlobtech as live tenant
Companion to ./demo-framework.md. Use this when the goal is to show a prospect that jsglobtech.com is the multi-tenant lead engine and JSGlobtech is tenant zero.
Verified live probe on 2026-07-31: POST https://www.jsglobtech.com/api/leads/submit with client_id: "jsglobtech" returned ok: true and a jsg-… lead_id. Use www — apex redirects with 308.
Narrative for the room (30 seconds)
"This platform is multi-tenant. Each client gets an ID and their own CRM webhook. JSGlobtech itself runs as a tenant on the same system we're proposing for you — so when ChatGPT captures a lead for us, it lands in our Sheet tagged
jsglobtech. For you, we'd add your ID and point it at your Sheet or WhatsApp/CRM."
Do not imply separate per-tenant MCP servers unless you are quoting custom Tier 3 work. Today: one MCP + client_id routing.
Settings required before the call
A. Production delivery (blocker if missing)
| Setting | Where | Purpose |
|---|---|---|
CRM_WEBHOOK_URL |
Vercel project env (Production) | Default tenant webhook → your Google Apps Script → Sheet |
Optional CLIENT_WEBHOOK_JSGLOBTECH |
Same | Explicit map for client_id=jsglobtech (falls back to CRM_WEBHOOK_URL if unset) |
Optional CLIENT_WEBHOOK_MAP |
Same | JSON {"jsglobtech":"https://…","prospect_demo":"https://…"} |
Local .env.local only helps local demos. Client calls need Production env. Variable names only in this repo — never commit values.
B. Google Sheet receiver
- Sheet + Apps Script from
scripts/google-apps-script/(includesclient_idcolumn). - Deploy Web App: Execute as Me, access Anyone.
- After updating
Code.gs, create a New version of the deployment. - If old rows misalign after adding
client_id, clear theLeadstab (or delete it) and send one test lead.
C. Agent host (pick one path and pre-connect)
| Path | Setup | Demo prompt |
|---|---|---|
| ChatGPT Actions / Custom GPT | Import https://www.jsglobtech.com/docs/openapi.json |
"Request a geo AI integration consult from JSGlobtech. My name is Demo Client, email demo@example.com, budget not sure yet." |
| MCP client (Cursor, Claude Desktop, etc.) | Point at https://www.jsglobtech.com/api/mcp/sse |
Same intent; tool name request_dev_consultation |
| curl fallback (always works if agent UI fails) | Terminal | See command below |
Pass client_id: "jsglobtech" (body or X-Client-ID header) so the Sheet column proves tenancy on screen.
D. Day-of rehearsal
- Citation query rehearsed on ChatGPT / Perplexity (fallback screenshot ready)
- Agent host connected and tool call tested once
- Sheet open, filtered or sorted so new rows are obvious
- Demo name convention:
Demo Client — YYYY-MM-DD(delete after) - Confirm Production webhook: a probe lead appears in the Sheet (not only
ok: truein JSON — local-log mode also returns 200)
curl proof (safe fallback mid-demo)
curl -sS -X POST https://www.jsglobtech.com/api/leads/submit \
-H "Content-Type: application/json" \
-H "X-Client-ID: jsglobtech" \
-d '{
"client_id": "jsglobtech",
"client_name": "Demo Client — 2026-07-31",
"client_email_or_phone": "demo@example.com",
"project_type": "geo_ai_integration",
"budget_range_usd": "Not sure yet",
"requirements_notes": "Live client demo — delete this row"
}'
Expect: "ok":true, "client_id":"jsglobtech", "lead_id":"jsg-…". Refresh the Sheet.
Showing "your business would be the next tenant"
After the JSGlobtech row lands:
- Explain: "Your leads would use
client_id: your_brandand a webhook only you control." - Optionally (if pre-provisioned): second curl with
X-Client-ID: prospect_demointo a separate Sheet so they see isolation. - Scope honestly: GEO files on their domain + MCP tools shaped to their actions (consult / booking / inventory) are engagement work — see
../strategy/target-markets.mdand pricing ADR-0005.
Security honesty (if they ask)
Public multi-tenant routing is good for demos; for paying tenants harden first (../operations/production-security-audit.md): real API keys, Apps Script shared secret, MCP rate limits. Do not claim "enterprise multi-tenant SaaS" until those are closed.
Related
./demo-mvp-scope.md— required MVP scope for client pitches (citation + Sheet lead)../operations/product-launch-checklist.md— master GEO + launch + demo gate tracker../architecture/system-overview.md— product mental model./demo-framework.md— two-step GEO + MCP script../integrations/lead-capture.md— routing and env resolution../operations/client-engagement-sop.md— full sales loop