# Параметры функций

#### **Имя параметра:**

Введите имя параметра, которое будет использоваться в функции. Используйте английские буквы и символ `_` для разделения. Имя должно быть уникальным и легко читаемым, чтобы его можно было использовать в дальнейшем для настройки и передачи данных.

{% hint style="warning" %}
**Важно**: имя параметра обязано быть написано в нижнем регистре (с маленькой буквы)
{% endhint %}

Имя должно отражать суть инструкции данного параметра. Например, если вы хотите сохранить "Имя клиента", то напишите "name" или "client\_name". Другой пример: в случае, когда необходимо сохранить цену товара, напишите "product\_price" или "price". Чем точнее вы зададите название функции, тем точнее ИИ будет сохранять информацию.

{% hint style="info" %}
В случае, если вы не владеете английским языком, воспользуйтесь онлайн-переводчиком или любой нейросетью.
{% endhint %}

<figure><img src="/files/eo0y5luvT65djLCt2JVW" alt=""><figcaption></figcaption></figure>

#### **Тип параметра:**

Выберите тип данных для параметра. Это может быть:

* **Текстовый** — для хранения строковых данных, таких как имена, запросы или комментарии.
* **Числовой** — для хранения чисел, например, количества товаров или значений стоимости.
* **Логический** — отвечающий на вопрос Да или Нет<br>

<figure><img src="/files/GB1CTutZvXCFOLBGFs8y" alt=""><figcaption></figcaption></figure>

#### **Инструкция для параметра:**

Опишите, как использовать данный параметр, что он должен содержать.\
Например, для параметра с summary инструкция может быть: Краткая выжимка из диалога с клиентом.

<figure><img src="/files/6RInrpmikFd1F9eGvalT" alt=""><figcaption></figcaption></figure>

Следует описывать кратко, не нужно вставлять всю инструкцию для ИИ-агента, иначе может возникнуть ошибка при вызове функции:

<figure><img src="/files/9jvRQSvjEcKNT8E15Hil" alt=""><figcaption></figcaption></figure>

### Пример заполненных параметров функции

<figure><img src="/files/xD8EHd9FzX80CNrpbAIg" alt=""><figcaption></figcaption></figure>

#### Часто используемые параметры функций

* phone\_number - Номер телефона клиента.
* summary - Краткая выжимка из диалога с клиентом.
* name - Имя клиента.

#### **Кнопка "Новый параметр":**

Нажмите кнопку "Новый параметр" для добавления дополнительных параметров в функцию. Каждый новый параметр требует своего имени, типа данных и инструкции. Максимально можно добавить 30 параметров в 1 функцию.

<figure><img src="/files/x57ZWFbUhP6PpPiQDl1R" alt=""><figcaption></figcaption></figure>

#### **Добавление списка значений для параметра**

Мы можете задать список значений для параметров, чтобы фиксировать выбор пользователя и настроить отдельные сценарии для реакции агента

<figure><img src="/files/riIVdeZp4gEYTCvPObPF" alt=""><figcaption></figcaption></figure>

**1 - Нажмите на иконку справа и активируйте выбор списка значений**

**2 - Добавьте возможные значения**

В поле "Возможные значения" введите фиксированные варианты, например в этом только услуги Фит массаж и Лайт массаж;\
После ввода каждого фиксированного значения нажмите клавишу Enter.

**3 - Настройте сценарии для каждого значения**

После добавления значений, выберите для каждого из них сценарий поведения. Возможные варианты:

* Ничего не делать;
* Поставить на паузу - если пользователь выберет фиксированное значение "Фит массаж", то диалог встанет на паузу;
* Отправить сообщение (если этот вариант активен, то ИИ-агент оправит клиенту фиксированное сообщение);
* Дополнить промт (добавить указанный текст после основной инструкции);
* Задать результат функции (добавит текст в результат функции, бот будет думать что он сделал запрос с данными и ему пришло это в ответ);
* Переключить агента.

Для каждого значения выберите соответствующее действие, чтобы настроить, как ИИ-агент будет реагировать на разные входные данные.

### Необязательный параметр

<figure><img src="/files/2gnJkxyIssmpMMyD7EDl" alt=""><figcaption></figcaption></figure>

При активации "Необязательный параметр", LLM сможет игнорировать этот параметр при выполнении функции, то есть если у вас есть такие параметры, которые не влияют на всю логику работы ИИ-агента, то можно включить их как **необязательный параметр** и система все равно выполнит функцию.

Пример:\
Роль ИИ-агента "Записать клиента на услуги салона". Для вызова функции ему нужно спросить:\
Имя клиента, Название услуги, Номер телефона, Фамилия клиента, Отчество клиента.<br>

<figure><img src="/files/ZJrU0DNKukeKIe1rPecx" alt=""><figcaption></figcaption></figure>

Теперь включим параметры Фамилия клиента, Отчество клиента, как **необязательный параметр.**<br>

<figure><img src="/files/POsmfGxFvi9rm87TN5wg" alt=""><figcaption></figcaption></figure>

То есть параметры **Фамилия клиента**, **Отчество клиента** бот проигнорировал и успешно сохранил данные.\
Результат выполнения функции:<br>

<figure><img src="/files/4feUBseXfssceUGz7Guk" alt=""><figcaption></figcaption></figure>

Если сделать Имя клиента и Номер телефона необязательными для записи на услуги салона, LLM всё равно будет запрашивать эту информацию. Это происходит потому, что в промпте указана конкретная роль ИИ-агента "Записать клиента на услуги салона" и тем самым подразумевается, что эти данные нужны для выполнения функции.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.nextbot.ru/functional/functions/function-parameters.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
