The specification of an AI agent, its role, capabilities, tools, constraints, and the model powering it.
An agent definition is the configured specificationSpecificationFoundationsA canonical open standard or specification that primitives and products conform toView reference → of an AI agent: its instructions, the tools it may call, the model behind it, and the permissions that fence what it can touch. It is the template, stable and versionable, that every run instantiates. The agentic-AI wave of 2023 to 2025 made this object concrete, as LLM tool-use, agent frameworks, and the Model Context Protocol turned "a prompt" into a packaged, deployable thing with a name and a contract.
The research behind this shift is worth naming. Yao et al.'s ReAct showed that a language model behaves more reliably, and leaves a more interpretable trace, when its reasoning and its tool actions are interleaved in a single loop — Thought, Action, ObservationObservationUser ResearchA specific behaviour or statement observedView reference → — rather than reasoning in isolation. In the paper the action set is fixed by the taskTaskProduct SpecificationA unit of work within a story or epicView reference → and its environment: a Wikipedia search-and-lookup interface for question answering, navigation commands for the ALFWorld and WebShop benchmarks. ReAct does not itself theorise tool declaration as a mechanism, but it makes the dependencyDependencyTeam & OrganisationA cross-team or system dependencyView reference → visible — a run can only act through the actions made available to it. An agent definition is where that set is fixed explicitly and up front: naming the tools an agent may call is, by this reading, what gives each later run something stable and inspectable to act through.
A team configures an agent definition called ReleaseReleaseProduct SpecificationA shipped version of the productView reference → Notes Drafter. Its specification names the model, grants three skills (read the merged pull requests, query the changelogChangelogProduct SpecificationA record of changes shipped in a releaseView reference →, post a draft to the docs repo), and sets a permission boundary: read-only on code, write-only to a single draft branch. The definition itself does no work. When a tagged release lands, the agent definition runs an agent sessionAgent SessionWorkflows & AgentsAn agent working sessionView reference → that reads the diff, drafts the notes, and opens a draft pull request. The same template can run a hundred times across a hundred releases, and each run is traceable back to the one specification that produced it.
In the Unified Product Graph, an agent definition sits in the automation region as the hub of the agent primitivesPrimitiveFoundationsA canonical reusable building block defined by a specificationView reference →. A product owns its agents through Productassisted byAgent Definitionhierarchy. From the definition, three edges fan out: product_assisted_by_agent_definitionAgent DefinitionrunsAgent Sessionhierarchy records each execution, agent_definition_runs_agent_sessionAgent Definitioncapable ofAgent Skillhierarchy declares its capabilities, and agent_definition_capable_of_agent_skillAgent Definitiontriggered viaAgent Hookhierarchy wires it to its triggers. It can also agent_definition_triggered_via_agent_hookAgent DefinitionspawnsAgent Taskhierarchy to assign discrete work. Keeping the definition distinct from its sessions means the specification stays auditable while the runs accumulate underneath it, so a question like "what is this agent allowed to do, and what has it actually done?" has two clean answers.agent_definition_spawns_agent_task
Type-specific fields on BaseNode
agent_rolestringRole the agent plays within a workflow
agent_scopestringBoundaries of what this agent can act on
goalstringPrimary objective the agent is trying to achieve
backstorystringContext or persona narrative for the agent
allow_delegationbooleanWhether the agent can delegate tasks to other agents
memory_enabledbooleanWhether the agent retains memory across sessions
max_iterationsnumberMaximum number of reasoning iterations allowed
max_execution_time_secondsnumberHard timeout for agent execution in seconds
allow_code_executionbooleanWhether the agent can execute generated code
multimodalbooleanWhether the agent can process images and other media
versionstringVersion label for this agent definition (e.g. "1.4.2")
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
5 phases, initial: testing
8 edge types connected to this entity.
product_assisted_by_agent_definitionagent_definition_runs_agent_sessionagent_definition_capable_of_agent_skillagent_definition_triggered_via_agent_hookagent_definition_orchestrates_workflow_templateagent_definition_spawns_agent_taskagent_definition_uses_ai_modelagent_definition_produces_workflow_artifact