Tools in Ultravox (also known as function calling) are a powerful way to extend your agents' capabilities by connecting them to external services and systems. At their core, tools are simply functions that agents can invoke to perform specific actions or retrieve information.

Ultravox includes built-in tools and you can create custom tools.

Here are some of the things you can do with tools:

Communicate with the Outside world

Lookup the weather, get movie times, create calendar events, or send emails.

Order Lookup

Lookup orders, backordered items, or provide shipment updates.

Knowledge Base

Consult product and support documentation for contextual support.

Create Support Case

Open tailored support cases for human follow-up.

Transfer Call

Hand-off or escalate calls to human support agents.

End Call

End calls due to user inactivity or after successful resolution.

Any functionality you can encapsulate in a function can be exposed to your agents as a tool. Addtionally, unlike other LLM APIs where you have to handle tool calls yourself, Ultravox actually executes your tools during live conversations, enabling real-time interactions with external systems, databases, and APIs.

Types of Tools

Built-in Tools

Ultravox provides several ready-to-use tools for common functionality:

  • queryCorpus: Retrieve information from knowledge bases.
  • playDtmfSounds: Play dial tones for telephony applications.
  • leaveVoicemail: Leaves voicemail message and ends the call.
  • hangUp: End calls programmatically.

Learn more about Built-in Tools →

Custom Tools

Create your own tools to integrate with any external system or API. Custom tools can:

  • Send emails or notifications
  • Look up customer information
  • Process payments
  • Update databases
  • Integrate with third-party services

Learn more about Custom Tools →

Tool Implementation Types

HTTP Tools: Most common type - your tool runs on your server and Ultravox calls it via HTTP.

Client Tools: Run directly in the client application using our SDKs.

Compare HTTP vs Client Tools →

Tool Persistence

Durable Tools: Created once via API or the web app, reused across calls and agents. Best for production.

Temporary Tools: Defined per-call, great for testing and rapid iteration.

Learn about Durable vs Temporary Tools →

Getting Started with Tools

Ready to build your first tool? Check out the Tools Quickstart →

Keep Building