@useago/sdk) lets you integrate AGO agents into any web application. Use it to build fully custom chat interfaces, handle streaming responses, manage conversations, and register client-side functions that agents can invoke.
Installation
Quick Start
Vanilla JavaScript
Zero-Config Setup
If your page already includes the AGO widget script or meta tags, usecreateAgo to auto-detect configuration:
<meta name="ago-base-url">tagdata-ago-base-urlattribute on the script tagwindow.AGO.basepathglobal variable
React
Vue.js
Angular
Configuration
Create a client instance with the following options:Sending Messages
Basic Message
Message with Options
Streaming Events
Listen to events for real-time updates as the agent responds:Conversations
List Conversations
Load a Conversation
Get Messages
Feedback
Submit thumbs-up or thumbs-down feedback on agent responses:Tool Call Interactions
When an agent invokes a tool that requires user input (such as a form or a confirmation), the SDK emits events you can handle:Confirm or Reject a Tool Call
Events Reference
Defining Reusable Functions
UsedefineFunction to create reusable function definitions that agents can invoke on the client side:
useAgoFunction hook:
Page Context
Give the agent awareness of what the user is currently looking at — the active order, the visible dashboard filter, the open ticket. Context entries are attached to every message and surfaced to the agent as a structured prompt section.Vanilla JavaScript
React
Use theuseAgoContext hook to attach context declaratively. It registers when the component mounts and cleans up on unmount:
SSE Streaming Helpers
The SDK provides helper functions for working with streaming responses:React Components
The SDK provides pre-built React components for common use cases.AgoProvider
Provides the AgoClient to your entire React app via context:ChatWidget
A complete, ready-to-use chat interface:Message
Renders a single message with markdown formatting, sources, and follow-up suggestions:- Markdown rendering, including GitHub-flavored markdown: bold, italic, headings, lists, code blocks, links, blockquotes, tables, task lists, and strikethrough
- Agent name display for assistant messages (set
showAgentName={false}to hide it) - Knowledge source citations with links
- Follow-up reply buttons
- Streaming indicator while a response is in progress
Markdown
Renders a raw markdown string the same wayMessage renders assistant content. Use it when you build a fully custom chat UI but still want consistent markdown output:
React Hooks
useAgo
Creates and manages the SDK client lifecycle:useMessages
Manages messages within a conversation:useConversation
Manages the conversation list and selection:Custom Chat UI Example
Build a fully custom interface using hooks:Cleanup
Always destroy the client when it is no longer needed to free resources:useAgo hook handles cleanup automatically on unmount.
Related
- Client Functions — SDK API reference
- Widget Configuration — Widget settings
- Widget & SDK Authentication — Authentication setup
- Deploy the Chat Widget — Deployment guide
