Skip to main content
Version: Next

Agent and Agent Life Cycle

An Agent is the core workload in WSO2 Agent Manager. A registered AI agent that belongs to a project, optionally builds and deploys through the platform, and is governed and observed once it's running.

What Makes Up an Agent​

An agent's definition combines several pieces, each independently configurable:

  • Type — whether the agent is Platform-Hosted or Externally-Hosted, and its language/runtime.
  • Provisioning — for platform-hosted agents, the source repository, branch, and path the platform builds from.
  • Build — the build strategy: buildpack (language + start command, e.g. Python) or docker (a Dockerfile in the repository).
  • Configurations — runtime settings: auto-instrumentation, environment variables, API key / OAuth security, CORS, and resilience timeouts.
  • Kind — optionally, an agent can be created from a published Agent Kind rather than a raw repository.

Life Cycle Actions​

Moving an agent from registered to running in production is a sequence of distinct, separately-permissioned actions rather than one deploy step:

ActionPermissionWhat it does
Createamp:agent:createRegisters the agent in a project.
Buildamp:agent:buildBuilds a deployable artifact from the agent's source (platform-hosted only).
Deploy (non-production)amp:agent:deploy-non-productionDeploys a built artifact to a non-production environment.
Deploy (production)amp:agent:deploy-productionDeploys to a production environment — a separate permission from non-production deploys.
Promoteamp:agent:promoteMoves a deployed version to the next environment in the project's deployment pipeline.
Rollbackamp:agent:rollbackReverts an environment to a previously deployed version.
Suspendamp:agent:suspendStops a deployed agent without deleting it.

Splitting production deploys from non-production ones means someone can be trusted to push to staging without being trusted to push straight to production — the same separation the deployment pipeline enforces at the environment level.

Deployment Status Per Environment​

An agent's deployment status is tracked independently for each environment it targets, not as one global state for the agent. Each environment reports one of five states:

StatusMeaning
activeDeployed and able to serve traffic.
in-progressA deployment is under way — either still rolling out, or applied but with pods that haven't passed their readiness probe yet.
failedThe deployment did not come up successfully.
not-deployedThe agent has never been deployed to this environment.
suspendedPreviously deployed, then stopped by the suspend action.

The distinction between in-progress and active matters in practice, an agent whose configuration has been applied but whose container is still booting is reported as in-progress rather than active, so callers don't invoke it and receive a 503.