Agents

An agent is an AI entity that participates in conversations. It is defined by a configuration record that specifies the LLM model it uses, the container images that run it, the tools it can call, the secrets it has access to, and its runtime behavior (idle timeout, compute limits, availability).

You configure the desired state. The platform reconciles workloads toward it — agents do not run continuously, they spin up on demand when there are messages to process.

Prerequisites

Before creating an agent, you need:

Create an agent

In the Console

  1. Console → Agents (/organizations/<org>/agents).
  2. Click New agent.
  3. Fill in the fields described below.
  4. Click Create. The agent is created and you are redirected to its detail page.

Required fields

FieldNotes
NameDisplay name. Shown in chat and lists.
Nickname@-mention handle. Unique within the organization. Used in conversations.
DescriptionOptional but recommended — appears next to the agent in chat composers.
RoleA short label for the agent's purpose (assistant, reviewer, support, etc.). Free-text — affects display only.
ModelPick from the org's registered models.
Runtime imageContainer image for the agent runtime (the dev container, e.g. ghcr.io/agynio/agent-runtime:v1.0.0).
Init imageThe init container providing agynd and the agent CLI. Pick one for Codex, Claude Code, or agn — see Init image below.
Idle timeoutDuration after the agent stops producing output before the workload is stopped. Default 5m.
Availabilityinternal (any org member can start a conversation) or private (role-restricted). See Agent roles.

Optional fields

  • Compute resources — CPU and memory requests/limits for the runtime container.
  • Runner labelskey=value pairs the workload must match against a runner's labels. See Runners.
  • Capabilitiesgpu, docker, etc. The orchestrator schedules only on runners advertising every capability.
  • Behavioral configuration — JSON blob passed to the agent CLI on startup. Schema depends on the chosen CLI.

After creation, the agent detail page opens. Sub-resources (MCPs, hooks, skills, ENVs, init scripts, volumes, image pull secret attachments) are configured as tabs on this page.

With Terraform

hcl
resource "agyn_agent" "support" {
  organization_id = agyn_organization.acme.id

  name        = "Support Agent"
  nickname    = "support"
  description = "Front-line customer support."
  role        = "assistant"

  model      = agyn_llm_model.gpt_4o.name
  image      = "ghcr.io/agynio/agent-runtime:v1.0.0"
  init_image = "ghcr.io/agynio/agent-init-codex:v1.0.0"

  idle_timeout = "5m"
  availability = "internal"

  compute = {
    cpu_request    = "500m"
    cpu_limit      = "2"
    memory_request = "512Mi"
    memory_limit   = "2Gi"
  }
}

The creator's identity is granted owner on the new agent automatically. Add roles for other identities through Agent roles.

Runtime image

The runtime image is the container that hosts the agent's working environment — typically a dev container with the tools the agent needs (curl, git, language toolchains, etc.). The platform provides a default agent-runtime image; you can use your own image as long as it includes the few binaries agynd expects in PATH.

The runtime image is the image the agent CLI runs in. It is separate from the init image, which bootstraps the agent CLI itself.

Init image

The init image is a small image whose only job is to copy agynd, the platform CLI, and the agent CLI (Codex, Claude Code, or agn) into a shared volume that the runtime container mounts at /agyn-bin. This lets you change the agent CLI without rebuilding your runtime image.

Init imageAgent CLI it installs
ghcr.io/agynio/agent-init-codex:<version>OpenAI Codex CLI
ghcr.io/agynio/agent-init-claude:<version>Anthropic Claude Code
ghcr.io/agynio/agent-init-agn:<version>Agyn's native agn CLI

If you want to add a new agent CLI, see Build & extend → Agent CLIs.

Idle timeout

While the agent is producing output (executing LLM calls, running tools), agynd keeps the workload alive by sending keepalives every 10 seconds. When the agent stops producing output, the keepalives stop. After idle_timeout of no keepalives, the workload is shut down.

DurationWhen to use
30s-1mShort, transactional agents (lookup bots, classifiers).
5m (default)General-purpose conversational agents.
15m-1hAgents whose tools take a long time to return (large jobs, builds).
> 1hUse only with cost-conscious deployments — workloads sit idle until the timeout fires.

idle_timeout only starts after the agent goes idle. Long-running tool calls do not trigger it — agynd keeps touching the workload while a tool is running.

Availability

ValueWho can initiate a conversation with the agent
internal (default in Console)Any organization member, plus any identity holding an agent role.
privateOnly identities holding an agent role.

Availability does not affect whether the agent is visible — private agents still appear in lists. It only gates who can put them in a new conversation.

Editing and deleting

  • Editing the agent applies to future workloads. Workloads already running keep their current configuration until they restart.
  • Deleting an agent is destructive — it removes the agent and all its sub-resources (MCPs, hooks, skills, etc.). Conversations the agent participated in remain.

You need agent owner or org owner to delete. Agent maintainer can edit configuration but cannot delete or change availability.

Sub-resources

The agent's tabs in the Console map to separate documentation pages: