Pattern
INT·Jun 26
Call Options: prepareCall
Dynamically configure one ToolLoopAgent per request with callOptionsSchema and prepareCall. A customer-support agent rewrites instructions, gates tools, tunes reasoning effort, and injects RAG context based on account tier and urgency.
View Full Pattern on Desktop

Problems Solved
- Configure one agent dynamically per request instead of many agents
- Inject per-user RAG context into instructions at runtime
- Gate tools by account tier with activeTools
- Tune reasoning effort by request urgency
Use Cases
- Multi-tier customer support agents
- Per-user RAG injection
- Role-based tool access
- Runtime model and provider option selection
AI SDK APIs
ToolLoopAgentcallOptionsSchemaprepareCallactiveToolsproviderOptionstoolgateway
Tags
aiagentscall-optionsprepare-calldynamic-configragtool-loop-agentai-sdkagent-api
Requirements
- Node.js
- 24+
- Memory
- 512MB
- Other
- OpenAI API key
Environment Variables
OPENAI_API_KEYGet key →
External Services
openai
Ready to use?
View the full interactive pattern with live preview and copy the source code.
View Pattern on DesktopRelated Patterns


Loop Control: stopWhen
Demonstrate ToolLoopAgent loop control with stopWhen. Covers stepCountIs, hasToolCall, combined conditions, and a custom StopCondition with step timeline visualization.
aiagents+7
View →


PrepareStep: Trim Message History
Demonstrate ToolLoopAgent prepareStep for trimming long message history. Pre-seeded 24-message conversation shows context compression on the first run with per-step trim telemetry.
aiagents+6
View →
End of Pattern



