Skip to main content
Glama

Update Agent

ethora-agents-update-v2
Idempotent

Update a saved AI agent's configuration by submitting only changed fields—tune its prompt, switch response mode, or adjust cooldown seconds without rewriting the full agent.

Instructions

Update a saved AI agent (PUT /v2/agents/:agentId). All fields are optional — only what you pass is updated. Common uses: tune the system prompt after a test run, switch responseMode to control turn-taking in multi-agent rooms, or adjust cooldownSec. See ethora-agents-quickstart prompt for the end-to-end recipe. Requires: an agent id or address from ethora-agents-list-v2 or ethora-agents-create-v2.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew display name. For multi-agent scenarios prefer single-word names — the @-mention matcher uses exact display-name match with word-boundary.
slugNoURL-safe slug.
isRAGNoEnable RAG retrieval.
promptNoUpdated system prompt (persona + behaviour). For multi-agent rooms instruct the agent to end every message with an @-mention of the next speaker — that's how turn-handoff works through the response gate.
agentIdNoMongo _id (24 hex chars) of the agent to update.
ragTagsNoRAG tag filter.
summaryNoShort bio.
triggerNoLegacy trigger field. Prefer `responseMode`.
llmModelNoLLM model override.
flowsYamlNoDeterministic scripted conversation for this agent, as YAML. Drives the agent through a fixed sequence (opening menu, appointment request, intake questionnaire, survey) instead of leaving every turn to the model. Compiled and validated server-side on save: an invalid script is rejected with code `FLOWS_INVALID` and per-line details, and nothing is stored. A flow named `start` is reserved and fires when a conversation opens. Buttons are authored here (`buttons:` on a `say` step, or `options:` on an `ask` step). Call `fetch` with id `doc:agent-flows` for the full authoring format before writing one. Pass an empty string to clear the script.
categoriesNoCategory tags for directory listings.
visibilityNo'private' or 'public' (cross-app invitable).
cooldownSecNoMinimum seconds between this agent's replies in a given room. Damped 2x for bot-to-bot. Set 0 for quick turn-taking.
isPublishedNoConvenience alias for visibility='public'.
llmProviderNoLLM provider override.
botAvatarUrlNoAvatar image URL.
responseModeNoWhen the agent replies. 'always' = every message; 'mentioned' = only @-mention or /bot (best for multi-agent turn-taking); 'smart' = mini-LLM decides; 'probability' = coin-flip using `responseProbability`.
botDisplayNameNoDisplay name in chat UI.
greetingMessageNoMessage the agent posts when it first joins a new room.
agentIdOrAddressNoAlias for `agentId` - either name is accepted, pass whichever you have.
responseProbabilityNoIf responseMode='probability', odds (0-1) of replying. Damped 0.6x for bot-to-bot.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv26.9.3

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, idempotentHint=true, destructiveHint=false. The description adds that it's a partial update (only passed fields are updated) and that it requires an existing agent id. It does not contradict annotations. The 'nothing is stored' detail is in the flowsYaml parameter description, not here. The description gives some behavioral context beyond annotations, so a 4 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, two short paragraphs. It leads with the action and endpoint, then gives common uses and a requirement. No fluff, every sentence adds information. Very concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose, common uses, and a prerequisite. It references a quickstart for more details. For a tool with 21 parameters, it doesn't enumerate them (schema does), but it provides enough context to guide usage. The absence of an output schema means return values aren't described, but that's not required. It's reasonably complete for an update tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters have descriptions. The description itself doesn't add parameter-level semantics beyond mentioning common use cases and the requirement for an agent id. It doesn't explain each parameter, but the schema does. Since coverage is high, baseline is 3, and the description adds minimal extra value, so 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates an existing AI agent, mentions the HTTP method (PUT /v2/agents/:agentId), and notes that all fields are optional for partial updates. It gives common use cases, which helps the agent understand the purpose. While it doesn't explicitly distinguish from every sibling, the name and description are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides typical scenarios (tuning prompt, switching responseMode, adjusting cooldownSec) and states the prerequisite of needing an agent id from list or create. It references the quickstart for the full recipe. However, it doesn't explicitly state when not to use this tool or when to prefer alternatives like create or delete, so it's not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools