Skip to main content

About

Tools extend what LLM nodes can do beyond generating text. When a tool is attached to a node, the LLM can decide to invoke it mid-conversation — fetching data from an external system, running a calculation, querying a Knowledge Base, or executing a custom script — and incorporate the result into its response.
Tools are attached to individual LLM nodes. The LLM decides at runtime whether to call a tool based on the conversation context and the tool’s description.

Tool Types

Interactly supports four tool types, each designed for a different integration pattern:

Inbuilt Function

Pre-built functions provided by Interactly. Ready to use without any setup — select from the available catalogue and attach directly to a node.

Inline Python

Write a Python function directly in the tool configuration. The function runs in a sandboxed environment and can process inputs and return structured outputs.

External API

Call any external REST endpoint. Configure the URL, method, headers, and request body — with support for dynamic variables in all fields.

Knowledge Base

Query a Knowledge Base configured for your team. The tool performs a semantic search and returns the most relevant content for the LLM to use in its response.

Tool Type Comparison

Inbuilt FunctionInline PythonExternal APIKnowledge Base
Setup requiredNoneWrite functionURL + authKB must exist
Custom logicNoYesLimitedNo
External callsSometimesYesYesNo
Structured outputYesYesYesText chunks
Best forCommon actionsCustom processingThird-party APIsDocument lookup

Registering a Tool

All tools are managed in the Tools registry, accessible from Settings → Tools in the dashboard. Once registered, a tool is available to attach to any LLM node across all your workflows.
1

Open the Tools Registry

Navigate to Settings → Tools and click New Tool.
2

Choose the Tool Type

Select from Inbuilt Function, Inline Python, External API, or Knowledge Base.
3

Configure the Tool

Fill in the tool’s name, description, and type-specific settings. The description is important — the LLM uses it to decide when to call the tool.
Write tool descriptions as clear, action-oriented statements: "Look up a patient's upcoming appointments by their phone number" rather than "Appointment lookup". The more specific the description, the more reliably the LLM will invoke it in the right context.
4

Define Input & Output Schema

Specify the inputs the tool expects and the output fields it returns. These are used to map workflow variables into the tool call and extract results back out.
5

Save and Attach

Save the tool. It is now available to attach to any SAY_LLM or WORKER_LLM node in the workflow builder.

Attaching Tools to Nodes

Tools are attached at the node level in the workflow builder:
1

Open the Node Configuration

Click on a SAY_LLM or WORKER_LLM node in the builder to open its configuration panel.
2

Select Tools

In the Tools section of the node, click Add Tool and select from the registered tools available to your team.
3

Configure Input Mapping

Map the tool’s input fields to workflow variables or conversation context. For example, map {{patient_phone}} to the tool’s phone_number input field.
4

Review Output Mapping

Define how the tool’s response fields are stored as workflow variables for use in downstream nodes.
A single LLM node can have multiple tools attached. The LLM decides at runtime which tool (if any) to invoke based on the conversation context and each tool’s description.

Tool Configuration Details

Select from Interactly’s catalogue of pre-built functions. Each inbuilt function has a fixed input/output schema — no additional configuration is required beyond selecting it and mapping inputs.Inbuilt functions cover common actions such as date and time operations, basic data formatting, and platform-native capabilities.
Write a Python function in the tool editor. The function receives the tool’s input fields as arguments and must return a dictionary matching the defined output schema.
  • The function runs in a sandboxed environment with limited library access
  • Execution is subject to a timeout — keep functions lightweight
  • Use this type for custom data transformation, validation logic, or calculations that don’t require an external call
Inline Python runs in a restricted sandbox. Network calls, file system access, and most third-party libraries are not available. For external API calls, use the External API tool type instead.
Configure a REST API call with full control over the request:
  • URL — the endpoint to call; supports {{variable}} substitution for dynamic paths or query parameters
  • Method — GET, POST, PUT, PATCH, or DELETE
  • Headers — add authentication tokens or content-type headers; reference secrets via global variables marked as is_secret
  • Request Body — JSON body with {{variable}} substitution
  • Response Mapping — extract specific fields from the API response and expose them as tool outputs
Store API keys and tokens as Global Variables with is_secret enabled and reference them in headers as {{your_api_key}}. This keeps credentials out of the tool configuration UI.
Select a Knowledge Base configured for your team. At runtime the tool performs a semantic search against the KB using the LLM’s query and returns the most relevant content chunks.
  • Knowledge Base — select from your team’s available Knowledge Bases
  • Result Count — configure how many chunks to return per query
  • The returned content is passed directly to the LLM as context for its response

LLM Provider Support

Interactly supports six LLM providers. Tools with JSON schema are supported across all providers — the LLM receives the tool definitions and decides when to invoke them.
ProviderTool CallingStructured OutputStreaming
Azure OpenAIYesYesYes
OpenAIYesYesYes
Google (Gemini)YesYesYes
Anthropic (Claude)YesYesYes
AWS BedrockYesYesYes
CustomDepends on modelDepends on modelDepends on model
Instead of a single provider, you can configure an LLM group — an ordered list of providers with fallback logic. If the primary provider fails or is unavailable, the runtime automatically retries with the next provider in the group.This ensures your workflow remains operational even if a single provider experiences downtime.

API Reference

List Tools

GET /tools Retrieve all registered tools for your team

Create Tool

POST /tools Register a new tool in the tool registry

Update Tool

PATCH /tools/:id Modify an existing tool’s configuration

Delete Tool

DELETE /tools/:id Remove a tool from the registry

Next Steps

Node Types

See which node types support tool attachment

Building a Workflow

Learn how to attach tools to nodes in the workflow builder

Scheduled Workflows

Set up time-based and event-driven workflow triggers

Simulation

Test tool calls in a safe sandbox before going live