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

# Персонализирани Mid-Call Tools

> Научете как да създавате и конфигурирате персонализирани API интеграции, които вашият AI асистент може да използва по време на разговори

<Note>
  Персонализираните Mid-Call Tools позволяват на вашия AI асистент да взаимодейства с външни системи
  по време на разговори. Било то проверка на наличности, верификация на клиентски данни или извличане на
  информация в реalno време, тези инструменти правят вашия AI по-мощен и свързан.
</Note>

## Преглед

Персонализираните Mid-Call Tools позволяват на вашия AI асистент да:

* Прави API повиквания в реално време по време на разговори
* Извлича или подава данни към вашите системи
* Взима информирани решения на база актуални данни
* Предоставя точна, актуална информация на обаждащите се

<Card title="Ключови предимства" icon="star">
  - Не се изисква програмиране - просто конфигурирайте API endpoint-а и параметрите - AI
    автоматично знае кога и как да използва инструментите - Достъп до данни в реално време
    по време на разговори - Безпроблемна интеграция с вашите съществуващи системи
</Card>

## Настройване на вашия инструмент

### 1. Основна конфигурация

<Frame>
  <img src="https://mintcdn.com/aiployees/XnIbkZWGfCTLEFVo/resources/mid-call.png?fit=max&auto=format&n=XnIbkZWGfCTLEFVo&q=85&s=a4d72d40e21a20e1f0f53a3c8bffda65" alt="Main Tool Configuration" width="2468" height="1680" data-path="resources/mid-call.png" />
</Frame>

<Steps>
  <Step title="Достъп до създаването на инструмент">
    Отидете на **Mid call tools** и кликнете **Create Mid-Call Tool**
  </Step>

  <Step title="Конфигурирайте основните настройки">
    Попълнете основните детайли:

    * **Name**: Използвайте малки букви и долни черти (например, `check_order_status`)
    * **Description**: Обяснете кога и как AI трябва да използва този инструмент
    * **Endpoint**: Вашия API URL (например, `https://api.yourcompany.com/orders`)
    * **Timeout**: Колко време да се чака за отговори (в секунди)
    * **Method**: Изберете GET, POST, PUT, PATCH или DELETE
  </Step>

  <Step title="Добавете headers">
    Често използвани headers, които може да се нуждаете:

    ```yaml theme={null}
    Content-Type: application/json
    Authorization: Bearer your_token
    ```
  </Step>
</Steps>

### 2. Конфигурация на променливи

<Frame>
  <img src="https://mintcdn.com/aiployees/XnIbkZWGfCTLEFVo/resources/mid-call-param.png?fit=max&auto=format&n=XnIbkZWGfCTLEFVo&q=85&s=4d6586ca4e202b2616948745f0429d2a" alt="Variable Configuration" width="2506" height="776" data-path="resources/mid-call-param.png" />
</Frame>

<Steps>
  <Step title="Дефинирайте параметри">
    Това са частите от информацията, които вашият AI ще събира по време на разговора:

    ```yaml theme={null}
    Name: order_number
    Type: string
    Description: "10-цифрен номер на поръчка от клиента"
    ```
  </Step>

  <Step title="Задайте правила за валидация">
    Добавете изисквания за формат в описанието:

    ```yaml theme={null}
    "Дата във формат dd/mm/yyyy"
    "Телефонен номер без интервали"
    "Имейл адрес за потвърждение"
    ```
  </Step>
</Steps>

## Разбиране на типовете параметри

<CardGroup cols={2}>
  <Card title="String" icon="font">
    Текстови стойности като имена, адреси или референтни номера

    ```yaml theme={null}
    Type: string
    Examples: "John Doe", "123 Main St"
    ```
  </Card>

  <Card title="Number" icon="calculator">
    Числови стойности като суми, количества или ID-та

    ```yaml theme={null}
    Type: number
    Examples: 42, 99.99
    ```
  </Card>

  <Card title="true_false" icon="toggle-on">
    Boolean стойности за да/не ситуации

    ```yaml theme={null}
    Type: true_false
    Examples: true, false
    ```
  </Card>

  <Card title="Помощ за форматиране" icon="wand-magic-sparkles">
    Добавете инструкции за формат в описанията

    ```yaml theme={null}
    "Дата във формат dd/mm/yyyy"
    "Телефон без интервали"
    ```
  </Card>
</CardGroup>

## Динамични endpoints

<Warning>
  Когато използвате променливи във вашия endpoint URL, уверете се, че ги поставяте в къдрави
  скоби и използвате точното име на параметъра.
</Warning>

Можете да направите вашите endpoints динамични, използвайки променливи:

```yaml theme={null}
Основен URL:
https://api.example.com/orders/status

С променливи:
https://api.example.com/orders/{order_id}/status
```

AI автоматично ще замени `{order_id}` с действителната стойност, събрана по време на разговора.

## Лесно тестване

<Card title="Автоматично тестване" icon="vial">
  Кликнете "Test Tool", за да стартирате тест с примерни данни:

  * String параметри: "test"
  * Number параметри: 1
  * Boolean параметри: true

  Ще видите response кода и тялото, което ви помага да потвърдите, че всичко работи.
</Card>

## Функция за напреднали потребители: Интеграция с Automation Platform

<Note>
  Нуждаете се от по-сложна логика? Свържете вашия инструмент към automation platform за
  напреднали workflows.
</Note>

За напреднали интеграции и сложни workflows, можете да комбинирате персонализирани инструменти с нашата [Automation Platform](/automation-platform/introduction).

Ето как да създадете мощни интеграции:

1. В automation platform:

   * Създайте нов flow
   * Добавете webhook trigger
   * Изградете вашата логика (API повиквания, трансформация на данни и др.)
   * Завършете с "Return Response"

2. В вашия персонализиран инструмент:
   * Използвайте webhook URL като ваш endpoint
   * Добавете `/sync` в края
   * Пример: `https://call.aiployees.com/automation/webhook/abc123/sync`

Това ви позволява да:

* Трансформирате данни преди/след API повиквания
* Правите множество API повиквания последователно
* Прилагате сложна бизнес логика
* Обработвате грешки елегантно

## Примери от реалния свят

<AccordionGroup>
  <Accordion title="Система за търсене на поръчки" icon="magnifying-glass">
    ```yaml theme={null}
    Name: check_order
    Endpoint: https://api.yourshop.com/orders/{order_number}
    Parameters:
      - Name: order_number
        Type: string
        Description: "Референция на поръчка (формат: ORD-XXXXX)"
    ```

    AI ще:

    1. Попита за номера на поръчката
    2. Извлече статуса
    3. Обясни датите за доставка и статуса на клиента
  </Accordion>

  <Accordion title="Наличност на срещи" icon="calendar">
    ```yaml theme={null}
    Name: check_slots
    Endpoint: https://api.calendar.com/availability
    Parameters:
      - Name: service
        Type: string
        Description: "Тип услуга (подстригване, масаж, консултация)"
      - Name: date
        Type: string
        Description: "Предпочитана дата (dd/mm/yyyy)"
    ```

    AI ще:

    1. Попита за желаната услуга
    2. Получи предпочитаната дата
    3. Покаже наличните часове
  </Accordion>

  <Accordion title="Верификация на клиент" icon="shield-check">
    ```yaml theme={null}
    Name: verify_customer
    Endpoint: https://api.crm.com/verify
    Parameters:
      - Name: phone
        Type: string
        Description: "10-цифрен телефонен номер"
      - Name: email
        Type: string
        Description: "Имейл адрес за верификация"
    ```

    AI ще:

    1. Събере контактните данни
    2. Верифицира срещу вашата CRM
    3. Продължи на база статуса на верификацията
  </Accordion>
</AccordionGroup>

## Конфигуриране на вашия AI

<Info>
  AI се нуждае от ясни инструкции в системния си prompt, за да използва ефективно вашите
  персонализирани инструменти.
</Info>

Пример на секция от prompt:

```yaml theme={null}
Кога да използва check_order tool:
1. Клиентът пита за статус на поръчка
2. Споменава проследяване или доставка
3. Иска да знае къде е пакетът му

Как да го използва:
1. Попитай за номер на поръчка, ако не е предоставен
2. Верифицирай формата (ORD-XXXXX)
3. Използвай инструмента за извличане на статуса
4. Обясни резултатите с прости думи
```

<Tip>
  Тествайте вашите инструменти с различни разговорни потоци, за да се уверите, че AI обработва всички
  сценарии гладко. Започнете с прости тестови обаждания, преди да пуснете на живо.
</Tip>

***
