Create and Edit Tools
The Create and Edit Tool interface allows you to create, modify, and manage custom tools used by Aiimigo.
You can create multiple configurations of the same name for different scenarios. This allows you to control parameter values and improve tool calling accuracy.
Interface Components
Basic Configuration
ID Field
Purpose: Unique identifier for the tool.
Format: Use descriptive names with underscores (e.g.,
search_ai_demo
).Requirements: Must be unique across all tools.
Best Practice: Use clear, descriptive names that indicate the tool's function.
Function Name
Purpose: The underlying function that will be called (see list of valid tool types).
Format: Human-readable name (e.g., "Search").
Usage: This name appears in tool lists and user interfaces.
Description
Purpose: Brief explanation of what the tool does.
Best Practice: Keep concise but informative.
Example: "The AI Demo search call".
Enabled Toggle
Purpose: Controls whether the tool is available to use.
States:
✅ Enabled (green) - Tool is active
❌ Disabled (red) - Tool is inactive
Function Definition
The Function Definition contains the JSON schema that defines how the tool operates.
Key Elements:
Function Object Structure:
type
: Always set to "function".function
: Contains the main function definition.
Function Properties:
name
: Internal function name this should match the Function Name field.description
: Detailed explanation of the function's purpose and usage.parameters
: Defines the input parameters the function accepts.
Parameters Structure:
type
: Usually "object" for complex parameters.properties
: Defines each parameter the function accepts.Each property should have:
type
: Data type (string, number, boolean, etc.).description
: Clear explanation of what the parameter does.
Access Control Groups
Purpose: Restricts which user groups can access this tool.
Configuration: Start typing to search and select groups.
Best Practice: Only grant access to groups that need the functionality.
Tool Configuration Options
Add Tool Data
Purpose: Checkbox to pass the tool response to the LLM.
When to use: If the LLM model needs to know results from a tool call. In most cases you will want this enabled. There are some 'client side' tools that do not need to pass anything back.
Call Generative
Purpose: Checkbox to tell Aiimigo to post the results of tool calls back to the model.
When to use: If the model needs the tool call results to proceed. For example, you have performed a search or called called the aggregations tool.
Available Out of the Box Tools
Purpose: Dropdown to select a 'function name'. Listed here are the out of the box functions.
Usage: Use as starting points for common tools.
Configuration Best Practices
Naming Conventions
IDs: Use lowercase with underscores (
search_customer_data
).Function Names: These need to match the underlying function name.
Descriptions: Start with action verbs ("Performs", "Retrieves", "Creates").
Parameter Design
Required vs Optional: Clearly define which parameters are required.
Data Types: Use appropriate types (string, number, boolean, array, object).
Descriptions: Provide clear guidance on parameter usage and format.
Validation: Include format requirements and constraints.
Security Considerations
Access Control: Always configure appropriate access control groups for tools that perform updates (i.e. UpdateFile).
Parameter Validation: Ensure parameters are properly validated.
Sensitive Data: Avoid exposing sensitive information in descriptions.
Testing: Thoroughly test tools before enabling in production.
Validation and Testing
JSON Validation
Use the "Validate JSON" button to check syntax.
Use "Pretty Print JSON" to format the JSON properly.
Ensure all brackets and quotes are properly closed.
Troubleshooting
Tool Not Appearing
Check if the tool is enabled.
Verify access control groups are properly configured.
Ensure the user has appropriate permissions.
JSON Validation Errors
Check for missing commas, brackets, or quotes.
Verify parameter types match expected formats.
Use the built-in validation tools.
Parameter Issues
Ensure required parameters are clearly marked.
Check parameter descriptions are clear and actionable.
Verify data types are appropriate for the use case.
Performance Issues
Review tool complexity and optimise if needed.
Consider parameter validation to reduce processing.
Monitor tool usage and response times.
Maintenance
Regular Tasks
Review Access: Periodically audit the access control groups.
Update Descriptions: Keep tool descriptions current and accurate.
Monitor Usage: Track which tools are being used and how often.
Performance Review: Check tool performance and optimise as needed.
Version Control
Document changes when updating tools.
Test updates in staging environments first.
Maintain backups of working configurations.
Consider versioning for major tool updates.
Support and Documentation
Internal Documentation
Maintain detailed documentation for any custom tools.
Include use cases and examples.
Document any limitations or known issues.
User Training
Provide training materials for end users.
Include examples of proper tool usage.
Create troubleshooting guides for common issues.
Change Management
Establish approval processes for tool changes.
Communicate updates to affected users.
Maintain change logs for audit purposes.
Last updated