Capabilities
io.Assist is the ready-made assistant offering for teams that want to embed an assistant experience without rebuilding the surrounding UX from scratch. It ships for both Angular and React applications and packages the most common assistant requirements into one component-oriented integration.
Ready-Made Assistant Surface
io.Assist delivers a full assistant experience, not just a chat box.
The offering combines conversation UI, prompt flows, thread management, MCP interactions, and runtime user configuration in a way that lets teams ship quickly without downgrading the assistant experience.
Capability Areas at a Glance
Embedded assistant UI
Render a production-ready assistant with streaming text, markdown, code blocks, and thread history.
User-aware configuration
Separate static application setup from runtime user identity and per-user headers.
Prompt and tool workflows
Offer prompt libraries, tool traces, MCP tools, and richer task flows without building extra panels yourself.
Context-aware assistance
Add Working Context so the assistant can respond based on the current workflow, not just the current prompt.
Deliver a Complete Assistant Interface
The assistant component — <IoAssist /> in React or <io-assist> in Angular — covers the core experience that users expect from an embedded assistant:
| Experience area | What users get |
|---|---|
| Conversation UI | Streaming assistant responses with markdown and code formatting |
| Thread management | Resume, rename, and delete prior conversations |
| Prompt entry points | Start from curated prompts instead of a blank message box |
| Tool visibility | See assistant interactions that involve MCP tools |
This is especially valuable for teams that want to move quickly but do not want to ship something that feels like a demo.
Fit the Assistant into Real Login Flows
io.Assist splits configuration into two layers in both deliveries:
| Configuration layer | Purpose |
|---|---|
| Static config | io.Connect setup, agent server base URL, MCP configuration, Working Context factory, default prompts |
| Dynamic config | Current user identity and per-user headers such as authorization tokens |
That design makes the package practical for real applications where user identity is only known after login.
import { useMemo } from "react";
import { IoAssist, IoAssistDynamicConfig } from "@interopio/io-assist-react";
import { staticConfig } from "./configs";
interface Session {
userId: string;
userName?: string;
token: string;
}
export function AssistantShell({ session }: { session: Session }) {
const dynamicConfig = useMemo<IoAssistDynamicConfig>(() => ({
user: { id: session.userId, name: session.userName || undefined },
agentServer: {
headers: { Authorization: `Bearer ${session.token}` },
},
}), [session.userId, session.userName, session.token]);
return <IoAssist staticConfig={staticConfig} dynamicConfig={dynamicConfig} />;
}
import { computed } from "@angular/core";
import { IoAssistDynamicConfig } from "@interopio/io-assist-ng";
protected readonly dynamicConfig = computed<IoAssistDynamicConfig>(() => ({
user: {
id: this.session.userId(),
name: this.session.userName() || undefined,
},
agentServer: {
headers: {
Authorization: `Bearer ${this.session.token()}`,
},
},
}));
Offer Prompt-Driven Journeys
io.Assist includes a prompt library model so teams can guide users toward common assistant actions.
For many business users, the hardest part of using an assistant is knowing what to ask. Curated prompt categories make the product feel more approachable and more purposeful.
| Prompt capability | Benefit |
|---|---|
| Categorized prompts | Group assistant actions by task or role |
| Favorites support | Let users keep their most useful prompt starters close at hand |
| Optional prompt icons | Make common actions easier to recognize visually |
Surface MCP Tools and MCP Apps
Because io.Assist builds on AI Web, it can participate in the same MCP-driven assistant workflows.
That means the assistant can:
- show tool-backed activity inside the conversation
- access prompts and resources discovered through MCP infrastructure
- render HTML MCP Apps inline or in io.Connect workspaces when a richer UI is needed
- stay aligned with the broader io.Intelligence integration model instead of becoming an isolated framework-specific widget
io.Assist provides the visual hosting surface for MCP Apps — both the inline container in the chat thread and the io.Connect workspace window management. The app lifecycle, state handling, and the custom notification layer are managed by AI Web underneath. → MCP Apps overview
Add Working Context Without Rebuilding the UI
When your application already has meaningful business context in io.Connect, io.Assist can add Working Context through configuration rather than through custom assistant UI work.
| Context-aware outcome | What changes |
|---|---|
| More relevant replies | The assistant can respond based on the current workspace, channel, or shared context |
| Less repetitive input | Users do not need to restate the same business entity over and over |
| Better action quality | Tool-backed actions can stay grounded in the user's actual workflow |
Handle Sampling and Elicitation in the App
io.Assist includes built-in user interactions for MCP capability flows such as sampling and elicitation. In other words, when assistant infrastructure needs the application to gather user confirmation or additional input, the package already has a UI answer for that.
This is one of the reasons the package feels "complete" out of the box. It does not stop at message rendering.
Current Delivery
io.Assist ships today for React through @interopio/io-assist-react and for Angular through @interopio/io-assist-ng. Both deliveries share the same capabilities described on this page.
Continue with the API reference for your framework:
- React: API reference
- Angular: API reference
Next Steps
- Overview for the high-level package framing
- React: Component API · Configuration · Examples
- Angular: Component API · Configuration · Examples