Skip to main content
The @chatatp/studio SDK goes beyond a simple HTTP wrapper—it provides fully managed, plug-and-play UI components to embed the ChatATP Copilot directly into your web applications. The components handle the complete conversational lifecycle, streaming state, markdown rendering, tool execution, and rich animations out of the box, allowing you to focus on your app’s core features. We support multiple frameworks via dedicated subpath exports.

Available Wrappers

React

The /react subpath provides a native React component.

Vue

The /vue subpath provides a native Vue component.

Angular

Import CopilotDirective from @chatatp/studio/angular and use it on an element or as a standalone component.

Vanilla Web Components

You can also use the core Web Components directly in vanilla HTML or any other framework that supports Custom Elements.

Customization Options

All wrappers expose the following properties for customization:

Layout behavior

  • The launcher is visible for popup, sidebar, and routed fullscreen; clicking it opens the configured mode or updates the browser route with history.pushState and opens the fullscreen overlay for fullscreenUrl.
  • popup renders as a floating corner overlay above the current page, like a normal chatbot widget.
  • sidebar opens as a fixed side panel and shifts sidebarTarget with padding instead of covering the main app. Closing or switching away removes that padding.
  • fullscreen updates the browser route with history.pushState and opens the fullscreen overlay for fullscreenUrl when provided; on the dedicated route, omit fullscreenUrl to render the full-page copilot screen.

Fullscreen route component

Use the floating widget with fullscreenUrl on normal pages, then register a dedicated route that renders the same Copilot in fullscreen mode without fullscreenUrl:
Fullscreen mode renders a full-page ChatGPT-style screen with an expandable/collapsible conversation sidebar.

React icon quick actions

React wrappers can pass icon provider components directly:

Vanilla quick actions

Use quick-actions-json when configuring the Web Component from HTML: