CANONICAL TYPE REFERENCE
AIAgentState
A reusable AI agent persona definition for LLM-driven workflow tasks
Unique identifier
nameString!Display name
descriptionStringOptional description
roleString!Short role title
goalString!What this agent is trying to achieve
backstoryString!Rich context about expertise and perspective
Which AI adapter to use for LLM calls
modelStringModel override
temperatureFloatTemperature override
maxTokensIntMax response tokens override
systemPromptTemplateStringAdditional system prompt template
Expected output format
maxIterationsInt!Max tool-calling iterations
Tools this agent can use
allowedGraphQLOperations[String!]Allowlist of GraphQL operations
Timeout for a single invocation
createdAtString!Creation timestamp (ISO8601)
updatedAtString!Last update timestamp (ISO8601)
View exact SDL
"""A reusable AI agent persona definition for LLM-driven workflow tasks"""
type AIAgentState @iac_resource(name: "ai_agent") @iac_ops(create: "createAIAgent", read: "getAIAgent", update: "updateAIAgent", delete: "deleteAIAgent") {
"""Unique identifier"""
id: AIAgentID! @iac_identity(assignedBy: SERVER) @iac_computed
"""Display name"""
name: String!
"""Optional description"""
description: String
"""Short role title"""
role: String!
"""What this agent is trying to achieve"""
goal: String!
"""Rich context about expertise and perspective"""
backstory: String!
"""Which AI adapter to use for LLM calls"""
adapterId: AIAdapterID! @iac_ref(resource: "ai_adapter")
"""Model override"""
model: String
"""Temperature override"""
temperature: Float
"""Max response tokens override"""
maxTokens: Int
"""Additional system prompt template"""
systemPromptTemplate: String
"""Expected output format"""
responseFormat: AgentResponseFormat!
"""Max tool-calling iterations"""
maxIterations: Int!
"""Tools this agent can use"""
tools: [AgentToolRef!]!
"""Allowlist of GraphQL operations"""
allowedGraphQLOperations: [String!]
"""Timeout for a single invocation"""
maxExecutionTimeSeconds: Int
"""Creation timestamp (ISO8601)"""
createdAt: String! @iac_computed
"""Last update timestamp (ISO8601)"""
updatedAt: String! @iac_computed
}One stable address across all schema views. Follow a field’s type to explore connections between domains.