Managed Agents
Overview
Managed Agents is an EDDI feature that provides automatic conversation management, allowing you to trigger agents based on intents without manually creating and managing conversation IDs. EDDI handles the conversation lifecycle for you.
The Problem It Solves
Without Managed Agents (manual approach):
Your app creates a conversation:
POST /agents/agent123/startEDDI returns conversation ID:
conv-456Your app stores this ID
Your app sends messages:
POST /agents/conv-456Your app manages conversation lifecycle
With Managed Agents (automatic approach):
You define an agent trigger with an intent keyword
Your app sends:
POST /agents/managed/weather_help/user123EDDI automatically:
Creates conversation (if none exists for this user/intent)
Routes to correct agent
Manages conversation state
Reuses existing conversation on subsequent calls
Use Cases
Multi-Agent Applications: Route users to different agents based on intent without tracking conversation IDs
Microservices Architecture: Each service triggers agents by intent, EDDI handles coordination
Simplified Integration: Client apps don't need conversation management logic
User-Centric Sessions: One conversation per user per intent, automatically managed
A/B Testing: Define multiple agents for same intent; EDDI picks one randomly
Key Concepts
Intent: A keyword or phrase that maps to one or more agent deployments
Example:
"weather_help"→ Weather AgentExample:
"order_status"→ Order Tracking AgentExample:
"support_technical"→ Technical Support Agent
Agent Trigger: Configuration that links an intent to specific agents
User ID: Identifies the user; EDDI maintains one conversation per user per intent
How It Works
Benefits
Simplified Client Logic: No conversation ID management needed
Intent-Based Routing: Natural way to organize multi-agent systems
Automatic Session Management: EDDI handles conversation lifecycle
Initial Context Support: Pass context at conversation start
Random Agent Selection: A/B testing or load distribution built-in
Managed Agents Configuration
This feature allows you to take advantage of EDDI's automatic management of agents. It is possible to avoid creating conversations and managing them yourself—let EDDI handle it.
This acts as a shortcut to directly start a conversation with an agent that covers a specific intent.
First, you need to set up a AgentTrigger.
AgentTrigger
The request model
Description of the request model
intent
(String) keyword or phrase (camel case or with '-') that will be used in managed agents to trigger the agents defined in this model
agentDeployments
(Array:<AgentDeployment>) array of AgentDeployment. If multiple agentDeployments are defined, one will be picked randomly.
environment
(String) the environment: production (default) or test. Legacy values unrestricted and restricted are accepted and mapped to production.
agentId
(String) the id of the agent that you want to create the agentTrigger for it.
initialContext
(Object) Context handed to the agent at conversation start. Keys map to Context objects with type and value fields. Only applied when the conversation is first created.
AgentTrigger API endpoints
DELETE
/agenttriggerstore/agenttriggers/{intent}
N/A
N/A
GET
/agenttriggerstore/agenttriggers/{intent}
N/A
Agent Triggers-model
PUT
/agenttriggerstore/agenttriggers/{intent}
Agent Triggers-model
N/A
POST
/agenttriggerstore/agenttriggers
Agent Triggers-model
N/A
Triggering a ManagedAgent
To trigger a managed agent you will have to call the following API endpoints.
API Methods
GET
/agents/managed/{intent}/{userId}
N/A
Conversation model
POST
/agents/managed/{intent}/{userId}
Input model
N/A
POST
/agents/managed/{intent}/{userId}/endConversation
N/A
N/A
GET
/agents/managed/{intent}/{userId}/undo
N/A
Boolean
POST
/agents/managed/{intent}/{userId}/undo
N/A
N/A
GET
/agents/managed/{intent}/{userId}/redo
N/A
Boolean
POST
/agents/managed/{intent}/{userId}/redo
N/A
N/A
Description API endpoint required path parameters
{intent}
(String) the label/keyword used originally to point to this AgentTrigger
{userId}
(String) used to specify the user who triggered the conversation
Example :
1/Create an AgentTrigger
Request URL:
POST http://localhost:7070/agenttriggerstore/agenttriggers
Request Body
Response Body
no content
Response Code
200
2/Trigger the ManagedAgent
Request URL:
POST http://localhost:7070/agents/managed/weather_trigger/myUserId
Request Body
Response Body
Response Code
200
MCP Integration
The same managed conversation functionality is available via the MCP chat_managed tool:
See MCP Server for full tool documentation.
Last updated
Was this helpful?