# Переменные в промпте

Переменные позволяют передавать динамические данные в промпт ИИ-агента. В Nextbot можно использовать как системные переменные вида `{{system_data_*}}`, так и пользовательские переменные вида `{{vars.dialog.KEY}}` и `{{vars.agent.KEY}}`.

Например, в промпт можно передавать имя и телефон клиента, данные по объявлению Avito Pro, значения из пользовательских переменных агента и диалога, а также другие данные из подключенных интеграций. При необходимости через эту кнопку также можно добавить ссылки на файлы из Облака.

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

## Как это работает

Допустим, клиент пишет из WhatsApp.\
\
Добавьте в ваш промпт вот такую инструкцию:\
`Номер телефона клиента: {{system_data_phone_number_whatsapp}}`\
`Имя клиента в мессенджере: {{system_data_user_name}}`

В значения, находящиеся в фигурных скобках будут вставлены динамические переменные — номер телефона клиента и его имя в мессенджере. Теперь ИИ-агент с самого начала диалога будет держать в памяти имя клиента и с какого номера он пишет.\
\
Аналогично, если клиент пишет с Avito, можно добавить переменные объявления: название объявления, цену, адрес места продажи. Это поможет ИИ-агенту получить информацию о каком объявлении ведётся речь и выдавать точные ответы и консультации.

{% hint style="warning" %}
**Обратите внимание:** Переменные YClients и Altegio (услуги, специалисты) добавляются в промпт автоматически — просто включите опции "Автоматически загружать специалистов" и "Автоматически загружать услуги" в настройках интеграции и создайте функции через *Мастер создания функций* — переменные будут добавлены автоматически.
{% endhint %}

## Добавление переменных в промпт

1. **Откройте блок&#x20;*****Системный промпт***\
   Перейдите во вкладку *Настройка агента* → блок *Системный промпт* → нажмите кнопку **Переменные** (справа вверху).
2. **Выберите нужную переменную**\
   Откроется список доступных переменных. Здесь могут быть как системные переменные, так и пользовательские переменные агента и диалога. Выберите нужную (например, *Avito Pro — название объявления* или *Имя Клиента*).\
   ⚠️ Убедитесь, что соответствующая интеграция уже подключена.
3. **Переменная добавится в промпт**\
   В системный промпт автоматически вставится код в формате `{{system_data_avito_title}}`, `{{vars.dialog.ClientName}}` или `{{vars.agent.Unique_Agent_ID}}` — в зависимости от выбранной переменной.
4. **Оформите переменную как инструкцию**\
   Не оставляйте переменную без контекста! Добавьте пояснение для ИИ-агента:

```
   Клиент обращается по объявлению: {{system_data_avito_title}}
```

5. **Протестируйте работу**\
   Проверьте в тестовом диалоге: напишите из Avito и спросите агента, по какому объявлению вы обращаетесь. Он должен назвать правильное название из переменной.

{% hint style="danger" %}
**Важно:** Не изменяйте текст внутри `{{...}}` и сами скобки — это нарушит работу переменных!
{% endhint %}

## Пользовательские переменные в промпте

Пользовательские переменные создаются вами в блоке **Пользовательские переменные** на странице **Настройка Агента**.

Для них используются два формата:

* `{{vars.dialog.KEY}}` — переменная области `Диалог`;
* `{{vars.agent.KEY}}` — переменная области `Агент`.

Например:

```
Обращайся к клиенту по имени, если оно уже известно.
Имя клиента: {{vars.dialog.ClientName}}

Для служебной интеграции используй ID агента: {{vars.agent.Unique_Agent_ID}}
```

Если текущее значение переменной ещё не задано, будет использоваться значение по умолчанию.

Подробнее о создании и использовании таких переменных читайте в разделе [Пользовательские переменные](/functional/setting-up-agent/polzovatelskie-peremennye.md).

## Где посмотреть переменные диалога

Если вы используете в промпте переменные области `Диалог`, их текущее значение можно посмотреть и при необходимости изменить вручную на странице конкретного диалога.

Для этого:

1. Откройте нужный диалог.
2. Нажмите кнопку `Метаданные диалога` в правом верхнем углу.
3. В боковой панели найдите блок `Переменные диалога`.
4. При необходимости нажмите на иконку редактирования рядом с нужной переменной.

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

Это удобно, если вы хотите проверить, какое значение реально будет подставлено в конструкцию вида `{{vars.dialog.ClientName}}`.

Подробнее про страницу диалога читайте в статье [Диалоги](/functional/dialogi.md).

## Пример использования переменных для Avito Pro

Вы продаете разные товары и хотите, чтобы ИИ сразу подтверждал клиенту наличие именно той вещи, по поводу которой он пишет.

#### Как настроить в промпте:

`Когда клиент спросит о наличии, подтверди: "{{Avito Pro — название объявления}} есть в`\
`наличии за {{Avito Pro — цены объявления}}. Забрать можно по адресу: {{Avito Pro — адрес объявления}}."`

#### Что получает клиент:

Представим, человек пишет по объявлению о продаже велосипеда. ИИ-агент ответит:

> *Здравствуйте! Да, Горный велосипед Stels есть в наличии, цена — 15 000 руб. Вы можете забрать его по адресу: ул. Ленина, д. 42. Когда вам удобно подъехать?*

#### Результат:

Ответы ИИ становятся персонализированными, контекстными и точными. Клиент чувствует, что с ним общаются предметно, а не отписываются шаблонными фразами.

{% hint style="success" %}
Список динамических переменных регулярно пополняется — следите за обновлениями.
{% endhint %}


---

# 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/setting-up-agent/system-prompt/peremennye-v-prompte.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.
