# iraa.ai > DemoAgent by iraa.ai: AI-powered interactive product demo platform. Deploy an AI agent that gives every website visitor a live, personalized product demo — no scheduling, no pre-recorded tours. DemoAgent lets SaaS companies embed a conversational AI widget on their website that navigates the actual product in a live iframe, answers questions, and captures leads. It uses a multi-agent architecture (Router, Demo, Q&A, Discovery, Docs) powered by Claude to deliver intelligent, context-aware demos. ## Docs - [Widget Integration](https://iraa.ai/docs/widget): Embed the DemoAgent chat widget on any website with a single script tag or React/Next.js component - [REST API Reference](https://iraa.ai/docs/api): Session management, PDP upload, authentication, analytics, and discovery endpoints - [PDP Schema](https://iraa.ai/docs/pdp): Product Discovery Protocol — the YAML spec that defines your product's screens, flows, and demo behavior - [WebSocket API](https://iraa.ai/docs/websocket): Real-time bidirectional chat protocol for live demo sessions ## Quick Start 1. Sign up at https://app.iraa.ai and get your API key (`pk_live_...`) 2. Define your product with a PDP YAML file (or use auto-discovery) 3. Add the widget to your site: ```html ``` Or initialize programmatically: ```js DemoAgent.init({ apiKey: 'pk_live_YOUR_KEY', theme: 'auto', // 'light' | 'dark' | 'auto' position: 'bottom-right' // 'bottom-right' | 'bottom-left' }); ``` ## API Base URL `https://api.iraa.ai` ## Authentication - **Public keys** (`pk_live_*`, `pk_test_*`): Used in client-side widget code. Domain-restricted. - **Secret keys** (`sk_live_*`, `sk_test_*`): Used in server-side code for admin operations (PDP upload, analytics). - Pass via `Authorization: Bearer ` header. ## Key Concepts - **PDP (Product Discovery Protocol)**: A YAML file that describes your product's screens, UI elements, demo flows, FAQ knowledge, and agent configuration. This is the single source of truth for how DemoAgent interacts with your product. - **Sessions**: Each visitor gets a unique demo session with its own conversation history, agent state, and lead capture flow. - **Flows**: Scripted step-by-step product walkthroughs (navigate, click, type, highlight) that the AI agent can execute. - **Multi-Agent System**: Router agent classifies visitor intent and delegates to specialized agents (Demo, Q&A, Discovery, Docs). ## Agent-to-Agent Integration DemoAgent is designed to be invoked by other AI agents. Three integration paths: ### MCP Server (for Claude-based agents) Install via npm: `npx @iraaai/mcp-server` Or add to Claude Desktop config: ```json { "mcpServers": { "demoagent": { "command": "npx", "args": ["@iraaai/mcp-server"], "env": { "IRAAAI_API_KEY": "sk_live_YOUR_KEY" } } } } ``` Tools: start_demo_session, send_demo_message, capture_lead, create_demo_link, run_headless_demo, list_available_demos ### Partner API (for any HTTP-capable agent) - `POST /api/v1/partner/demo-link` — Generate pre-seeded demo URLs with visitor context - `POST /api/v1/partner/headless` — Run a full demo conversation programmatically (no UI) - `POST /api/v1/partner/embed` — Get iframe embed snippet ### Discovery Endpoints - `GET /.well-known/agent.json` — A2A Agent Card - `GET /.well-known/ai-plugin.json` — OpenAI plugin manifest - `GET /.well-known/openapi.json` — Full OpenAPI 3.1 spec ## npm Packages - `@iraaai/sdk` — Headless TypeScript SDK for programmatic demo sessions - `@iraaai/mcp-server` — MCP server for Claude Desktop and MCP-compatible agents - `@iraaai/widget` — Embeddable chat widget (Web Component) - `@iraaai/core` — Orchestrator, iframe control, and automation engine - `@iraaai/pdp-schema` — PDP YAML validation and parsing ## Optional - [Full Documentation](https://iraa.ai/llms-full.txt): Complete API reference, PDP schema spec, and integration examples