How Tools Work
When you make a request to the/v1/agents/heroku endpoint with tools enabled, Heroku:
- Sends your prompt and tool definitions to the model
- The model decides which tools to call based on the user’s request
- Heroku executes the tool calls in secure, isolated dynos
- Results are returned to the model for the final response
Types of Tools
Built-in Tools
Execute code, run SQL queries, and process documents using Heroku’s first-party tools
Connectors
Connect to external services like Jira, Salesforce, Zendesk, and more via MCP servers
Custom Tools
Build your own tools using the Model Context Protocol (MCP)
Quick Example
Enable code execution for your agent:- Python
- cURL
Tool Categories
| Category | Tools | Use Cases |
|---|---|---|
| Code Execution | code_exec_python, code_exec_ruby, code_exec_node, code_exec_go | Data processing, calculations, algorithm testing |
| Database | pg_psql, pg_vector_query | SQL queries, vector similarity search |
| Documents | doc_reader | PDF/HTML parsing, content extraction |
| Web Search | Bright Data, Exa AI | Real-time web search, content scraping |
| Browser | Playwright | Web automation, screenshots, form filling |
| Enterprise | Jira, Salesforce, Zendesk | CRM, ticketing, project management |
Security
All tools run in isolated, one-off dynos with:- Process isolation - Each tool execution is sandboxed
- Time limits - Configurable TTL prevents runaway processes
- Call limits - Set maximum tool invocations per request
- Read-only databases - Database tools require follower databases by default
Next Steps
Built-in Tools
Use Heroku’s code execution, SQL, and document tools
Connectors
Connect to Jira, Salesforce, Zendesk, and more
Custom Tools
Build and deploy your own MCP tools
Agents API
Full API reference for the agents endpoint