Быстрый старт
В этой статье вы узнаете, как использовать триггеры, AI-агента и функции в Agent Platform.
В качестве примера мы создадим процесс для работы с новостями про космос. Процесс позволит:
- Запрашивать статьи на нужную тему.
- Регулярно получать последние новости.
Чтобы начать работу:
- Создайте проект.
- Настройте поиск статей через AI-агента.
- Настройте регулярную отправку последних новостей в чат.
Шаг 1. Создание проекта
-
Зарегистрируйтесь в Agent Platform.
к сведениюAgent Platform и Conversational Cloud используют общую базу аккаунтов, поэтому если вы зарегистрированы в Conversational Cloud, дополнительно регистрироваться в Agent Platform не нужно.
-
На странице Проекты нажмите Создать AI-приложение.
-
Выберите шаблон Пустой проект и укажите название.
подсказкаВы также можете создать проект на основе шаблона Быстрый старт. Он уже содержит полностью готовый процесс из этой статьи — останется только добавить учетные данные с токеном Telegram-бота и указать
chatIDв функцииTelegram.sendText. -
Нажмите Создать. Вы сразу перейдете внутрь проекта.
Шаг 2. Поиск статей через AI-агента
Триггер по новому сообщению
Триггер
-
На левой панели нажмите , чтобы открыть конструктор процессов.
-
Раскройте раздел Триггеры:
-
Перетащите блок Сообщение на холст. Триггер будет срабатывать каждый раз, когда пользователь отправляет сообщение в чат.
Функция для агента
Пользовательская функция
Инструмент
Добавьте новую функцию:
-
В списке блоков откройте раздел Функции.
-
Нажмите справа от раздела Пользовательские.
-
В открывшемся окне выберите, куда сохранить новую функцию — Новая коллекция и нажмите Далее.
-
Укажите информацию о коллекции:
- Название:
Новости про космос. - Идентификатор
SpaceArticles. - Описание:
Коллекция функций для работы с новостями про космос.
- Название:
-
Нажмите Добавить.
-
В открывшемся окне укажите информацию о новой функции:
- Название:
Найти статьи. - Идентификатор:
searchArticles. - Описание:
Найти последние статьи по нужной теме. По описанию агент будет понимать, что делает функция.
- Название:
-
Нажмите Сохранить. После сохранения откроется окно настроек функции.
-
Нажмите Добавить в секции Параметры и выберите string. Далее:
- В поле Название укажите название параметра, например
query. - В поле Описание введите
Термин на английском языке, по которому нужно найти статьи. По этому описанию агент будет понимать, что нужно передать в параметр.
- В поле Название укажите название параметра, например
-
В секции Поля ответа в поле Описание укажите
Данные статей. -
Перейдите на вкладку Код и введите тело функции на языке JavaScript. Реализация зависит от версии движка в вашем проекте.
- Версия 2
- Версия 1
try {
// Отправляем запрос, чтобы получить статьи по термину
var response = Http.get({
url: "https://api.spaceflightnewsapi.net/v4/articles/",
params: {
// Передаем в API-запрос параметр query
search: query,
ordering: "-published_at"
},
headers: {}
});
var body = typeof response.body === "string" ? JSON.parse(response.body) : response.body;
// Сохраняем нужные данные о статьях
var articles = (body.results || []).map(function (a) {
return {
title: a.title,
summary: a.summary,
url: a.url,
publishedAt: a.published_at
};
});
// Если статей нет
if (articles.length === 0) {
return "No data";
}
return JSON.stringify(articles);
} catch (err) {
return "Error fetching articles: " + err;
}подсказкаВы можете протестировать JavaScript-функцию прямо в редакторе, без запуска всего процесса — эта возможность доступна в проектах на движке версии 2. Подробнее читайте в разделе Тестирование функции в редакторе.
// Отправляем запрос, чтобы получить статьи по термину
return Http.get({
url: "https://api.spaceflightnewsapi.net/v4/articles/",
params: {
// Передаем в API-запрос параметр query
search: query,
ordering: "-published_at"
},
headers: {}
})
.then(function (response) {
var body = typeof response.body === "string" ? JSON.parse(response.body) : response.body;
// Сохраняем нужные данные о статьях
var articles = (body.results || []).map(function (a) {
return {
title: a.title,
summary: a.summary,
url: a.url,
publishedAt: a.published_at
};
});
// Если статей нет
if (articles.length === 0) {
return "No data";
}
return JSON.stringify(articles);
})
.catch(function (err) {
return "Error fetching articles: " + err;
});Функция получает релевантные статьи из Spaceflight News API и возвращает их данные.
-
Нажмите Сохранить вверху окна настроек.
Настройте функцию:
-
Перетащите новую функцию Найти статьи из раздела Функции → Пользовательские → Новости про космос на холст.
-
На холсте дважды нажмите на блок этой функции, чтобы открыть ее настройки.
-
Переведите функцию в режим инструмента, чтобы AI-агент мог ее использовать:
- В окне настроек включите Режим инструмента.
- У параметра
queryвключите опцию (Заполнить через LLM).
-
Нажмите Сохранить вверху окна настроек.
Теперь на холсте есть два блока:
Создание AI-агента
Агент
Добавьте агента:
-
Перетащите блок Агенты → Агент на холст.
-
На холсте дважды нажмите на блок агента.
-
Раскройте панель Основные:
- В поле LLM выберите Создать интеграцию.
- В поле Доступ к LLM выберите Через Just AI.
- В поле Провайдер выберите OPEN_AI, а в поле Модель — gpt-5.2.
- Нажмите Добавить.
-
Раскройте панель Промты:
-
Роль:
Помощник. -
Цель:
Выполни задание, которое тебе дал пользователь. -
Инструкции:
Если пользователь просит найти новости:
1. Вызови функцию searchArticles и передай термин на английском языке в качестве параметра.
2. Когда получишь новости, составь один абзац текста со всей информацией.
3. Переведи на русский язык, подпиши, за какой период новости, и приложи список ссылок.
4. Отправь пользователю.
-
-
Нажмите Сохранить вверху окна настроек.
Далее соедините триггер Сообщение с агентом, а функцию Найти статьи присоедините к агенту как инструмент.
Чтобы удалить связь между блоками, нажмите на связь и затем нажмите Delete или Backspace.
Тестирование
Нажмите Тестировать в правом верхнем углу и выберите триггер Сообщение — откроется тестовый чат-виджет. В нем вы можете переписываться с агентом и проверять его ответы.
Пример диалога:
-
👤 Пользователь:
Есть что-то интересное про Марс?
-
🤖 Ассистент:
Вот последние интересные новости о Марсе за август 2025 года:
В начале августа марсоход Curiosity продолжил исследование уникальных структур на Марсе, известных как «boxwork» — это сложные рельефы, которые могут дать новые данные о геологической истории планеты. Команда марсохода подробно изучила так называемые «peace sign» гребни, чтобы узнать больше о процессах формирования этих структур. Кроме того, NASA активно использует марсоход Perseverance для создания панорам и изучения атмосферы Марса, а Европейское космическое агентство разрабатывает новые технологии для будущих марсианских миссий. Важными остаются также международные планы по отправке новых аппаратных комплексов для поиска признаков жизни и исследования климата на Марсе.
Ссылки на источники:
- https://science.nasa.gov/blog/curiosity-blog-sols-4624-4626-a-busy-weekend-at-the-boxwork/
- https://www.nasa.gov/missions/mars-2020-perseverance/perseverance-rover/nasas-perseverance-rover-captures-mars-vista-as-clear-as-day/
- https://europeanspaceflight.com/esa-to-develop-hummingbird-inspired-flying-mars-explorer/
- https://europeanspaceflight.com/italy-signs-agreement-with-spacex-for-starship-mars-mission/
Шаг 3. Регулярная отправка новостей в чат
Расписание и вебхук
Триггеры
Добавьте блок Планировщик:
- Перейдите к блоку Триггеры → Планировщик и перетащите его на холст.
- На холсте дважды нажмите на блок.
- Перейдите на вкладку Cron-выражение и вставьте значение
0 0 9 * * ?, чтобы запускать процесс каждый день в 9:00 UTC. - Нажмите Сохранить.
Далее добавьте блок Вебхук — перейдите в раздел Триггеры и перетащите этот блок на холст. Когда GET-запрос приходит на адрес вебхука, триггер срабатывает и запускает процесс. Это позволяет внешним системам запускать процесс, например, при наступлении какого-то события.
Получение новостей
Пользовательская функция
Добавьте новую функцию:
-
В списке блоков выберите Функции.
-
Нажмите справа от раздела Пользовательские.
-
Выберите коллекцию
Новости про космоси нажмите Далее. -
В открывшемся окне укажите информацию о новой функции:
- Название:
Сделать пост. - Идентификатор:
sendNews. - Описание:
Получить последние новости и составить пост. По описанию агент будет понимать, что делает функция.
- Название:
-
Нажмите Сохранить. После сохранения откроется окно настроек функции.
-
Функция не имеет параметров, поэтому оставьте их пустыми.
-
В секции Поля ответа в поле Описание укажите
Текст поста. -
Перейдите на вкладку Код и введите тело функции. Реализация зависит от версии движка в вашем проекте.
- Версия 2
- Версия 1
try {
// Получаем дату и время, которые были день назад, в формате ISO
var oneDayAgoISO = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
// Отправляем запрос, чтобы получить статьи, опубликованные за последний день
var response = Http.get({
url: "https://api.spaceflightnewsapi.net/v4/articles/",
params: {
published_at_gte: oneDayAgoISO,
ordering: "-published_at"
},
headers: {}
});
var body = typeof response.body === "string" ? JSON.parse(response.body) : response.body;
var articles = (body.results || []).map(function (a) {
return {
title: a.title,
url: a.url,
publishedAt: a.published_at
};
});
// Если статей нет
if (articles.length === 0) {
return "☁️ Сегодня ничего нового";
}
// Формируем текст поста
var postText = "🛰️ Статьи про космос за день:\n\n" +
articles.map(function (a) {
return "**" + a.title + "**\n" +
"🔗 " + a.url + "\n" +
"🗓 " + new Date(a.publishedAt).toUTCString();
}).join("\n\n");
return postText;
} catch (err) {
return "Произошла ошибка: " + err;
}// Получаем дату и время, которые были день назад в формате ISO
var oneDayAgoISO = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
// Отправляем запрос, чтобы получить статьи, опубликованные за последний день
return Http.get({
url: "https://api.spaceflightnewsapi.net/v4/articles/",
params: {
published_at_gte: oneDayAgoISO,
ordering: "-published_at"
},
headers: {}
})
.then(function (response) {
var body = typeof response.body === "string" ? JSON.parse(response.body) : response.body;
var articles = (body.results || []).map(function (a) {
return {
title: a.title,
url: a.url,
publishedAt: a.published_at
};
});
// Если статей нет
if (articles.length === 0) {
return "☁️ Сегодня ничего нового";
}
// Формируем текст поста
var postText = "🛰️ Статьи про космос за день:\n\n" +
articles.map(function (a) {
return "**" + a.title + "**\n" +
"🔗 " + a.url + "\n" +
"🗓 " + new Date(a.publishedAt).toUTCString();
}).join("\n\n");
return postText;
})
.catch(function (err) {
return "Произошла ошибка: " + err;
});Функция получает новости про космос за день из Spaceflight News API и возвращает текст поста.
-
Нажмите Сохранить вверху окна настроек.
Далее перетащите новую функцию из списка блоков на холст и соедините ее с триггерами.
Перевод новостей и отправка сообщения
Встроенные функции
Функция sendNews получает заголовки статей на английском языке.
Добавьте запрос к LLM, чтобы перевести текст на русский язык:
-
В списке блоков откройте раздел Функции → Встроенные → Llm и перетащите функцию sendText на холст.
-
На холсте дважды нажмите на блок этой функции.
-
В параметре llmModelKey выберите OPEN_AI — gpt-5.2.
-
В параметре text введите:
- Для движка версии 2:
Переведи пост полностью на русский язык, верни только перевод в ответе: {{ previousResult }}. - Для версии 1:
{{"Переведи пост полностью на русский язык, верни только перевод в ответе: " + Context.getLastFunctionResult()}}.
подсказка{{}}используется для подстановки выражений в параметры функций.Переменная
previousResultи встроенная функцияContext.getLastFunctionResult()позволяют получить результат последней выполненной функции. В данном случае это текст сообщения с новостями, который формируется вsendNews. - Для движка версии 2:
-
Нажмите Сохранить и соедините Сделать пост с Llm.sendText, чтобы эти функции выполнялись последовательно:
Добавьте функцию для отправки сообщения в Telegram
Получите chatID Telegram-чата, куда будут приходить новости:
- Откройте Telegram и найдите бота @ShowJsonBot.
- Запустите бота и отправьте ему любое сообщение.
- Бот вернет JSON с данными вашего аккаунта — скопируйте значение поля
"id". Это и есть вашchatID.
Сохраните токен Telegram-бота в учетных данных:
- Получите токен бота через @BotFather.
- В проекте перейдите в раздел Учетные данные и добавьте новые данные с токеном бота.
Добавьте функцию отправки:
- В списке блоков откройте раздел Функции → Встроенные → Telegram и перетащите функцию sendText на холст.
- На холсте дважды нажмите на блок этой функции.
- Укажите параметры:
- credentialKey — выберите созданные учетные данные с токеном бота.
- chatId —
chatID, который вы получили выше. - text — для движка версии 2 укажите
{{ previousResult }}, для версии 1 —{{Context.getLastFunctionResult()}}.
- Нажмите Сохранить.
- Соедините эту функцию с Llm.sendText.
В итоге три функции будут выполняться последовательно:
Тестирование
-
Нажмите Тестировать в правом верхнем углу редактора.
-
Выберите триггер для тестирования, например Вебхук. Запустится выполнение процесса, вы можете за ним наблюдать в нижней панели.
-
В указанный Telegram-чат придет сообщение с последними новостями про космос:
🛰️ Статьи про космос за день:
Взгляд на рождение звезд с телескопа «Джеймс Уэбб» от NASA 🔗 https://science.nasa.gov/missions/webb/glittering-glimpse-of-star-birth-from-nasas-webb-telescope/ 🗓 Чт, 04 сен 2025 14:00:00 GMT
Офицер NASA помогает осуществить возвращение на Луну 🔗 https://www.nasa.gov/image-article/co-patricia-white-helps-moon-journey/ 🗓 Чт, 04 сен 2025 14:00:00 GMT
…
Полный процесс
Дальнейшие шаги
Чтобы пользователи могли общаться с агентом, подключите канал к процессу — например, виджет на сайте.