Custom Tool
The Custom Tool node allows users to integrate custom-created tools within their solutions. It provides a flexible way to incorporate user-defined functionalities into the conversation flow.
Node Details
-
Name: CustomTool
-
Type: CustomTool
-
Version: 2.0
-
Category: Tools
Input Parameters
-
Select Tool
-
Label: Select Tool
-
Name: selectedTool
-
Type: asyncOptions
-
Load Method: listTools
-
Description: Allows the user to select a custom tool from the list of available tools in the database.
-
-
Return Direct
-
Label: Return Direct
-
Name: returnDirect
-
Type: boolean
-
Optional: true
-
Description: If set to true, the output of the tool will be returned directly to the user without further processing.
-
Functionality
-
The node fetches available custom tools from the database and presents them as options for the user to select.
-
It initializes the selected tool with the provided configuration, including any custom overrides for the tool’s name, description, schema, and function.
-
The node supports dynamic variable resolution, allowing the tool to access variables defined in the chatflow.
-
It creates a DynamicStructuredTool instance that can be used within the chatflow to execute the custom tool’s functionality.
Technical Details
-
The node uses TypeORM for database interactions to fetch and manage custom tools.
-
It leverages the Zod library for schema validation and transformation.
-
The custom tool’s function is dynamically evaluated and executed within the context of the chatflow.
-
The node supports overriding various aspects of the tool, including its name, description, schema, and function, allowing for flexible customization.
Use Cases
-
Integrating specialized data processing or analysis tools into a conversation flow.
-
Adding custom API calls or external service integrations within a chatbot interaction.
-
Implementing domain-specific logic or calculations as part of a conversational AI system.
Notes
-
The node requires access to the application’s data source and database entities to function properly.
-
Custom tools must be pre-defined and stored in the database before they can be used with this node.
-
The node supports dynamic schema definition using Zod, allowing for complex input validation for custom tools.