Skip to main content
Version: v1.7.3-7 🚧

Custom agents

Custom agents extend Enterprise h2oGPTe with your own AI agent implementations. Unlike built-in agents, custom agents contain your own logic, tool integrations, and configuration, all packaged as a ZIP file and managed from the Agents tab.

Prerequisites​

  • You have access to an Enterprise h2oGPTe instance.
  • You have a custom agent packaged as a ZIP file. See Agent package structure for requirements.
  • If you need API keys, add them to Secret Manager before assigning them to an agent.

Custom agent properties​

Each custom agent has the following properties:

  • Name and description that identify the agent in the platform.
  • Agent type indicating which framework it uses: LangGraph, CrewAI, OpenAI Agents SDK, or Claude.
  • API key associations that map the agent's environment variables to secrets stored in the platform.
  • MCP tool associations that link the MCP server names in the agent's code to tools configured in the Tools tab.
tip

For more advanced workflows, use Agents Builder to generate complete agent packages from natural language descriptions, without writing any code. First use the Tool Builder agent to create a custom MCP tool, then ask Agents Builder to build custom agents that use that tool.

Agent package structure​

An agent package is a ZIP file containing one or more agent folders. Each folder must include the following files:

FilePurpose
custom_agents.pyMain agent implementation with the entry-point function
metadata.jsonAgent name, description, framework, and parameter schema
requirements.txtPython dependencies
envs.jsonEnvironment variable declarations for API keys and configuration
test_custom_agents.pyTests for the agent. Validated on upload but not required; a missing file logs a warning only.
info

The folder name inside the ZIP becomes the agent name unless you provide a custom name during upload. If the ZIP contains multiple agent folders, each one is registered as a separate agent.

Supported frameworks​

FrameworkDescription
LangGraphComplex workflows with state management and conditional logic
CrewAIMulti-agent teams with role-based coordination
OpenAI Agents SDKAgent handoffs and OpenAI ecosystem integration
ClaudeAgents built with the Anthropic Claude SDK

Access the Agents tab​

  1. In the left navigation, click Agents.
  2. Click the Agents tab.

From the Agents tab, you can view all built-in and custom agents, assign API keys and MCP tools, edit names and descriptions, and delete custom agents.

The Agents tab showing the agents table with built-in agents and a custom Weather Forecaster agent

ColumnDescription
StatusA colored dot indicating whether the agent is ready to use. See Agent status for details.
Agent NameThe agent's display name. Click the copy icon to copy the agent ID.
Agent DescriptionA short description of the agent's purpose.
Agent TypeA badge indicating the agent framework: LangGraph, CrewAI, OpenAI, Claude, or Built-In.
OwnerBuilt-in for platform agents, or your account for agents you have added.
API KeysBadges for each environment variable the agent declares. Green: configured. Yellow: unassigned optional key. Red: unassigned required key.
MCP ToolsBadges for each MCP server the agent requires. Green: assigned. Red: not configured.
ActionsOpens the actions menu for managing the agent.
info

Platform agents display No keys required and No tools required because the platform fully manages their configuration. Only custom agents have assignable keys and tools.

Add a new agent​

Click + New Agent in the upper right of the Agents tab to open the Add Custom Agent dialog.

The Add Custom Agent dialog with the agent name filled in and a ZIP file ready to upload

FieldDescription
Agent NameA unique name to identify the agent in the platform. Defaults to the folder name inside the ZIP. If the ZIP contains multiple agent folders, this field is ignored and each folder name is used.
Upload Agent PackageThe .zip file containing your agent implementation. Only ZIP files are accepted.
Add AgentRegisters the agent and adds it to the agents table.

Manage custom agents​

Use the actions menu (â‹®) in the Agent Actions column to configure, edit, or delete a custom agent. The sections below describe each action and its dialog.

The actions menu for a custom agent showing Assign Keys, Assign Tools, Modify Agent, and Remove Agent options

Assign API Keys​

Select Assign Keys from the actions menu to open the Assign API Keys dialog. The dialog lists every environment variable declared in the agent's envs.json file.

The Assign API Keys dialog showing environment variable rows with Key Type badges and Secret Reference dropdowns

FieldDescription
Environment VariableThe environment variable name declared in the agent's envs.json file.
Key TypeHow critical the variable is. Required: the agent can't run without it; the status dot stays red until you assign all required keys. Optional: the agent runs without it but may have reduced capability. Custom: added manually beyond what the agent declares.
Secret ReferenceA dropdown of secrets from Secret Manager. Select the secret to inject for this variable at runtime.
Save KeysSaves all secret associations and applies them to the agent.

Assign MCP tools​

Select Assign Tools from the actions menu to open the Assign MCP Tools dialog. The dialog lists each MCP server name the agent declares.

The Assign MCP Tools dialog showing a tool name row mapped to an MCP server dropdown

FieldDescription
Tool NameThe MCP server name declared in the agent's code.
ServerA dropdown of tools configured in the Tools tab. Select the tool that matches this server name.
Save ToolsSaves all tool associations and applies them to the agent.
tip

Enterprise h2oGPTe analyzes agent metadata and suggests MCP tool configurations based on the server names declared in the agent package.

Edit an agent​

Select Modify Agent from the actions menu to open the Edit Agent dialog.

The Edit Agent dialog with an editable Name field and an Update Agent button

FieldDescription
NameThe agent's display name shown in the agents table and chat dropdown.
Update AgentSaves the updated name.

Delete an agent​

Select Remove Agent from the actions menu to open the Delete Agent dialog.

The Delete Agent confirmation dialog with a Cancel button and a red Confirm Delete button

ActionDescription
CancelCloses the dialog without deleting the agent.
Confirm DeletePermanently removes the agent and all its key and tool associations.
info

Platform agents cannot be deleted. The Remove Agent option only appears for custom agents you own.

Use the controls preceding the table to narrow the list of agents.

The filter bar showing the Filter Agents search input and the Type dropdown

ControlOptionsDescription
Filter AgentsFree textFilters agents by name or description as you type.
TypeAll, Built-in, Custom, CrewAI, LangGraph, OpenAI, ClaudeFilters the table by agent type or ownership. Select Custom to show only agents you have added, Built-in to show only platform agents, or a framework name to show only agents of that type.

Agent status​

The status dot in each row indicates whether the agent is ready to use. Hover over the dot to see a tooltip with details.

StatusTooltip textMeaning
GreenReady to workAll required API keys and MCP tools are assigned. The agent is available for selection in chat.
RedMissing required keysOne or more required API keys are not assigned.
RedMissing required toolsOne or more required MCP tools are not configured.
RedMissing required keys and toolsBoth required keys and required MCP tools are missing.

Use a custom agent in chat​

After uploading and configuring a custom agent, start a new chat, enable the Use Agent toggle in chat settings, and select your agent from the Agent Type dropdown. Only agents with a green status dot appear in the dropdown. For a complete walkthrough, see Step 6: Test the workflow in the local MCP tool deployment tutorial.

Next steps​


Feedback