Skip to main contentThe Agent Form defines a set of fields that the agent is responsible for maintaining throughout a session.
State Management
As the agent interacts with users and triggers tools, it “fills out” these fields. This serves as a structured scratchpad that persists across multiple turns, ensuring the agent doesn’t lose track of critical information.
Access Control Lists (ACLs)
Each field in an Agent Form has its own ACL to control which entities in your agent hierarchy can see or modify the data. This is critical for maintaining security and data integrity in complex, multi-agent workflows.
You can configure two types of scopes for every field:
- Read Scope: Who can view the value of the field.
- Write Scope: Who can update the value of the field.
Scope Options
For both reading and writing, you can choose from three levels of access:
- Private (Default): Only the agent that defines the field can access it. This is best for internal “thoughts” or session state that shouldn’t be exposed to subagents.
- Public: Any agent or subagent within the session hierarchy can read or write to this field. This is useful for shared global state like
user_id or session_language.
- Custom: You can explicitly select specific subagents from your hierarchy that are allowed to access the field. This allows for a “need-to-know” architecture where data is only shared with the specific specialists that require it.
Use Cases
- Data Isolation: Use Private scopes for sensitive internal reasoning that subagents don’t need to see.
- Selective Delegation: Use Custom scopes to pass specific data (like
payment_token) only to a “Billing” subagent while keeping it hidden from a “General Support” subagent.
- Global Context: Use Public scopes for essential metadata that every entity in the agent tree needs to be aware of.
Next