Skip to content

Agents ​

An agent is an AI that does one job well: it reads what it is given, follows your instructions, may use tools and documents, and returns an answer. This page shows how to create, test, publish and manage one.

At a glance ​

WhereSidebar → Build → Agents
WhoViewer: look. Author: create, edit, test. Approver/Admin: also publish, deprecate, restore
Before you beginA model key in the Vault (Admins add these). For a model to run, it must also have a price, see §8

1. What it is and why it matters ​

An agent in Studio is a declaration, not a program. You fill in a form, what it is called, what it should do, which model, which key, and Studio stores it as a versioned document (agent.yml). The runtime reads that document and runs it. Nothing about the agent is hidden in code, so anyone can read exactly what an agent will do, and every change is a new version that someone reviews.

2. Key ideas ​

IdeaWhat it means for you
Reference (key)The agent's permanent id, e.g. support_triage. Made from the name when you create it. Workflows and the API use it, so it can never change
DraftSaved but not released. Workflows cannot use it
VersionEvery saved change to a published agent is a new numbered version (v1, v2…). Published versions never change
Test runA run in the Playground. Publishing needs a passing test run of exactly that version
Published / LatestA published version can be used by workflows and the API. Latest is the newest published one
InputsNamed values a workflow hands the agent (e.g. request). Required inputs must be wired in every workflow that uses the agent
Structured outputThe agent answers in a fixed JSON shape, so later steps can read fields like priority

3. Find your way around the Agent Registry ​

Build → Agents lists every agent in the project.

Screenshot: The Agent RegistryThe Agent Registry

ControlDoes
New agentStart the builder
▾ beside New agentAgent, Folder, or Import from a file…
Search box (press /)Search name, key, model, tool
All · Published · Draft · Changes pendingFilter by status. Changes pending = published, with a newer saved version that is not live yet
Model · Tools · Updated by meNarrow the list
SelectPick several agents to move them into a folder together
Last updatedSort order
Continue name bannerAn agent you started but never created. It is kept only in this browser, see below

Unfinished agents. While you build a new agent, your progress is saved in this browser (the header says Kept in this browser). If you close the tab, the registry offers Resume or Discard. Nobody else can see it, and it is not on any other computer, until you click Save draft or Create agent.


4. Create an agent ​

The builder walks you through five required steps and five optional ones. The right-hand summary shows what you have chosen and a Ready to run checklist.

Screenshot: The agent builder, with a prompt from Instruction ManagerThe agent builder

Tip: two layouts are available, Guided (one step at a time, shown here) and Single page (every section on one page with a table of contents). Switch with the two icons in the builder header, or set a default in Settings → Agent builder layout.

Step 1: Identity ​

  1. Click New agent.
  2. Enter a Name (what people call it) and a one-sentence Description (shown in the registry and on the canvas).
  3. Optional: choose a Folder. An agent in a folder is offered that folder's tools first.
  4. Click Next: Behaviour.

Screenshot: IdentityIdentity step

Step 2: Behaviour (the instructions) ​

This is the agent: the instructions the model receives every time it runs.

  1. Choose where the prompt comes from:

    • Write here, stored in this agent. Fine for most agents.
    • From Instruction Manager, pick a reviewed, versioned prompt. See Prompts.
  2. Choose how the prompt is written:

    TabUse when
    InstructionA system prompt; the agent's inputs arrive as the message. The usual choice
    TemplateOne template with {{input_name}} placeholders and no separate system message
    MessagesYou want to write the turns yourself, as a conversation
    StructuredAny of the above, with the reply shape enforced
  3. Write the instructions in System. Use {{name}} to place a declared input.

  4. Optional: Add example to show what a good answer looks like.

Writing good instructions. Say what the agent is, what it must decide, what each output field means, and what to do when the input is unusual. "Use only what the member wrote" stops it inventing facts.

Step 3: Model ​

  1. Choose a Provider (OpenAI, Anthropic, AWS Bedrock, Azure OpenAI, Google Gemini, Mistral and others) and a Model. Choose Something else… to type a model id that is not listed.
  2. Optional: Temperature, 0 answers the same way every time; higher varies more. Use 0 for classification and extraction.
  3. Optional: Max tokens, blank uses the provider's default.

Screenshot: ModelModel step

Step 4: Credentials ​

  • Under API key, choose the vault key the agent runs with (e.g. org/openai_key), or Add new.

The key itself stays in the Vault. The agent stores only a pointer (secret://org/openai_key), so the agent document can be shared without leaking anything.

Screenshot: CredentialsCredentials step

Step 5: Output ​

  • Leave Structured output (JSON) off for a plain text reply.
  • Switch it on when other steps need to read named fields. A drawer opens:
    1. Choose Example (paste a sample answer, Studio builds the schema) or JSON schema (paste a schema).
    2. Click Validate, then Save structure.

Screenshot: Defining the answer's shapeStructured output drawer

Optional: Inputs ​

Inputs are the values a workflow hands the agent.

  1. Click Inputs → Add input.
  2. Enter a Name (lowercase, e.g. member_id), a Type, and switch Required on or off.
TypeHolds
TextWords
Whole number / Number3 / 3.75
Yes / notrue or false
List / ObjectSeveral values / a group of named values
DocumentA file passed in from a run

Screenshot: InputsInputs

Optional: Tools ​

Pick what the agent may call while it works. The Type tabs separate your tools from Apps (Gmail, Teams…); Common tools are offered to every agent.

Screenshot: ToolsTools

The agent decides when to call a tool by reading the tool's description, so mention in the instructions when a tool should be used. See Tools.

Optional: Knowledge ​

Attach one knowledge base so the agent searches the project's own documents before it answers.

SettingChoices
How it searchesSearches it once, with the question as asked. Fast. Search until it has enough, the model rewrites the question and searches again when the first passages fall short. Slower; costs a model call per round

A knowledge base whose search is not set up cannot be chosen until it is.

Optional: Skills ​

Attach published skills: guidance added to the agent's instructions on every run, such as a style guide or checklist.

Optional: Capabilities ​

CapabilityDoesSettings
MemoryKeeps context across turnsLeave off for a workflow step
ConfidenceThe agent scores its own certainty; a low score sends the case to a personConfidence policy and Review below (threshold, default 70 %)
GuardrailsPII and PHI checks on the way in and outGuardrail policy
GovernanceRules checked against the result, in order; a rule can send the case to a personGovernance policy

Policies are chosen from those published in the project. A run that a confidence or governance rule stops appears in Reviews.

Screenshot: Capabilities with confidence, guardrails and governance onCapabilities

Review: YAML ​

YAML shows the exact document that will be stored. It is read-only; everything in it comes from the sections. It lists anything still to fix, and offers Copy and Download.

Screenshot: The stored documentYAML review

Save ​

ButtonDoes
Save draftSaves to the project even if some steps are unfinished. Needs a name and a key
Create agent / Save agentSaves a complete agent. Disabled (with a hint) until the five required steps are done

Note: a key that already exists in the project cannot be used for a new agent.


5. Test an agent in the Playground ​

  1. Open the agent and click the Playground tab.
  2. Fill in Sample input (one box per declared input), or click JSON to paste them all.
  3. Click Run.

Screenshot: A passing runThe Playground

You seeMeaning
Passed / CompletedThe run worked. This version can now be published
AnswerThe reply; View JSON shows the raw structure
What happenedLive log while it runs; Full trace of model thinking and tool calls afterwards
Steps, tokens, timeWhat the run used
A budget chipWhat you have left, if budgets are set (Spend)

Playground runs are real: they use the model, cost money and appear in Traces.


6. Edit an agent ​

  1. Open the agent from the registry. You land on Build.
  2. Change any section. The header shows Saved · … as your edits are kept.
  3. Click Save agent.

If the agent is published, saving creates a new draft version. The published version keeps running unchanged until the new one is tested and published. The registry shows the agent as Changes pending meanwhile.


7. Publish a version ​

  1. Run the version in the Playground until it passes.
  2. Click the Publish tab, then Publish vN.

Screenshot: PublishedA published agent

Publishing is refused unless all of these are true:

RuleWhy
You are an Approver or AdminAuthors write; Approvers release
You are not the author of this version (unless your installation allows self-approval)A second pair of eyes
This version passed a Playground runProof it works
Its model has a priceEvery run must be costed (§8)
Every reference resolves (tools, knowledge, skills, policies, prompt)Nothing it depends on is missing
A prompt from Instruction Manager is approved therePrompts are reviewed before production

Versions ​

The Versions card on the Publish tab lists every version.

BadgeMeaning
LatestThe newest published version. Workflow steps set to Latest and API calls with no version use it
LiveAn older published version that is still available, for example to a workflow step fixed to it
DraftSaved, not published
DeprecatedWorkflow steps can no longer choose it. Steps on Latest are not affected
  • View opens a read-only copy of exactly what that version runs.
  • Deprecate (Approver/Admin) retires a published version. It is not offered for the only live version, and is refused while a workflow is fixed to that version. Restore brings a deprecated version back.

Give it a URL (optional) ​

After publishing, the Publish tab offers Deploy so other systems can call the agent. See Published agents.


8. Reference ​

Builder sections ​

SectionRequiredHolds
Identity✅Name, description, folder, reference
Behaviour✅Instructions, prompt source, examples
Model✅Provider, model, temperature, max tokens
Credentials✅Vault key
Output✅Plain text, or a JSON shape
InputsNamed values from a workflow
ToolsWhat it may call
KnowledgeOne knowledge base
SkillsGuidance always in its prompt
CapabilitiesMemory, confidence, guardrails, governance
YAMLThe stored document (read-only)

Model prices ​

Every run is costed from the project's price list in Elsai Observe (or the standard price list until Observe is connected). A model with no price cannot be run or published, because its spend could not be counted. The builder says so and links to the right page in Observe. Ask an Admin if you cannot set prices yourself.

Delete an agent ​

Build → Identity → Delete this agent. Published versions stop being available to workflows. This cannot be undone.


9. Troubleshooting ​

SymptomLikely causeFix
Create agent is greyed outA required step is unfinishedHover it to see which; or follow Ready to run
Save draft and Create agent stay greyed although every step is doneAnother agent in the project already has this referenceChange the name so the key differs
Publish is greyed: Needs a passing Playground run firstThis version has not passed a testRun it in the Playground
Publish refused: must be published by someone other than its authorYou wrote this versionAsk another Approver
Publish refused: not passed a test run yetThe last change made a new, untested versionRun it again, then publish
Run or publish refused for the model's priceThe model has no priceSet it in Observe (link in the builder) or ask an Admin
Run fails with a 401 from the providerWrong or expired keyPick another key, or ask an Admin to replace it in the Vault
The agent does not use its toolThe tool's description is vague, or the instructions never suggest itImprove both, test again
The answer is missing a fieldOutput is plain text, or the instructions do not mention the fieldTurn on Structured output and describe each field
Your new agent vanishedIt was never created and lived only in another browserUse Save draft early

Copyright © 2026 elsai foundry.