Voice AI Tools

Modified on Thu, 11 Sep at 11:21 AM

This article shows how to configure your Voice AI setup using tools, including:

  • Transfer Tool (Dial, SIP Refer, Mitel Refer setup)

  • Hang Up Tool

  • Knowledge Base Tool (using KB lookups)

  • Placeholder Tool (capturing names, IDs, etc.)

  • HTTP Request Tool (connecting to external APIs)

  • Cal.com Slots Tool (checking availability)

  • Cal.com Booking Tool (confirming appointments)


Typically, HTTP Request is used for connecting to external systems. Talkative is able to provide expert guidance on configuring this tool - please reach out. 


We are expanding the list of predefined/preset tools, please let us know if you want to see specific tools added.


Tools

Each tool has a label, prompt, and optional parameters or configuration. Prompts should be clear and short - just enough to tell the AI when and how to use the tool.


General information

All tools have the following required properties.


  1. Label - Primarily an UI element and currently not utilised or read by the LLM
  2. Prompt - Here you can explain to the LLM what the tool is, what it does and/or when to use it.
  3. Parameters - The pieces of data that the tool requires in order to execute. This is not exposed on some tools.
    • Type - the parameter type. Options are string, number, boolean,  null/emptyobject, array 
    • Name - a ‘camelCase’ or ‘snake_case’ variable name. This will then be used as a reference for templating or is prescribed by custom tools.
    • Description Prompt - A clear explanation of the parameter's purpose and expected format. You can include examples of the expected formats.
  4. Configuration - Bespoke to each individual tool.


Templating

Some properties will allow templating to insert configuration options, variables or call details into strings. For example, if you get the LLM to gather a parameter called songTitle you can add it into a URL for the HTTP_REQUEST tool using an template that might look like this: http://spotify.com/{{songTitle}}/artist


Transfer tool

Use this tool to transfer the caller to another agent or department.


Prompt

Use this tool to transfer the user to another agent or department. Here you can specify more info on how to decide which queue to transfer to. For example, you could say "Only transfer to Support if the user has provided their company ID and their full name".


Each destination requires:

  • Type: Choose from Dial, SIP Refer, Mitel Refer

  • Destination: e.164 phone number (e.g., +441234567890), SIP URI, or extension

  • Description Prompt: A label like Billing Department


Transfer Types


• Dial - Talkative will transfer the call to a PSTN number. Destination must be filled in as E.164 format. Note, this should only be used for standalone deployments, where Talkative is able to transfer to PSTN.


• SIP Refer - a SIP extension. Note, the system will need to have your SIP-based telephony already connected.


• Mitel Refer - Transfers the call using the Mitel Refer method. This is specifically designed for environments integrated with Mitel phone systems. Mitel Refer requires your Talkative deployment to be configured with Mitel telephony integration. Note, a corresponding set up is required within the Mitel "transfer to" app, so putting in a SIP extension in this field will not necessarily mean the call is transferred to that destination. Destination = Extension that will be passed to the transfer API. This data can then be used in a workflow to deliver the call to that destination



Knowledge Base Tool

Use this tool to fetch relevant information from a knowledge base.



Prompt

Here you should define why and when the LLM should use the knowledge base. You can have multiple knowledge base tools if you have separate KBs.


Parameters

  • TypeThis tells the system what kind of data to expect. In this case, it’s string, which just means a line of text.

  • NameThis is the internal name used to refer to this input. searchText is a label the system uses—it’s not visible to users. Think of it as the “variable name” for the text the AI will search with.

  • Description PromptThis is where you describe what the AI should provide here. In this example:
    “Text to search the knowledge base for embeddings.”
    That means the AI will pass in relevant phrases or sentences from the conversation to find matching results in your KB.


Configuration

  • Knowledge Base: Select from the dropdown - it should have access to all of your KBs.

  • Context Size Limit: Typically set to 3500. Set the maximum character limit (1000-8000) for contextual information provided to the AI for each search term. Larger contexts may improve AI understanding but can slow down response times.


Hang Up Tool

This tool is used to tell the AI when to hang up the call without transfer.

Label

This is the display name for the tool so you can identify it easily in the tools list. In this case, it’s set as:

Hang Up Tool


Prompt

This tells the AI under what condition to use the tool. In this example:

"Use this tool to hang up the call if the user speaks inappropriately or abusively."

The AI will end the call automatically if the user requests a refund—no further interaction required.


HTTP Request Tool

This tool allows the AI to fetch live data from external APIs - for example, to check MOT status, retrieve booking availability, or validate information from another system.


Label

This is the display name used to help identify the tool. In this case: HTTP Request Tool


Prompt

A brief instruction telling the AI when to use the tool.


Example

Use this tool to retrieve external information from a third-party API.


Configuration

  • Method

    Choose the HTTP method the API expects. Common options include:

    • GET – for retrieving data

    • POST – for sending data

    • PUT / DELETE – for updates or deletions (less common in voice AI)

  • URL
    The full URL of the API endpoint, including https://. You can use variables like {{parameterName}} to insert dynamic values.
    Example:
    https://api.example.com/vehicle/{{registrationNumber}}

  • Headers

    Add headers like Authorization, Content-Type, or any other required by the API.

  • Parameters (optional)

    Use this if the API requires extra values in the URL, body, or query string.

  • Timeout (seconds)

    Optional - sets how long the system should wait before giving up on the request.


Placeholder Tool

This tool is used to capture and return structured values from user input - ideal for things like names, email addresses, or selected options.


Label

This is the display name for the tool that helps identify it in your list of tools. In this case:

Placeholder Tool


Prompt

This tells the AI when to use the tool. In this example you want to retrieve caller's name.


Example

Use this tool to return structured values from user input.


Parameters

  • Typestring

    This defines the kind of input the AI should collect. A string is used for short text inputs like names or short answers.

  • NamefullName

    This is the internal identifier for the value being captured. It must be in lowercase letters with no spaces.

  • Description Prompt:

    The caller's name, spoken clearly as part of the introduction.

    This tells the AI what kind of value it should provide for this parameter.

  • Allowed Values (optional):

    Leave this empty when capturing free-form input like a name. You can use this field to restrict inputs to fixed options if needed (e.g., service type choices).


Configuration – Response


This determines what the AI should return once the value has been captured. You can use templating to format the response.

In the example the response's outputs will be customer's full name in a structured format that other systems can use.


Cal.com Slots Tool

Label

This is the display name used to identify the tool in your configuration. In this case:

Cal.com Slots Tool


Prompt

This instructs the AI on when to use the tool.In this example it is to use this tool to check available appointment slots.


Parameters

  • Typestring

    This specifies the data format. A string is used for providing a formatted date.

  • NamestartDate

    This is the internal reference name for the date value passed to the API.

  • Description Prompt:

    Start date in YYYY-MM-DD format

    This tells the AI to use a correctly formatted date when calling the tool - e.g. 2025-06-11.


Configuration

  • Cal.com API Token

    The token used to authenticate with your Cal.com account. You can generate it from the Cal.com API Keys page.

  • Event Type ID

    This identifies which kind of appointment to fetch. You can find the ID in the URL when viewing your Cal.com event type (e.g. if the URL is .../event-types/2086911, use 2086911).

  • Time Zone

    Defines the timezone used to interpret and return available times. Example: Europe/London


Cal.com Booking Tool

This tool is used to confirm and book an appointment slot via Cal.com after the user selects a time. It requires key details such as the appointment time, the caller’s name, and an email address for confirmation. SMS confirmations can also be configured.

Label

This is the name that helps identify the tool in your tools list. In this case:

Cal.com Booking Tool


Prompt

This tells the AI when to use the tool. In this example it is to use this tool to confirm and book a meeting using the selected slot.


Parameters

  • Typestring

    The data type used for each input value.

  • Namestart

    This is the internal name used to capture the start time of the appointment.

  • Description Prompt:

    The start time of the chosen slot

    This tells the AI to pass in the selected appointment time in a proper timestamp format.


  • NamefullName

    Used to capture the caller’s full name.

  • Description Prompt:

    User's full name

    Instructs the AI to gather the user’s name for the booking form.


You can add additional parameters if needed, such as email address, company name, or reason for booking.


Configuration

  • Cal.com API Token

    This authenticates your system with Cal.com. You can generate a token via the Cal.com API Keys page.

  • Event Type ID

    The unique ID for your Cal.com event type. You’ll find this in the URL when viewing a booking type (e.g., /event-types/2086911, use 2086911). Can be found in the URL after clicking an existing event type on the Event Types Page.

  • Time Zone

    This sets the timezone used for interpreting and displaying booking times.

    Example: Europe/London

  • Email

    The email to be used for the booking confirmation. This can be hardcoded or passed dynamically as a parameter.


SMS Confirmation


Optional—used to send an SMS to the user after booking.

  • Phone Number

    A fallback phone number for confirmation if no number is gathered or known.

  • SMS Template

    Defines the structure of the confirmation message.

    Example:

    {{meetTitle}} scheduled for {{meetDateTime}}. Join at {{meetUrl}}

  • SMS Date Time Format

    Adjust how the date/time appears in the SMS. The default option works in most cases.






Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article