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):

  1. Your app creates a conversation: POST /agents/agent123/start

  2. EDDI returns conversation ID: conv-456

  3. Your app stores this ID

  4. Your app sends messages: POST /agents/conv-456

  5. Your app manages conversation lifecycle

With Managed Agents (automatic approach):

  1. You define an agent trigger with an intent keyword

  2. Your app sends: POST /agents/managed/weather_help/user123

  3. EDDI 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 Agent

  • Example: "order_status" → Order Tracking Agent

  • Example: "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

Element
Description

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

HTTP Method
API Endpoint
Request Body
Response

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

HTTP Method
API Endpoint
Request Body
Response

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

Element
Description

{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?