- Getting Started - Quick start guide for new users
- Adding to an Existing Project - Integrate agents into your app
- Understanding the Agent Class - Deep dive into the Agent class architecture
- State Management - Managing agent state with
setState(),initialState, andonStateChanged() - Routing - How
routeAgentRequest()and agent naming works - HTTP & WebSockets - Request handling and real-time connections
- Callable Methods - The
@callabledecorator and client-server method calls - Readonly Connections - Restricting which connections can modify state
- getCurrentAgent() - Accessing agent context across async calls
- Client SDK - Connecting from React (
useAgent) and vanilla JS (AgentClient), state sync, and RPC calls
- Email Routing - Receiving and responding to emails
- Webhooks - Receiving and sending webhook events
- Push Notifications - Browser push notifications via Web Push API and scheduled delivery
- TODO: SMS - Text message integration (Twilio, etc.)
- Voice Agents - Build voice agents with real-time speech-to-text, text-to-speech, and conversation persistence
- TODO: Messengers - Slack, Discord, Telegram, and other chat platforms
- Queue - Immediate background task execution
- Scheduling - Delayed, scheduled, and cron-based tasks
- Retries - Automatic retries with exponential backoff and jitter
- Workflows - Durable multi-step processing with Cloudflare Workflows
- Human in the Loop - Approval flows and manual intervention
- TODO: AI SDK Integration - Using Vercel AI SDK with agents
- TODO: TanStack Integration - Using TanStack AI with agents
- Chat Agents -
AIChatAgentclass anduseAgentChatReact hook - Server-Driven Messages - Autonomous agent workflows: scheduled follow-ups, queue processing, webhooks, chained reasoning
- TODO: Using AI Models - OpenAI, Anthropic, Workers AI, and other providers
- TODO: RAG (Retrieval Augmented Generation) - Vector search with Vectorize
- Sessions (Experimental) - Persistent conversation storage with tree-structured messages, context blocks, compaction, and search
- Workspace (Experimental) - Durable virtual filesystem backed by SQLite + R2
- Codemode (Experimental) - LLM-generated executable code for tool orchestration
- Client Tools Continuation - Handling tool calls across client/server
- Resumable Streaming - Automatic stream resumption on disconnect
- Creating MCP Servers - Build MCP servers with
McpAgent - Securing MCP Servers - OAuth and authentication for MCP
- Connecting to MCP Servers -
addMcpServer()and consuming external MCP tools - MCP Transports - Transport options: Streamable HTTP, SSE, and RPC
- TODO: Securing your Agents - Authentication, authorization, and access control
- Cross-Domain Authentication - Auth across different domains
- Observability - Monitoring and tracing agent activity
- TODO: Testing - Unit tests, integration tests, mocking agents
- TODO: Evals - Evaluating AI agent quality and behavior
- TODO: Agent Studio - Local dev tool for inspecting and interacting with agent instances
- TODO: Browse the Web - Headless browser for web scraping and automation
- TODO: Cloudflare Sandboxes - Isolated environments for coding agents, ffmpeg, and heavy compute
- TODO: SQL API - Using
this.sqlfor direct database queries - TODO: Memory & Persistence - Long-term storage patterns
- Configuration - wrangler.jsonc setup, types, secrets, and deployment
- TODO: API Reference - Complete API documentation
- TODO: FAQ / How is this different from Durable Objects?
- TODO: Resources & Further Reading
Found something missing? Documentation contributions are welcome!