Skip to content

Tools

Configure tools that extend your agents' capabilities — from knowledge retrieval and CRM integrations to human handoff and custom API calls.


Overview

Tools are actions and integrations that agents can invoke during conversations. They allow your agent to go beyond simple text responses — retrieving documents, calling external APIs, handing off to human agents, creating CRM leads, and more.

Tools are configured at the workspace level under Settings > Processors > Tools, then assigned to individual agents under Agent Settings > Tools.

Tools List


Available Tool Types

Tool Description
Context Provides static or dynamic context to the agent — text, document, or knowledge repository
Retrieval Searches a knowledge repository to find relevant document chunks for the agent's response
Chat with User Selected Documents Lets users select specific documents from search results for focused chat conversations
Custom Call any external API with custom request/response mapping
Webhook Send data to an external URL via HTTP webhook
Multi-Step Custom Chain multiple API calls in sequence for complex workflows
Human Agent Hand off the conversation to a human agent with queue management and rating
Agent to Agent Transfer conversations between different agents
User Memory Persist user-specific information across conversations
Context Memory Store and retrieve contextual data with smart merging across configurable scopes
Data Visualization Generate visual data representations within chat responses
Salesforce Create Lead Create leads directly in Salesforce from conversation data
Hubspot Create Lead Create leads directly in HubSpot from conversation data
Calendly Integrate Calendly scheduling into agent conversations

Core Tools

Context

The Context tool provides the agent with background information to work with. There are two primary types:

Static Context — fixed information that does not change:

Method Description
Text Directly input text as context by pasting into the text field
Document Upload a single file (PDF, TXT, DOCX — max 25MB) as context
Knowledge Repository Select a pre-existing knowledge repository; all documents collectively serve as context

Dynamic Context — obtained from the webpage the agent is operating on (Floating Widget/Sidebar only):

  • Enable "Use Dynamic Context from the Webpage for Floating Widget/Sidebar Agent"
  • Configure the Get Contents Code — a JavaScript snippet that extracts content from the page
  • Default: return document.body.innerTEXT; (uses all page content)

User Provided Context

When "Allow User Provided Context" is enabled, end users can upload their own documents. If both admin and user context are configured, user-provided context takes precedence.


Retrieval

The Retrieval tool performs vector search against a knowledge repository to find and return the most relevant document chunks for each user query. This is the core tool for RAG (Retrieval-Augmented Generation) workflows.


Chat with User Selected Documents

Enables end users to select specific documents from search results within a Search Type agent and initiate a focused chat conversation using only those documents as context.

Setup requires two agents:

  1. Search Agent — enable "Enable Chat with Selected Documents" in Behavior settings and designate a Chat Type agent
  2. Chat Type Agent — must be configured with the "Chat with User Selected Documents" tool, which inherits the parent Search Agent's knowledge repository

End-user flow:

  1. User searches in Non-AI mode and selects up to 10 documents
  2. Clicks "Start Chat" to open a new chat session with those documents as context — opens in the same browser tab (browser back button returns to the Search Agent view). Works consistently across Chrome, Firefox, Edge and Safari
  3. Can toggle between Full Documents and Relevant Chunks modes
  4. A real-time capacity visualization bar tracks token usage
  5. System automatically falls back to Retrieval Mode if documents exceed 100% context capacity

Human Agent

Hands off the conversation from the AI to a human agent. Includes queue management, timeout configuration, and end-of-session rating.

Key configuration fields:

Field Description
Maximum Queue Time Max duration a transfer request stays in the agent queue before returning to AI
Agent Console Notification Idle Timeout Max time a human agent can be idle after receiving a notification. Set to 0 to disable
Mid-Conversation Agent Idle Timeout Max inactivity time during an active conversation before returning to AI
Agent No Response Message Message shown when the idle timeout is exceeded
Human Agent Transfer Message Custom greeting when an agent takes over. Supports {{human_agent_name}} placeholder
Notification Sound Select from multiple notification sound options
Chat Rating Enable 5-star rating and optional feedback after human-agent sessions

Agent to Agent

Communicate with another agent using API calls. Useful for specialized workflows where different agents handle different types of tasks. Cyclic loops are automatically prevented.

Field Required Description
Tool Name Yes Descriptive name
Description (Tool Selection Instructions) Yes Prompt instructing the LLM when to use this tool for agent-to-agent communication
Sub Agent Slug Yes The slug identifier of the sub agent to communicate with
API Key Yes API key for authenticating with the sub agent. Use {{SECRETS.KEY}} for workspace secrets
Sub Agent Prompt Instruction Yes The message or query to send to the sub agent
Schema No Properties are automatically added to user_data and passed to the sub agent
Tool Custom Agent Instructions No Additional instructions when the tool is used. Use {response} placeholder for the tool's response
Timeout (seconds) Yes Maximum time to wait for response from sub agent (default: 60 seconds)
Max Output Length Yes Maximum character length of the response. Use -1 for no truncation (default: -1)
Return Direct No Return response directly to user without further LLM processing
Error Message No Custom error message when the tool fails

User Memory

Persists user-specific information across all conversations for a specific user. The agent can store and recall facts about the user (preferences, past interactions, account details) between sessions.

Tool Configuration Fields

Field Required Description
Tool Name Yes Descriptive name (e.g., User Memory Staging)
Description (Tool Selection Instructions) Yes Prompt instructing the LLM when to use this tool (e.g., "Use this tool ONLY when a user explicitly types the command '/remember'…")
Instructions Yes The user-specific instructions or preferences to remember. Helper note: "User instructions content to append (max 5000 characters total)". Wired as input to the merge step — not raw-appended
Merge Instructions Yes Tool-level rules for how the LLM should combine new and existing memory. A Default link inserts a built-in rule set (conflict resolution, deduplication, consolidation). Editable per agent for fine-grained control

User Memory — Merge Instructions User Memory tool configuration with the Merge Instructions field — rule-based merge logic (conflict_resolution, deduplication, …) is editable at the tool level; click Default to restore the built-in rules

Why this matters

Previously the "User instructions content to append" field appended content directly without applying merge logic, causing memory bloat, duplicates, and occasional merge failures. Merge Instructions now reliably guide the LLM on how to combine new and existing memory — preventing bloat and keeping the memory store clean.


Context Memory

Stores and retrieves contextual data with smart merging logic. Supports multiple persistence scopes:

Scope Persistence Level
Turn Current request only
Conversation Throughout the active session
User Across all conversations for a specific user
Agent Shared across all conversations for that agent
Workspace Shared across all agents in the workspace

Advanced configuration:

Field Description
Knowledge Repository Select a "Memory" type repository for storage
Prefix Unique identifier to isolate data when multiple Memory Tools are active
Content The data to store
Merge Instruction Rules for how new information should be combined with existing memories
Merge Model & Controls Select a model and tune Temperature and Max Tokens for deterministic memory updates

Integration Tools

Custom

A generic tool that executes a custom JavaScript function to perform any logic — calculations, data transformations, API calls, or custom business rules.

Custom Tool Form

Field Required Description
Tool Name Yes Descriptive name (e.g., "Calculation")
Prompt Yes Instruction telling the LLM when to use this tool (e.g., "Use this tool to perform mathematical analysis.")
Schema Yes Define properties the LLM must provide — each with a name, description, and required toggle
Javascript Function Yes The JavaScript code that executes the tool logic. Has access to schema.<property> for LLM-provided values

Example — Calculation tool:

Schema properties: operation, left, right

try {
  const operation = schema.operation;
  const left = parseFloat(schema.left);
  const right = parseFloat(schema.right);
  // Perform calculation based on operation...
}

Webhook

An HTTP tool for calling external APIs. The API must respond within 10 seconds.

Field Required Description
Tool Name Yes Descriptive name
Description (Tool Selection Instructions) Yes Prompt instructing the LLM when to use this tool
Tool Custom Agent Instructions No Additional instructions when the tool is used. Use {response} placeholder for the tool's response
Schema No Properties for the LLM to provide (used in URL, body, headers via {{schema.property}})
URL Yes The API endpoint. Supports placeholders (see below)
Method Yes HTTP method: GET, POST, PUT, DELETE
Body No JSON body for POST/PUT requests. Supports placeholders
Headers No HTTP headers (e.g., Content-Type: application/json)
Response Path No JSONPath to extract from response. Leave blank for entire response
Max Output Length No Maximum characters to return (default: 2000)
Error Message No Message sent to LLM if the webhook fails

Available placeholders in URL, Body, and Headers:

Placeholder Description
{{schema.property}} Values provided by the LLM from the schema
{{data.parameter}} Parameters set by the embed widget
{{data.userInformation.name\|email\|id}} Logged-in user details (Web App and Sidebar)
{{SECRETS.KEY}} Workspace secrets configured under Settings

Additional Parameters:

Field Description
Preprocessing Javascript Function Runs before the webhook call. Can access data, schema, ld (lodash), llmUtil.call(), and getWorkspaceSecret(). If it returns {returnDirect: true, text: 'message'}, the webhook call is skipped
Return Direct When enabled, returns the webhook response directly to the user without sending it through the LLM

Multi-Step Custom

A specialized tool that executes a series of steps in order — like a purchase journey or multi-stage workflow. Each step is a separate API call or action that can use outputs from previous steps.

Field Required Description
Tool Name Yes Descriptive name (e.g., "Service-Purchase-Flow")
Prompt Yes Instruction telling the LLM when to use this tool
Schema Yes Properties the LLM must provide for the entire flow
Steps Yes Ordered list of steps (Step 1, Step 2, ...). Each step can be expanded to configure its own API call

Click "Add Step" to add more steps to the sequence. Each step executes in order, and outputs from earlier steps can be referenced by later ones.


Salesforce Create Lead

Tool for interacting with Salesforce APIs, focusing on lead management. Creates leads directly in Salesforce from conversation data.

Field Required Description
Tool Name Yes Descriptive name
Description (Tool Selection Instructions) Yes Prompt instructing the LLM when to use this tool
Account Connection Mode Yes Global (admin-configured account shared across all users) or User (each authenticated user connects their own account)
Connect Yes Authenticate with Salesforce. Click Save after connecting or disconnecting
Schema Yes Properties the LLM extracts from the conversation (FirstName, LastName, Email, Phone, Company, Description)
Lead Payload Yes JSON template mapping schema properties to Salesforce fields. Supports {{schema.property}} and {{data.parameter}} placeholders
Error Message No Message to LLM if the operation fails
Create Task No Optionally add a task when creating the lead

Hubspot Create Lead

Tool for interacting with HubSpot APIs, focusing on lead management. Works identically to the Salesforce tool but maps to HubSpot's API structure.

Field Required Description
Tool Name Yes Descriptive name
Description (Tool Selection Instructions) Yes Prompt instructing the LLM when to use this tool
Account Connection Mode Yes Global or User (same as Salesforce)
Connect Yes Authenticate with HubSpot
Schema Yes Properties the LLM extracts (FirstName, LastName, Email, PhoneNumber, Company, Message)
Lead Payload Yes JSON template with properties object mapping to HubSpot fields
Error Message No Message to LLM if the operation fails
Create Task No Optionally add a task when creating the lead

CRM Schema Best Practice

For both Salesforce and HubSpot, use descriptions like "if not found keep it blank. Do not construct anything of your own." to prevent the LLM from hallucinating contact details.

Account Connection Mode — Global vs User

Both Salesforce and HubSpot lead creation tools support a per-tool Account Connection Mode, letting admins choose how authentication is handled:

Mode Authentication Lead Attribution Notes
Global (default) Admin-provided credentials configured at the tool level All leads attributed to the shared configured account Existing behavior — unchanged
User Each authenticated user supplies their own credentials when creating a lead Leads associated with the individual user For Salesforce, users must also provide their Instance URL. HubSpot does not require an instance URL

Salesforce Create Lead — Global Mode Salesforce Create Lead tool with Account Connection Mode set to Global — the admin-configured account (Authorized Username, Connected/Disconnect controls) is shared across all users. Helper text below the toggle summarizes both modes Salesforce Create Lead — User Mode Salesforce in User mode — no shared admin credentials. An Instance URL field is required so each user's credentials resolve to the correct Salesforce org (e.g., mycompany.my.salesforce.com)

HubSpot Create Lead — User Mode HubSpot in User mode — no Instance URL required; the form goes straight from the mode toggle to the Schema

User Mode — End-User Connection Persistence

When a user connects their own credentials in User mode, the connection is persisted on the user's Account page under the User Connections section, where they can review or delete the connected account at any time. The table shows the Application (HubSpot / Salesforce), the originating Tool, Instance URL (when applicable), Username, Status, and a delete action.

End-User Account Page — User Connections End-user Account page — User Connections section listing a connected HubSpot tool (Status: Connected). The trash icon disconnects the account


Calendly

Tool for scheduling meetings directly within agent conversations. When invoked, the agent displays a Calendly scheduling interface (inline or popup) to the user.

Field Required Description
Tool Name Yes Descriptive name
Description (Tool Selection Instructions) Yes Prompt instructing the LLM when to use this tool
Personal Access Token Yes Personal access token from Calendly
URL Yes Calendly scheduling page link
Message No Message shown to user when the tool is invoked successfully
Scheduling Button Label Yes Label for the button used to open the scheduling interface
Schema Yes Properties the LLM extracts from the conversation (Name, PhoneNumber, Email)
Scheduling Payload Yes JSON template mapping schema properties to Calendly fields (e.g., {"name": "{{schema.Name}}", "email": "{{schema.Email}}"})
Error Message Yes Message shown to user if the tool fails
Display Mode Yes Popup or Inline — controls how the Calendly interface appears in the chat

Additional Parameters:

Field Description
Preprocessing Javascript Function Runs before calling Calendly. Same capabilities as the Webhook preprocessor — access to data, schema, ld (lodash), llmUtil.call(), and getWorkspaceSecret()

Data Visualization

A built-in tool type that renders interactive HTML visualizations directly in the chat. When invoked, the LLM authors a complete HTML document for the requested visualization (charts, diagrams, dashboards) and it renders inline in the chat inside a sandboxed iframe — supporting Tailwind CSS and external visualization libraries (Chart.js, Mermaid, D3, Plotly) loaded via CDN.

The in-product tool description reads: "Renders an interactive HTML visualization in the chat. Provide a description and data — the tool generates the HTML automatically using available libraries (Chart.js, Mermaid, D3, Plotly, etc.)."

Add Tool — Data Visualization Settings → Tools → Create Tool — Data Visualization appears in the Add Tool list alongside User Memory, Context Memory, Agent to Agent, and other built-in types Data Visualization Configuration Dialog Data Visualization tool configuration — Tool Name, Description, Visualization Instructions, Max Output Tokens (default 16000), Temperature (default 0.2) Inline Data Visualization Sample Product Pricing Analysis rendered inline in chat — Account Manager card, Inventory Pricing Summary table with per-product original price, discount, final price and status, plus totals

Key Capabilities

  • Built-in tool type — Data Visualization appears as a new entry in the Add Tool list alongside Agent to Agent, User Memory, Context Memory, Human Agent, Salesforce / HubSpot Create Lead, etc.
  • Sandboxed rendering — Generated HTML renders inside an iframe in the chat, free to use external CDN libraries and Tailwind CSS without affecting the host page.
  • Author-controlled defaults — Visualization Instructions are appended to the system prompt for the generation call, so admins can lock in brand colors, chart defaults, and styling preferences without re-stating them on every query.

Configuration Fields

Field Required Default Description
Tool Name Yes Display name of the tool instance
Description / Tool Selection Instructions Yes Prompt instructing the LLM when to use this tool
Visualization Instructions No Additional instructions for HTML generation (e.g., brand colors, styling preferences, chart defaults)
Max Output Tokens No 16000 Max tokens for HTML generation. Leave empty to use the agent's chat output token limit
Temperature No 0.2 Creativity of HTML generation. Lower values produce more deterministic output. Leave empty to use the agent's chat temperature

How to Configure & Use

  1. Create the tool — Navigate to Settings > Processors > Tools > Create Tool and select Data Visualization from the Add Tool list.
  2. Configure parameters — Fill in Tool Name, Description, optional Visualization Instructions, and tune Max Output Tokens / Temperature if needed, then Save.
  3. Add to an agent — Open the target agent's Settings > Tools section → Add, search for the tool by name, and select it from the picker.
  4. Generate visualizations — The agent now renders visualizations inline in chat based on the user's prompt — e.g., a product pricing analysis card showing per-product original price, discount, final price and status, with totals.

Available Libraries

Library Use Case
Chart.js Bar, line, pie, and other standard charts
Mermaid Flowcharts, sequence diagrams, Gantt charts
D3 Complex, custom data visualizations
Plotly Interactive scientific and statistical charts
Three.js 3D visualizations
Anime.js Animations
KaTeX Mathematical notation
Markmap Mind maps

Rules for AI-Generated Visualizations

  • Use only Tailwind CSS classes for styling (loaded automatically)
  • Only request libraries actually used
  • Write clean, self-contained HTML with inline <script> tags
  • Content renders inside an iframe — no external navigation or form submissions
  • Keep visualizations responsive and accessible

Assigning Tools to Agents

  1. Navigate to Agent Settings > Tools
  2. Click "Add Tool"
  3. Select a configured tool from the list
  4. Configure tool-specific settings for this agent
  5. Click "Save"

Tool Configuration Scope

Changes to tools at the workspace level (Settings > Processors > Tools) do not automatically propagate to existing agent configurations. To update a tool for an agent, edit it directly within the agent's tool configuration.