Eight steps. No slides. Real product, real data (or synthetic via a public demo key). Built so a security leader can hand this URL to a peer and walk through it solo.
"Three weeks ago Anthropic shipped Claude as a single agent across M365. That commoditises AI inside one customer's tenant. What it doesn't address is the layer above — managing other people's tenants at scale. That's what TenantIQ does."
Refresh mid-talk. so the SSE narration paints stage by stage in the room.
Expect: CISO question: "Does this hit our tenant?" → A: "Public DNS + Microsoft's openid-configuration only. Read-only, no credentials."
~3m
2. Live agent feed — autonomous + safe
"Every autonomous action across this org's tenants in the last 24h. Append-only `agent_actions` table, JWT-scoped to the org. Sub-second push via a Cloudflare Durable Object."
Expect: Subtle: this URL is screenshot-shareable. CISOs forward it to peer CISOs.
~90s
6. External MCP — the composer
"This is the strategic move. We ship our own MCP server, but we're also an MCP client. Microsoft Graph MCP, GitHub MCP, Moody's MCP — TenantIQ's AI Agent calls them alongside ours. We don't compete with the MCP ecosystem; we orchestrate it."
Show. the form + the would-be tools list. Don't actually save anything.
Expect: "Where does the auth go?" → A: per-server Bearer, encrypted at rest, never returned in API responses (`hasBearer: bool` only).
~2m
7. Outside the dashboard — Claude Desktop
"Same data, the conversation surface your team already lives in. Two surfaces, one source of truth, role gating enforced server-side. No jailbreak in Claude config can grant write access."
Switch to. Claude Desktop with MCP server `tenantiq` configured + demo bearer `tiq_demo_visitor_2026`.
Type. "Show me the CIS posture for the Acme tenant" → Claude calls get_cis_posture, narrates the score.
Optional. "Run the onboarding template on Globex" → Claude pulls onboard_tenant prompt + calls apply_skill_template.
Expect: This is the close — they will ask "How do I get this for my org?" That is the cue for step 8.
~1m
8. The ask
"What I want: a 14-day pilot on three of your tenants, dry-run mode only. Zero Graph mutations. We populate /agents and /security/timewarp with real data. You decide if the autonomous narrative is what your team needs. If yes, you flip the per-tenant mode flag — per tenant, your call, reversible any time."
Show. the first table only — vs horizontal AI assistants. Every row a wedge.
Expect: Two questions to land: which 3 tenants, and which admin to invite first.
Anticipated questions
"What if your AI hallucinates a recipe?"
Recipes are source-pinned. Code, not data. Adding one is a PR. AI explains; deterministic code acts.
"How do I stop a runaway agent right now?"
Three layers. (1) Per-tenant autofix:mode KV flag — flip to dry-run instantly via API. (2) Daily cap of 5 enqueues per tenant per 24h, KV-enforced, can't be bypassed. (3) Source-pinned recipes — adding new ones requires a code commit.
"How do I get out?"
Account-deletion cascade — 33 tables, contract test in CI. GDPR Art. 17 + M365 Cert C7. Single API call.
"Pen test? SOC 2 Type II?"
Pen test targeting Q3 2026. SOC 2 Type II in flight, H2 2026 — honest about not done yet.
Stop juggling admin portals. Start controlling your tenants.