Set up a chat agent
1
Clone or create an assistant
Open the Ringg AI dashboard, go to assistants, and clone an existing voice assistant or create a new Webcall assistant for chat.
2
Tune the prompt for text
Update the assistant prompt for chat-style responses. Include when to answer directly, when to collect details, and when to present widgets.
3
Configure chat-specific tools
Add calendar widgets for callback scheduling, form widgets for data collection, or any API integrations the chat should use.
4
Use the chat assistant ID
Use the cloned assistant’s
agentId in the embed code and set defaultTab to "text".Chat modes
- Chat first
- Chat only
- Voice and chat
How chat mode works
Text input and output
Users send typed messages. Audio input and output are disabled in text mode.
Context compression
Long chat conversations are compressed automatically so the conversation can continue within model context limits.
RAG summarization
Knowledge base query results are summarized in chat mode to reduce token usage and keep answers concise.
Same configured tools
API integrations, knowledge base queries, widgets, and other configured tools work in chat mode.
Components
Components are interactive UI the assistant presents during a conversation — cards, forms, pickers, ratings, and more — rendered inside the chat so users can act without leaving it. Components are built with Block Kit (see below) and are the current standard for all new builds.Components work best in text mode. They can also be triggered during voice calls, but visual interaction is most natural in the chat interface.
- The assistant decides a component is needed and streams a Block Kit tree.
- The component renders inside the chat.
- The user taps a button, fills inputs, or picks a rating.
- The response is sent back to the assistant automatically.
- The assistant confirms the action and can trigger an API call if configured.
Calendar widget (legacy)
Use the calendar widget for callback scheduling, demo booking, consultations, or follow-up appointments. Past slots are excluded so users see valid options.api_config is provided, the booking data is forwarded to your API.
Form widget (legacy)
Use the form widget for contact details, lead qualification, support tickets, addresses, surveys, or other structured data collection.Form field definition
api_config is provided, the data is also forwarded to your API endpoint.
Block Kit — the Components system
Block Kit is the engine behind Components: the assistant builds a tree of typed blocks (cards, carousels, tables, inputs, buttons, ratings, and more) that render inside the chat. Unlike the fixed legacy calendar and form widgets, Block Kit lets the assistant lay out arbitrary content — plan comparisons, order trackers, feedback cards, or rich confirmations — and is the recommended path for all new builds.Block Kit trees are streamed on the
ringg.blocks topic (not a fixed tool), so payloads have no practical size limit. The widget renders them and reports interactions back to the assistant automatically.- The assistant resolves a fully-concrete block tree server-side (bindings filled, lists expanded) and streams it.
- The widget renders it full-width in the transcript.
- The user taps a button, fills inputs, or picks a rating.
- The interaction is sent back to the assistant; a tap is treated as one conversation turn, so the card locks after responding.
1.4) defines the available blocks and their props:
Most content and action blocks share a
size (sm / md / lg) and align vocabulary; image uses width (sm / md / full) and button supports full_width. Blocks inherit the widget theme (colors, radius, button style), and every rendered node exposes a data-ringg="block-<type>" hook for CSS — see Customization.
Complete chat-only embed
Use the CDN loader from the quickstart, then load the chat assistant with chat-only mode and optional branding.Prompt examples
- Callback scheduling
- Form collection
- Calendar and form
Prompt tips
Be explicit about when to use each widget.
Do not duplicate widget fields in the conversation.
Ask the assistant to confirm bookings and form submissions after the widget returns data.
Keep chat responses shorter and more structured than voice responses.
