Skip to main content
Tools allow your voice agent to perform actions during a conversation — calling APIs, querying databases, interacting with the user’s browser, and more.

Tool Types

Hamsa supports three types of tools:

Function Tools (API Requests)

Server-side tools that make HTTP requests to external APIs during a conversation. Use these for:
  • Looking up customer data
  • Checking order status
  • Booking appointments
  • Any backend operation
Function tools work on both phone and web deployments. Configure them in the Tools section of your dashboard.

MCP Tools (Model Context Protocol)

Server-side tools that connect to MCP-compatible services. Use these for integrating with external platforms that support the MCP standard. MCP tools work on both phone and web deployments. Configure them by connecting an MCP server in your dashboard.

Web Tools (Client-Side)

JavaScript functions that run in the user’s browser when your agent is deployed via the Voice Agents SDK. Use these for:
  • Navigating the user to a page
  • Opening modals or panels
  • Reading page data (cart contents, form values)
  • Interacting with your web application’s UI
Web tools only work on web deployments (SDK). They are registered in code via the SDK’s tools parameter, not in the dashboard.
For full details on web tools, including code examples and how they differ between single prompt and flow agents, see the Web Tools documentation.

Creating Tools

Navigate to the Tools section in your dashboard to create function tools and MCP connections. For web tools, see the Voice Agents SDK documentation for how to register client-side functions.

Tools in Single Prompt vs Flow Agents

  • Flow Agent: You can extract specific values from the tool’s response using output mapping, and route the conversation based on those values using transitions.
This applies to all tool types (function, MCP, and web tools).

Tool Collections (Categorization)

Hamsa uses a hierarchical collection system to keep your tools organized:
  • System Collections:
    • All: View every tool across the entire project.
    • Uncategorized: Tools not yet assigned to a custom folder.
  • User Collections: Create custom folders with specific names and descriptions to group related tools (e.g., “CRM Integration”, “Internal Utilities”).
Manage your collections using the sidebar in the Tools dashboard. You can create new folders and move tools between them to maintain a clean workspace.

Versioning & Syncing

The platform includes a backend-managed versioning system to track changes and ensure conversation stability.
  • Persistent vs. Record IDs: Each tool has a Persistent ID that stays constant across all updates, while the Record ID changes with every version.
  • Auto-Increment: Saving changes to a tool automatically creates a new version record with its own timestamp and optional changelog.
  • Syncing Agents: If an agent is using an older version of a tool, the dashboard will notify you. You can “Sync” the agent with a single click, which updates all tool references to the latest version.

Tool Lifecycle Messages

You can customize what the agent speaks at different stages of a tool’s execution to create a smoother user experience.
  • Request Start: A message spoken as soon as the tool is triggered (e.g., “One moment while I check your order status…”).
  • Request Complete: A message spoken once the response is received.
These messages are essential for “masking” API latency, ensuring there are no awkward silences in the voice conversation.

Dashboard Management

The Tools dashboard is designed for efficiency with several built-in management features:
  • Global Search: Instantly find tools by name or description using the debounced search bar.
  • Status Filtering: Quickly toggle between Active, Inactive, or All tools.
  • Local Drafting: The dashboard automatically saves your progress in localStorage keyed by collection. If you accidentally navigate away, you’ll be prompted to restore your unsaved draft when you return.