
AI Studio - Tools List
Overview
Tools in AGO enable agents to:- Execute external API calls
- Create support tickets and escalate to humans
- Send emails
- Invoke other specialized agents
- Search knowledge with parameters
- Return structured UI components
- Perform web searches
Prerequisites
System Requirements
- AGO platform deployed and accessible
- Admin access to configure tools
Knowledge Required
- Understanding of REST APIs (for HTTP tools)
- JSON Schema basics (for custom input schemas)
Configuration Required
- Agent created and configured
- API credentials for external services (if using HTTP tools)
Built-in Tools
AGO provides several built-in tools ready to use. Each tool has dedicated documentation with complete configuration guides.Ticketing Tool
Create support tickets and escalate to humans (
ago_ticketing)HTTP Request Tool
Make HTTP requests to external APIs (
ago_http_request)Send Email Tool
Send emails via AWS SES (
ago_send_email)Agent Invocation Tool
Delegate tasks to other agents (
ago_agent_invocation)Parameterized Search Tool
Search knowledge with filters (
ago_parameterized_search)UI Resource Tool
Return rich UI components (
ui_resource)Additional Tools
Tool Configuration
Tool Configuration Fields
Permission and Security Fields
Input Schema
Tools use input schemas to define their parameters. AGO supports two formats.- Simplified Format
- JSON Schema Format
Easy-to-use format for common parameter types:Supported Types:
str- Stringint- Integerfloat- Floatbool- Booleanstr[]orlist[str]- Array of stringsint[]orlist[int]- Array of integers
default- Default valueenum- Allowed valuesdescription- Parameter description
Tool Execution States
Tools can have different execution states, enabling interactive workflows.Interactive Tools
Tools can request user input mid-execution usingWAITING_INPUT state:
- Tool returns
status: "WAITING_INPUT"with aform_schema - Frontend renders the form to the user
- User submits the form via
/api/tool-calls/{id}/submit/ - Tool continues execution with user input
Creating Custom Tools
1
Create Tool Type (Optional)
Tool types serve as templates with default configurations:
- Navigate to AI Studio → Tools, then click Tool Types
- Click Create Tool Type
- Configure the template:
- Name: Internal identifier (e.g., “custom_api_tool”)
- Description: What this tool type is for
- Additional Info Schema: Define required configuration fields
- Click Save
2
Create Tool Instance
- Navigate to AI Studio → Tools
- Click Create Tool
- Select your tool type (or a built-in type)
- Configure the tool:
- Name: Internal identifier
- Display Name: User-facing name
- Description: What the tool does
- Additional Info: Tool-specific configuration (base URL, API key, etc.)
- Input Schema: Define parameters
- Prompt: Instructions for when/how to use
- Click Save
3
Assign to Agent
- Navigate to AI Studio → Agents
- Select the agent
- Go to the Tools tab
- Add your custom tool to the agent’s tool list
- Click Save
Tool Permissions
Restricting Tool Access
Tools can be restricted to users with specific permissions:- Edit the tool in AI Studio → Tools
- Go to the Permissions section
- Add Required Permissions to limit access
- Click Save
Source Restrictions
Limit tools to specific knowledge sources:- Edit the tool
- Go to the Sources section
- Add Source Restrictions to limit which knowledge sources the tool can access
- Click Save
Approval for Background Runs
For tools that perform sensitive write actions (issuing a refund, updating a record), you can require a human decision before a background agent may use them:- Edit the tool
- Go to the Access & Restrictions tab
- Turn on Require approval in background runs
- Click Save
Agents Using a Tool
When editing a tool, the Agents tab lists every agent that has this tool attached. Use it to check what depends on a tool before you change or remove it.- Edit the tool in AI Studio → Tools
- Open the Agents tab
- Click an agent in the list to open it
API Reference
For programmatic tool management, see the Public API v1 Reference.Best Practices
Tool Design
- Clear descriptions: Write descriptions that help the LLM understand when to use the tool
- Focused purpose: Each tool should do one thing well
- Sensible defaults: Provide default values for optional parameters
- Validation: Use input schemas to validate parameters
Security
- Least privilege: Only grant necessary permissions
- Source restrictions: Limit tools to relevant knowledge sources
- Secret management: Store API keys in the Secret Key field (encrypted at rest)
- Auth forwarding: Use Forward User Auth carefully, only when needed
Performance
- Timeout handling: External APIs may be slow; implement timeouts
- Error handling: Return helpful error messages
- Caching: Consider caching frequent tool responses
Troubleshooting
Tool not appearing for users
Tool not appearing for users
Problem: Users can’t see or use a configured tool.Solutions:
- Check if the tool is assigned to the agent in the Tools tab
- Verify the user has the required permissions
- Verify the tool status is active
HTTP tool requests failing
HTTP tool requests failing
Problem: AGO HTTP Request Tool returns errors.Solutions:
- Check if target URL is accessible (not internal IP - SSRF protection)
- Verify API credentials in the tool’s Additional Info configuration
- Check request format matches API expectations
- Review tool logs for detailed error messages
Tool validation fails
Tool validation fails
Problem: Tool creation/update fails with validation errors.Solutions:
- Verify the Input Schema format (simplified or JSON Schema)
- Check that the Additional Info matches the expected schema of the tool type
- Check that required fields are provided
Agent not using tool when expected
Agent not using tool when expected
Problem: Agent doesn’t call tool when it should.Solutions:
- Review the tool’s Description and Prompt — make them clearer
- Check if tool is assigned to the agent
- Verify user message clearly indicates need for tool
- Test with explicit tool-triggering phrases
Interactive tool form not appearing
Interactive tool form not appearing
Problem: Tool is in WAITING_INPUT but no form shows.Solutions:
- Verify the form schema is properly formatted
- Check frontend widget supports interactive tools
- Verify tool returns correct status
Related
Ticketing Tool
Create support tickets
HTTP Request Tool
Call external APIs
Send Email Tool
Send emails
Agent Invocation Tool
Delegate to other agents
Parameterized Search Tool
Advanced retrieval
UI Resource Tool
Rich UI responses
Writing Tool Descriptions
How to write effective descriptions
