Durable vs. Temporary Tools
Understand when to use durable tools versus temporary tools for different development stages and use cases.
Custom tools in Ultravox come in two varieties: durable and temporary. Understanding when to use each type is crucial for effective development and production deployment. Choose the approach that fits your development stage and team structure. Consider starting with temporary tools for rapid development, then graduate to durable tools for production stability and team collaboration.
Quick Comparison
Aspect | Temporary Tools | Durable Tools |
---|---|---|
Creation | In call request body | Via Tools API or the Web app |
Persistence | Call-scoped only | Permanently stored |
Reusability | Single call | Across calls and agents |
Ultravox Web App Integration
Web App Compatibility
If you plan to use agents in the Ultravox web app or share them with team members who use the web app, you must use durable tools. Temporary tools are only available for agents created via API.
Agents Created in Web App
- ✅ Durable Tools: Can be selected and used
- ❌ Temporary Tools: Not supported
Agents Created via API
- ✅ Durable Tools: Can be referenced by name or ID
- ✅ Temporary Tools: Can be defined inline
Temporary Tools
Temporary tools are defined inline when creating a call and exist only for that specific call session.
When to Use Temporary Tools
✅ Early Development: Rapid prototyping and experimentation.
✅ Testing New Ideas: Quick iteration without overhead of separately creating or updating the tool.
✅ One-off Use Cases: Tools needed for a single specific call.
✅ Development Environment: Testing before creating durable versions.
Web App Compatibility
If you plan to use agents in the Ultravox web app or share them with team members who use the web app, you must use durable tools. Temporary tools are only available for agents created via API.
Creating Temporary Tools
Temporary Tool Limitations
❌ Not Reusable: Must redefine for every call.
❌ No Web App Support: Can’t be used with agents created in Ultravox web app.
❌ API Creation Only: Only work with agents created via API.
❌ No Team Sharing: Can’t share tools across team members easily.
Durable Tools
Durable tools are created once via the Ultravox web app or Tools API and can be reused across multiple calls and agents.
When to Use Durable Tools
✅ Production Applications: Stable, tested functionality.
✅ Web App Agents: Required for agents created in Ultravox web app.
✅ Team Collaboration: Share tools across team members or split ownership of tools from the rest of your agent.
✅ Reusable Functionality: Use same tool across multiple agents.
✅ Stable APIs: When tool definitions won’t change frequently.
Creating Durable Tools
See the Tools Quickstart → for an introduction to creating a durable tool using the Ultravox web app.
Using Durable Tools
Durable tools are added at call creation time via the selectedTools
array and can be added by name or ID.
Durable Tool Limitations
❌ Slower Iteration: Requires API calls or using the web app to create/update.
❌ API Dependency: Need to manage tool lifecycle via the Ultravox web app or API.
❌ Update Overhead: Changes affect all existing usage.
Recommended Development Workflow
Prototype with Temporary Tools
Start with temporary tools for rapid iteration and testing
Stabilize and Test
Refine your tool definition through multiple iterations
Create Durable Version
Once stable, create a durable tool for production use
Deploy and Reuse
Use the durable tool across all agents and applications