Chat Integrations
Chat integrations put a workspace agent or chat workflow on a conversation surface. There are two types:
| Type | What it is |
|---|---|
| Web | Embeddable chat widget for your website (snippet, theme, CORS, optional shared links and voice) |
| In App | Chat inside Vettero — listed in the workspace sidebar for members with View |
This is not Channels (WhatsApp, mail, voice inbound), Third Party Services, APIs, or MCP Integrations.
When to use
- Let website visitors talk to a chat agent or chat workflow
- Give workspace members a sidebar chat with an assistant (In App)
- Share a hosted Web chat URL (shared links) without embedding the widget
- Pass default agent input when a session starts on that integration
Bind an agent or workflow
Every chat integration points at one agent (or chat workflow). Sessions run that resource.
| Resource | Can you attach Web / In App? |
|---|---|
| Agent on Chat, Voice, Realtime Voice, or UI | Yes |
| Workflow on those same channels | Yes — add from the workflow builder Integrations panel |
| General, WhatsApp, or other channel types | No — use Channels for WhatsApp, mail, and similar inbound |
From Integrations → Add Integration, the agent picker lists agents. To attach a workflow, open that workflow in the builder and use Integrations there (same Web / In App types).
The bound resource cannot be changed after create. Create another integration if you need a different agent or workflow.
Add a chat integration
From Integrations
Open Integrations (workspace chat integrations list) and choose Add Integration.
- Pick Web or In App.
- Enter Name, optional Description, and select an Agent.
- Optionally upload an image. Create.
The record starts enabled. Open it to finish embed, roles, or input args.
From an agent or workflow builder
On a channel agent or workflow, open the Integrations activity-bar panel.
- Choose Add Integration.
- Pick Web or In App. Vettero creates a default integration named
{resource} - Webor{resource} - In Appand selects it.
Studio can also create web or in-app integrations when you ask it to (it needs the agent or workflow id).
Configure In App
Use In App when members should chat inside the workspace, not on an external site.
On the Details tab:
| Setting | What it does |
|---|---|
| Chat With Assistant | Opens this integration’s in-app chat |
| Roles | Workspace roles with View. If the list is empty, any workspace member can open the chat. Owners and Developers always can. When roles are set, a member needs View on one of their roles (including parent roles) |
| Agent input | Default values for the bound resource’s input schema when a session starts (only if that schema has properties) |
After you create or change In App integrations, the workspace menu refreshes. Workspace Settings → Sidebar Items includes them next to tables and widgets — show or hide the item there.
Configure Web
Use Web when the chat should run on your site (or a hosted shared link).
On Details:
| Setting | What it does |
|---|---|
| Sites | Allowed origins (CORS). Empty allows all. Supports host wildcards (for example *.example.com) and regex (/^https:\/\/.*\.example\.com$/) |
| Code Snippet | Generate opens theme settings, a live preview, and an HTML snippet to paste on the page |
| Display Name / Avatar | Header identity in the widget |
| Main Menu | Optional widget menu (items with a module action and finish behavior: end session, return to menu, or reset) |
| Agent Mode | Stream agent replies as partial messages while the run is in progress |
| Minimum Delay | Milliseconds between message updates when Agent Mode is off (0–10000) |
| Enable Voice | Voice in the widget; pick a Voice or Realtime Voice agent |
| Agent input | Same as In App — defaults for the bound resource’s input schema |
Widget theme (code snippet)
When you generate the snippet you can set layout and appearance, including:
| Option | Typical values |
|---|---|
| Layout | Inline (embedded chat) or Fab (floating button) |
| Layout mode | Agent or Chat |
| Color mode | Light, dark, or auto |
| Header | Shown or hidden (inline) |
| Init on page load | Fab only — load immediately or when the user opens the widget |
| Colors, font, FAB position, welcome popup, sounds | As shown in the generator |
Copy the snippet into your site. Keep Sites aligned with the pages that host the widget.
Shared links (Web only)
The Shared Links tab creates hosted chat URLs for this Web integration:
- Friendly name and optional expiry (preset days or custom)
- Shared vs separate conversation
- Optional email gate (any email, or a list / imported addresses)
Use this when you want a link instead of (or in addition to) embedding the snippet. Workflow Share Agent blocks create, load, and delete the same hosted URLs.
Limits
- Type is Web or In App. The bound agent or workflow channel must be chat, ui, voice, or realtime-voice.
- One integration → one agent or workflow. Duplicate integrations if you need several surfaces.
- In App View is the only role permission on that matrix.
- Web Enable Voice needs a voice or realtime-voice agent selected.
Where chat integrations are used
| Place | How |
|---|---|
| Agent / workflow builder → Integrations | Create and edit integrations for that resource |
| Your website | Web snippet |
| Shared links | Hosted Web chat URLs; Share Agent blocks in workflows |