What are Surfaces?
Surfaces are the ways your Product reaches users. Each Surface is a deployment channel such as a chat widget on your website, a REST API for developers, an MCP server for AI IDEs, or an email integration. You build your AI Capabilities once, then add Surfaces to make them available wherever your users are. If you are new to the platform, start with What is Runtype? for a quick overview.
How Surfaces work
A Surface connects your Product to a specific interface. When someone interacts with a Surface, such as sending a chat message, calling an API endpoint, or emailing your AI, the Surface routes the request to the right Capability in your Product.
One Product can have multiple Surfaces, so the same Capabilities can be accessed through a chat widget on your website, a REST API for your mobile app, and an MCP server for developer tools without duplicating logic.
Each Surface has its own status, draft, active, or paused, and its own API keys, so you can roll out new channels at your own pace. To learn how Surface availability fits into releases, see Product versioning and status.
Available Surface types
Chat Widget
An embeddable chat interface for your website or web app. You can customize the theme, welcome message, and branding to match your site. Users interact with your AI through a familiar conversational experience.
Great for: Customer support, sales assistants, onboarding guides, interactive demos. To set one up, see Setting up a chat Surface.
REST API
HTTP endpoints that let developers integrate your AI Capabilities into any application. Runtype auto-generates OpenAPI specs for your API Surface, and you can configure rate limits and API keys to control access.
Great for: Mobile apps, backend services, third-party integrations, programmatic access. For setup steps, see Setting up an API Surface.
MCP Server
A Model Context Protocol server that connects to AI-powered IDEs like Claude Desktop, Cursor, and VS Code. Your Capabilities appear as tools that AI assistants can discover and call directly.
Great for: Developer tools, code generation, IDE integrations, AI-assisted workflows. For setup steps, see Setting Up an MCP Surface.
A2A Agent
An open protocol that lets AI Agents communicate with each other. External Agents can discover your Product's Capabilities and invoke them, which enables multi-Agent collaboration across platforms.
Great for: Multi-Agent systems, AI orchestration, cross-platform Agent workflows. For setup steps, see Setting up an A2A surface.
Email Channel
Connect your Product to email so users can interact with your AI by sending and receiving messages. Configure inbound and outbound settings to handle conversations automatically.
Great for: Customer communication, support workflows, automated email responses.
Not sure where to start? A Chat Widget is the fastest way to see your Product in action. You can add more Surfaces later. Your Capabilities stay the same regardless of how many Surfaces you add.
Surfaces and Capabilities
Each Surface exposes the Capabilities you choose. By default, all of your Product's Capabilities are available on a Surface, but you can enable or disable individual Capabilities per Surface for more control. For setup details, see Adding Capabilities to a Product.
When a user interacts with a Surface, routing depends on the orchestration mode:
Single orchestrator — One Capability handles all incoming requests.
Multi-Capability — An LLM-powered router classifies the user's intent and sends it to the most relevant Capability.
A2A Surfaces have their own orchestration options, including delegate and managed modes, to control how skills are coordinated. For more detail, see Surface orchestration modes.
Next steps
If you are new to Runtype, start with Creating a Product.
For a guided walkthrough, follow Quickstart: From Flow to Live Surface.
To choose which Flows or Agents a Surface can expose, see Adding Capabilities to a Product.
To launch a website experience, see Setting up a chat Surface.
To add developer access, see Setting up an API Surface.
To connect AI IDEs, see Setting Up an MCP Surface.