Skip to content

Agent Participant

Last updated View as MarkdownAgent setup

Agent Participant adds a server-side agent to a RealtimeKit meeting. Any backend that can open a WebSocket — a Cloudflare Worker, a Durable Object, or your own server — can connect to it. No client SDK or browser is required.

Today an agent receives live meeting activity, such as transcripts, participant presence, and broadcasts. More capabilities are planned, including sending messages and working with meeting media.

What an agent can do

ParticipantsBrowsers and apps using RealtimeKit SDKs
RealtimeKit meeting
Agent participantConfigured by preset
My codeDurable ObjectWebSocket ↔ JSON
Participants↔RealtimeKit meeting
Agent participantJoins the meetingRealtimeKit meeting
Agent ParticipantListen →Worker or Durable Object
Worker or Durable ObjectSend (planned) →Agent Participant

The agent is a meeting participant. Its preset decides how it joins the meeting, and its subscriptions decide which events it receives.

To create a preset and choose subscriptions, refer to Build an agent. To compare what an agent and a human participant can do, refer to the Capability matrix.

How it works

My Worker
My Durable Object
Agent Participant
RealtimeKit Meeting
Add participant with the agent preset
start(token)
Upgrade with token + subscriptions
Join as visible or hidden participant
session.started
Transcripts, joins, broadcasts
Subscribed events as JSON
  1. Create a participant using create-participant-api for the agent, using your configured preset.
  2. Durable Object opens the WebSocket with that agent's participant token.
  3. The agent joins the meeting and forwards the events you subscribed to.
  4. When the session ends, the server sends session.ended and closes the WebSocket.

Build an agent with Durable Objects

Choose your agent

Decide whether people in the meeting should see the agent. The agent receives the same events either way.

Your agent Example Others see it
Hidden agent Compliance monitor, quality review, live meeting analytics No
Visible agent Note-taker that appears in the participant list Yes

Agents that speak or send chat messages are not supported yet. Refer to the Capability matrix.

Billing

The agent is billed as a participant for as long as it is connected. A connected agent keeps the session active even after everyone else leaves, so your backend must remove it. Refer to Billing and ending the session.

Reference

  • Build an agent: create a preset, run the agent in a Durable Object, and connect to the WebSocket
  • Events: event types, payloads, and delivery rules
  • Capability matrix: what an agent can do compared to a human participant

Was this helpful?