Agent Participant

Last updated Oct 19, 2026 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

Audio, video, chats, polls, broadcasts

RealtimeKit meeting

Agent participantConfigured by preset

Listen: transcripts, presence, broadcasts

Send: chat, broadcasts, stream audio (future-scope)

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?

YesNo

On this page

Agent Participant - 图1Docs

{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/realtime/realtimekit/agents/#page","headline":"Agent Participant","description":"Add a server-side agent to a RealtimeKit meeting and stream transcripts, participant presence, and broadcasts to a Worker or Durable Object.","url":"https://developers.cloudflare.com/realtime/realtimekit/agents/","inLanguage":"en","image":"https://developers.cloudflare.com/realtime/realtimekit/agents/og.png?v=c6625ab8f4d89f64","dateModified":"2026-10-19","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}


description: Compare what a human participant using the RealtimeKit SDKs and an agent participant using the Agent WebSocket can do in a meeting. title: Capability matrix image: https://developers.cloudflare.com/realtime/realtimekit/agents/capabilities/og.png?v=69cb3f3a8d594a57


Skip to content

Documentation Index
Fetch the complete documentation index at: https://developers.cloudflare.com/realtime/llms.txt
Use this file to discover all available pages before exploring further.