Status Updates
Copy page
Real-time progress updates powered by AI that keep users informed during long-running agent operations
Status Updates
The Inkeep Agent Framework provides intelligent, AI-powered status updates that automatically generate contextual progress messages during agent execution. These updates give users ChatGPT-style feedback about what's happening behind the scenes without exposing internal technical details.
Overview
Status updates are automatically generated summaries that:
- Track Progress: Monitor agent operations, tool calls, and task completions
- Provide Context: Generate user-friendly descriptions of what's happening
- Hide Complexity: Abstract away internal agent names and technical operations
- Stream Real-time: Send updates via the same streaming interface as responses
Status updates use your Agent's summarizer model to generate contextual, intelligent progress messages that feel natural to users.
How It Works
The status updater operates through three main components:
1. Agent Session Event Tracking
Every agent operation is tracked as events:
- agent_generate: Text generation or structured output
- transfer: Agent-to-agent transfers
- delegation_sent/returned: Task delegation between agents
- tool_call: When a tool is called with arguments
- tool_result: When a tool execution completes (success or failure)
- error: System-level errors and configuration issues
- artifact_saved: Document or data artifacts created
2. Intelligent Triggering
Status updates are triggered by:
- Event Count: After N events (tool calls, generations, etc.)
- Time Intervals: Every N seconds of processing
- Smart Detection: Avoids updates during text streaming
3. AI-Powered Summarization
The summarizer model:
- Analyzes recent events and progress
- Generates user-friendly status messages
- Maintains context across multiple updates
- Focuses on user-visible outcomes
Configuration
Configure status updates in your agent:
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
numEvents | number | 10 | Trigger update after N events |
timeInSeconds | number | 30 | Trigger update every N seconds |
model | string | agent default | Override model for summaries |
prompt | string | undefined | Custom prompt appended to base system prompt (max 2000 chars) |
statusComponents | array | undefined | Structured status components (advanced) |
Basic Example
User Experience: When a user asks "What's the weather in Paris?", they might see:
- "Searching for current weather information..."
- "Found weather data, analyzing conditions..."
- "Preparing detailed weather report..."
Custom Prompts
You can customize how status updates are generated by providing a custom prompt that gets appended to the base system prompt. Custom prompts are limited to 2000 characters to ensure optimal performance:
Custom Prompt Examples
Concise Updates:
Detailed Progress:
Branded Tone:
Default vs Structured Status Updates
Status updates can be generated in two ways:
Default Status Components
When no statusComponents are configured, the system uses built-in default status components that generate structured labels with contextual details:
label: AI-generated user-friendly description (e.g., "Searching documentation for API examples")details: Optional structured data with context about the operation
The default status components are defined in packages/agents-sdk/src/default-status-schemas.ts:
Custom Structured Components
For complete control over status format, define custom structured status components using Zod schemas with the statusComponent helper:
The statusComponent helper provides type-safe status component definitions with automatic schema validation. Zod schemas are automatically converted to JSON Schema format at runtime.
Status Component API
The statusComponent function accepts:
| Property | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Unique identifier for this status component type |
description | string | No | Description of when/why this status is used |
detailsSchema | z.ZodObject<any> | No | Zod schema defining the structure of status details |
Note: Use .config when passing status components to the agent configuration
Frontend Integration
Status updates arrive as data-summary events with AI-generated labels and contextual details:
Data Structure Examples
Custom Status Components:
Best Practices
Timing Configuration
- Quick Operations: Use higher event counts (5-10) to avoid too many updates
- Long Operations: Use shorter time intervals (10-15 seconds) for responsiveness
- Mixed Workloads: Combine both triggers for balanced updates
Model Selection
- Faster Model: Use a faster/cheaper model for status updates to reduce latency
- Specialized Model: Use a model optimized for summarization tasks
User Experience
Troubleshooting
Updates Not Appearing
Check that:
- Status updates are configured in your Agent
- The summarizer model is specified
- Events are being triggered (tool calls, generations)
- The session hasn't ended prematurely
Too Many/Few Updates
Adjust thresholds:
Poor Update Quality
Improve with custom prompts:
Status updates are automatically paused during text streaming to avoid interrupting the response flow.
Performance Considerations
- Status updates use additional model calls - consider costs for high-volume applications
- Updates are generated asynchronously and won't block main agent operations