The specification of an AI agent, its role, capabilities, tools, constraints, and the model powering it.
An agent definition is the configured specification 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.
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 primitives. 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
model_refstringReference to the AI model powering this 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
agent_statusstringOperational status of this agent definition
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
7 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_produces_workflow_artifact