- To enable models to “call” tools that perform external tasks, and then use those results to produce a final response
- To coerce a model into production structured outputs that match a given JSON schema
- Add web-browsing capabilities (using tools like Browserbase)
- Perform complex computations
- Access external APIs