Функция «Данные из внешнего события» позволяет боту получить информацию, которую присылает платформа в момент действия пользователя:
например, когда он написал сообщение, нажал кнопку, подписался или отправил файл.
То есть бот может вставить в ваш сценарий те данные, которые реально пришли от Telegram, ВКонтакте или другой платформы.
💡 Например:
Пользователь написал сообщение «Привет» в Telegram.
Платформа присылает событие, где есть текст сообщения.
Вы можете получить его так:{{update("message.text")}} → Привет
То же самое можно сделать с ID чата, ID пользователя, языком, вложениями и другими полями, которые приходят в webhook.
Используйте эту функцию, если хотите работать со старыми или нестандартными полями, которые ещё не стали системными переменными,
или если нужно показать пользователю то, что он отправил (например, «Вы написали: …»).
1️⃣ Откройте нужный шаг
Например, Сообщение, если хотите показать пользователю данные, или Действие, если хотите передать их в интеграцию.
2️⃣ Нажмите кнопку </> — “Выбор переменных и функций”
Откроется окно со всеми доступными системными функциями.
3️⃣ Перейдите во вкладку “Системные функции”
4️⃣ Выберите “Данные из внешнего события”
После выбора в текст подставится метка функции — чип с названием.

5️⃣ Откроется окно с настройками
Там нужно указать:
Путь (path) — откуда брать данные из входящего события;
Резервное значение (по желанию) — если по указанному пути ничего не найдено.
6️⃣ Сохраните изменения

В окне вы увидите:
Поле «Путь к значению» — обязательное
Поле «Резервное значение» — необязательное
Кнопку сохранения, которая станет активной, когда путь заполнен
Как заполнить настройки
После вставки функции откроется окно, где нужно указать два параметра:
1️⃣ Путь к данным (path)
Это самое главное поле.
Здесь вы пишете откуда бот должен взять данные внутри события (webhook), которое пришло от соцсети.
Примеры популярных путей:
message.text — текст сообщения
message.chat.id — ID чата
message.from.language_code — язык пользователя
Вы просто указываете путь — и если это поле существует в событии, бот вставит его значение.
💡 Подсказка
Путь всегда пишется через точки, без скобок, кавычек, слэшей и пробелов.
❌ Нельзя:
message["text"]
message/text
object.message[from_id]
message. text (с пробелом)
✔ Можно:
message.text
object.message.from_id
Если поле пустое или путь указан с ошибкой — функция просто вернёт fallback (если он указан) или 0.
2️⃣ Резервное значение (fallback) — по желанию
Это «план Б» — что показать, если по пути данных не нашлось.
Сюда можно ввести:
текст (например, “нет данных”),
число (например, 0),
переменную.
📌 Это поле не обязательно, но полезно, если путь может отсутствовать (например, пользователь отправил файл вместо текста).
Как работает функция на практике
Функция подставляет данные только в тот момент, когда сценарий запускается реальным внешним событием —
например, пользователь написал сообщение, нажал кнопку или прислал вложение.
Ниже разберём, что бот получит в самых распространённых ситуациях.
📲 Примеры работы в Telegram
Когда пользователь пишет «Привет», Telegram отправляет боту событие с такой структурой (упрощённо):
{
"message": {
"text": "Привет",
"chat": {
"id": 123456789
},
"from": {
"language_code": "ru"
}
}
}
Теперь можно получить любые поля:
✔ Что вернёт функция
{{update("message.text")}}
→ Привет
{{update("message.chat.id")}}
→ 123456789
{{update("message.from.language_code")}}
→ ru
{{update("message.nonexistent", "Нет такого поля")}}
→ Нет такого поля
💡 Если путь указан неверно — будет возвращён fallback или 0.
📲Примеры работы во ВКонтакте
В ВК данные приходят в другом формате.
Например, пользователь отправил сообщение «Привет»:
{
"object": {
"message": {
"text": "Привет",
"from_id": 987654321
}
}
}
Теперь можно получить:
{{update("object.message.text")}}
→ Привет
{{update("object.message.from_id")}}
→ 987654321
Как протестировать вручную
Добавьте шаг Сообщение.
Вставьте функцию, например:
Вы отправили: {{update("message.text")}}
Откройте своего бота и отправьте сообщение.
Если путь указан правильно — бот вернёт ваш текст.
📌 Если бот вернул пусто — чаще всего путь неверный или данные пришли в другом месте события.
Что важно помнить
Функция работает только с реальными событиями, которые пришли в Botman от соцсети. Если события нет — данных тоже нет.
Если пользователь ранее отправлял сообщение, но сейчас запустил другой триггер — данные старого webhook не доступны.
Разные платформы — разные пути
Telegram и VK присылают данные в разных структурах:
Telegram → message.text, message.chat.id
VK → object.message.text, object.message.from_id
Нужно использовать путь именно той платформы, в которой запускается сценарий.
Примечания
Функция работает только в контексте реального события, которое приходит от Telegram, ВКонтакте или другой платформы.
Если события нет — функция не подставит данные.
Данные извлекаются строго по указанному пути.
Если путь неправильный, хоть на один символ, — вернётся fallback или 0.
Разные платформы присылают разную структуру webhook.
Поэтому пути тоже отличаются:
Telegram → message.text
ВКонтакте → object.message.text
Если поле отсутствует в webhook (например, пользователь отправил стикер, а вы пытаетесь получить message.text) — вернётся fallback или 0.
Функция безопасна:
бот никогда не покажет ошибку пользователю,
просто вернёт пусто или резервное значение.
Функция подходит для получения дополнительных и редких полей,
которые бот не обрабатывает автоматически как системные переменные.
Мини-чек-лист перед использованием
✨ Совет
Для удобной работы с функцией используйте простое правило:
Сначала отправьте сообщение боту → посмотрите, какие данные реально пришли → и только потом указывайте путь.
Так вы всегда будете уверены, что путь правильный, а функция вернёт нужное значение.
Если вы работаете сразу с несколькими платформами (например, Telegram + ВКонтакте),
делайте отдельные сценарии или условия — у них разные структуры webhook.
И обязательно ставьте fallback, если поле может отсутствовать — так бот всегда покажет пользователю аккуратный и понятный текст, даже когда данных нет.
Официальные ссылки на документацию webhook
📘 Telegram Webhook API
Telegram подробно описывает структуру объекта Update, который приходит в webhook.
👉 Официальная документация:
https://core.telegram.org/bots/api#update
На этой странице перечислены:
все типы событий,
структура message, callback_query, chat_member, poll,
возможные вложенные поля,
примеры.
Это главный источник, где пользователь может посмотреть, какие поля реально бывают в webhook Telegram.
📘ВКонтакте Callback API (Webhook)
У ВК это называется Callback API.
Структура событий зависит от типа: сообщение, подписка, клики, ответы и многое другое.
👉 Официальная документация:
https://dev.vk.com/ru/api/callback/getting-started
👉 JSON-схемы VK API:
@GitHub GitHub - VKCOM