May 7, 2026

The Omniagent, richer session data and transcripts, knowledge file summaries, and companion headlines

Introducing the Omniagent

We've introduced the Omniagent — a single AI agent with a consistent voice, personality, knowledge, and memory that works across every channel. Define it once, deploy it to WebRTC, WebSocket, or SIP. Update it once, and every channel picks up the change.

What changed

Previously, every session was assembled from scratch — you passed the companion, voice, tools, knowledge, and provider settings on every POST /public/connections request. There was no persistent agent configuration, and SIP had its own separate agent model (/public/sip-agents).

Now, the Agents API (/public/agents) gives you a single resource that holds all your agent's configuration. You create it once, then spin up sessions on any channel with a minimal request.

New endpoints

  • POST /public/agents — create an Omniagent
  • GET /public/agents — list all agents
  • GET /public/agents/{agentId} — get a single agent
  • PATCH /public/agents/{agentId} — update an agent
  • DELETE /public/agents/{agentId} — delete an agent
  • POST /public/agents/{agentId}/connections — create a session from an agent (WebRTC or WebSocket)
  • PUT /public/agents/{agentId}/channels/{channelType} — set up per-channel overrides
  • GET /public/agents/{agentId}/channels/{channelType} — get channel config
  • DELETE /public/agents/{agentId}/channels/{channelType} — remove channel config

Removed endpoints

  • /public/sip-agents/* — replaced by /public/agents + /public/agents/{agentId}/channels/sip

Migration guides

Getting started

See Get Started to build your first Omniagent.

Richer session data and transcripts

The Sessions API now returns richer data for both listing and retrieving sessions.

New fields

  • sessionType — the channel used for the session (webrtc, websocket, voip, sip)
  • status — current session state (pending, started, closed)
  • closeReason — why the session ended (e.g. idle_timeout)
  • conversation — full transcript included when retrieving a single session via GET /public/sessions/{sessionId}

Expanded resource objects

Session responses now include full objects with additional details:

  • companion — returns id, firstName, lastName alongside companionId
  • knowledgeBase — returns id, name alongside knowledgeBaseId
  • faqCollections — returns array of id, name objects alongside faqIds

The original fields (companionId, knowledgeBaseId, faqIds) are still returned for backward compatibility. No changes to your existing parsing code are required.

See the Sessions guide for updated examples.

Add summaries to knowledge files

You can now add a summary to any file in a knowledge collection. Summaries help the agent understand what each file is about and improve the chances of retrieving the right content when answering questions.

New endpoint

  • PATCH /public/knowledge-bases/{knowledgeBaseId}/files/{fileId}/summary — update a file's summary

New field

  • summary — returned on file responses (GET /public/knowledge-bases/{knowledgeBaseId}/files/{fileId})

See the Files guide for usage.

Add a headline to companions

Companions now support a headline field — a short tagline or subtitle (e.g. "Senior Tech Support Specialist"). The field can be set when updating a companion (PATCH /public/companions/{companionId}) and is returned when retrieving companions.

See the Companion guide for details.

On this page