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

# Шаблонні змінні

> Використовуйте шаблонні змінні в промптах вузлів агента або при побудові тіла запиту для вузла «Вебхук».

### Рендеринг шаблонів

Шаблонні змінні позначаються синтаксисом `{{подвійні_фігурні_дужки}}`. Дані беруться з `initial_context` — заданого через [API-тригер](/voice-agent/api-trigger), лист кампанії або [Отримання даних перед дзвінком](/voice-agent/pre-call-data-fetch), що збагачує контекст на старті дзвінка, — а також, лише в тілах запитів вузла «Вебхук», з `gathered_context` (змінних, видобутих під час дзвінка).

**Синтаксис залежить від того, де ви його використовуєте:**

| Де                         | `initial_context`                  | `gathered_context`                |
| -------------------------- | ---------------------------------- | --------------------------------- |
| Промпти вузлів агента      | `{{назва_поля}}` (пряме посилання) | Недоступно                        |
| Тіло запиту вузла «Вебхук» | `{{initial_context.назва_поля}}`   | `{{gathered_context.назва_поля}}` |

#### Промпти вузлів агента

У промпті вузла агента посилайтесь на кожне поле `initial_context` **напряму за назвою**. Вкладені значення підтримуються через крапкову нотацію.

Приклад: якщо початковий контекст такий

```json theme={null}
{
    "initial_context": {
        "user": {
            "name": "Іван"
        }
    }
}
```

пишіть промпт так, щоб звернутися до імені абонента:

Промпт: `Ти — Аліса, і зараз розмовляєш з {{user.name}}.`

<Note>
  Змінні, видобуті під час дзвінка (`gathered_context`), **недоступні** в промптах вузлів агента — промпт може посилатись лише на поля `initial_context`. Щоб використати видобуті дані, надішліть їх через вузол [«Вебхук»](/voice-agent/webhook).
</Note>

#### Тіло запиту вузла «Вебхук»

При побудові тіла запиту [вузла «Вебхук»](/voice-agent/webhook) об'єкти контексту вкладені під своїми назвами, тож звертайтесь до них із префіксами `initial_context.` та `gathered_context.`:

Значення в тілі запиту: `{{initial_context.user.name}}` або `{{gathered_context.call_disposition}}`

### Використання шаблонних змінних для тестування

Шаблонні змінні, задані в **Налаштування сценарію → Контекстні змінні**, включаються в тестові дзвінки (веб і телефонні) з редактора сценарію. Це зручно для симуляції даних, що зазвичай надходять через телефонію або API-тригер.

<img src="https://mintcdn.com/ukr-gsm/pisYMZLRPGIEw4_r/images/template-variables.png?fit=max&auto=format&n=pisYMZLRPGIEw4_r&q=85&s=ab95203e1a69cdb1e2dd34cfb56f6bd3" alt="Панель шаблонних змінних у налаштуваннях сценарію зі змінною customer_name і полями для додавання нових пар ключ/значення" style={{border: "1px solid #d1d5db", borderRadius: "8px", maxWidth: "100%"}} width="2254" height="1262" data-path="images/template-variables.png" />

Наприклад, можна задати `caller_number` і `called_number` як контекстні змінні, щоб протестувати [Отримання даних перед дзвінком](/voice-agent/pre-call-data-fetch#testing-with-test-calls) без реального вхідного дзвінка.

<Note>
  Ці контекстні змінні використовуються лише під час тестових дзвінків з редактора сценарію. У продакшн-дзвінках (вхідних і вихідних кампаніях) використовуються реальні дані телефонії, а ці значення ігноруються.
</Note>

### Вузли

Голосові агенти складаються з різних вузлів. Вони можуть містити інструкції для агента, дозволяти налаштувати [API-тригер](/voice-agent/api-trigger), яким можна запускати дзвінок, або [вебхук](/voice-agent/webhook), що оновлює результати дзвінка у вашій CRM чи запускає подальший сценарій у n8n. Опис усіх вузлів, які можна використати при побудові голосового агента, — у відповідних сторінках розділу [Вузли](/voice-agent/start-call).
