> ## Documentation Index
> Fetch the complete documentation index at: https://aipro.placetel.de/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools Guide

> Tools in the Voice Wizard and sidebar -- shared functions for all voice agents.

## Overview

**Tools** are functions your voice agents can execute during a conversation. They extend your bots' capabilities beyond simple text responses -- for example, tools can call external APIs, book appointments, send SMS messages, or write emails.

You'll find tools in two places in the application:

* **Sidebar**: This is where you manage all available tools globally
* **Voice Wizard**: This is where you assign tools to a specific voice agent and configure bot-specific conditions

## Shared concept -- important to understand!

<Tip>
  **Core concept:** Tools are **shared across all voice agents**!

  This means: a tool you create once is automatically available to **all your voice agents**. You don't need to recreate it for every bot. This is a fundamental concept of our application and enables:
</Tip>

* Central management of all functions
* Consistent configuration across all bots
* Efficiency when creating new voice agents
* Easy maintenance and updates

So you define a tool **once globally** in the sidebar, and can then enable and individually adjust it in **every voice agent** in the Voice Wizard.

## Where are tools managed?

### Sidebar (global management)

Here you see an overview of all available tools for your entire account. You can:

* Create new tools
* Edit or delete existing tools
* Define global conditions (when a tool should be executed)
* Test tools
* Adjust general settings

### Voice Wizard (bot-specific configuration)

In the Voice Wizard, for each individual voice agent you can:

* Enable or disable tools
* Override the global condition with a bot-specific **condition (override)**

## Tool types

### Predefined tools

These **3 system tools** are already built into the application and are always available:

| Tool name                  | Description                                                                                                                                                                 |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **End call**               | Ends the current conversation. Typically used when the customer says goodbye or the request has been fully resolved.                                                        |
| **Get caller information** | Retrieves information about the current caller (e.g. phone number and time zone). Useful for personalization and context.                                                   |
| **Intent detection**       | Detects the caller's intent and routes them based on it (e.g. to another prompt or a phone number). Activated automatically when you configure intents in the Voice Wizard. |

<Info>
  **Note:** These predefined tools cannot be deleted and are built into the system. However, they can be enabled or disabled individually for each voice agent.
</Info>

### Custom tools

You create these tools yourself, based on your specific requirements:

| Tool type               | Description & usage                                                                                                                                                 |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **API requests**        | Enables integration of external systems and data sources via REST APIs. *Examples: fetch data from your CRM, check order status, load information from your system* |
| **Appointment booking** | Integration with calendar systems (e.g. Cal.com) for booking appointments. *Examples: consultations, service appointments, callback arrangements*                   |
| **n8n workflows**       | Triggers n8n workflows for complex automations. *Examples: multi-step processes, data processing, system synchronizations*                                          |
| **SMS**                 | Sends SMS messages to the caller or other recipients. *Examples: confirmations, appointment reminders, access codes*                                                |
| **Email**               | Sends emails during or after the conversation. *Examples: conversation summaries, documents, follow-ups*                                                            |

## What are conditions?

**Conditions** are rules that help the AI decide **when a tool should be used**. They describe the context or prerequisites for using a tool.

### Typical elements of a condition

* **Intent/keywords:** "when the customer wants to book an appointment", "when asked about an order"
* **Parameter completeness:** "only when a date has been mentioned", "only when the email address is known"
* **Business logic:** "only during business hours", "only for authenticated callers"

<Warning>
  **Important:** Conditions are **optional**! Without a condition, the AI can call the tool at any time it considers appropriate. With a good condition, you control precisely when the tool is used.
</Warning>

## Global condition vs. override

Since tools are shared across all voice agents, there are two levels of conditions:

### 1. Global condition (in the sidebar)

The **global condition** is defined when creating a tool and applies by default to **all voice agents** that use this tool.

<Accordion title="Example: global condition for appointment booking">
  ```
  Verwende dieses Tool, wenn der Kunde explizit einen Termin vereinbaren möchte und ein gewünschtes Datum genannt hat.
  ```

  This rule now applies to **all** voice agents that have the appointment booking tool enabled.
</Accordion>

### 2. Override / local condition (in the Voice Wizard)

In the Voice Wizard, you can **override the global condition with a local condition** for a **specific voice agent**.

<Accordion title="Example: override for a support bot">
  ```
  Verwende dieses Tool nur, wenn der Kunde explizit sagt "Ich möchte einen Termin buchen" UND die Öffnungszeiten (Mo-Fr 9-17 Uhr) nennt. Wenn keine Uhrzeit genannt wurde, frage nach: "Zu welcher Uhrzeit möchten Sie kommen?"
  ```

  This support bot is **more restrictive** and requires explicit confirmation from the customer.
</Accordion>

<Info>
  **Priority:** The **local condition (override)** always takes precedence!

  * If an override is defined, the global condition is replaced by the local condition
  * If no override is defined, the global condition applies
</Info>

## Frequently asked questions (FAQ)

### Do global changes take effect immediately in all agents?

Yes, when you change a tool globally, the change immediately affects all voice agents that have this tool **enabled** -- **unless** an agent has defined an override. In that case, the override continues to apply.

### What happens if no condition is defined?

The tool is available to the AI and can be called at any time the AI considers appropriate. Conditions are optional, but recommended for precise control.

### Can multiple tools be executed one after another?

Yes, the AI can use multiple tools in a single conversation. You control the prerequisites via conditions.

### Where do I set the global condition?

In the **sidebar**, on the respective tool. Click "Edit" and enter the condition in the corresponding field.

### Where do I override the condition for a specific bot?

In the **Voice Wizard**, in the tool configuration of the respective voice agent. There you'll find a field for the bot-specific condition (override).

### Can I disable a tool?

Globally, you can only delete a tool. Per voice agent, you can disable tools individually in the Voice Wizard. A disabled tool is not available to that specific voice agent.

### Do I need to define conditions for the predefined tools as well?

No, the predefined tools (end call, caller info, intent detection) already come with sensible default conditions. However, you can override them if you want different behavior.

### Can I define conditions in multiple languages?

Yes, you can write conditions in German, English, or any other language. The AI understands natural language. Just stay consistent within a single tool.
