Блок "Условие" ветвит выполнение воркфлоу на основе булевых выражений. Оценивайте условия, используя выходные данные предыдущих блоков, и направляйте по разным путям без необходимости использования LLM.

Параметры конфигурации
Условия
Определите одно или несколько условий, которые будут оцениваться. Каждое условие включает:
- Выражение: Выражение JavaScript/TypeScript, которое оценивается как true или false
- Путь: Блок назначения для маршрутизации, если условие истинно
- Описание: Опциональное объяснение того, что проверяет условие
Вы можете создать несколько условий, которые оцениваются по порядку, причем первое совпадающее условие определяет путь выполнения.
Формат выражения условия
Условия используют синтаксис JavaScript и могут ссылаться на входные значения из предыдущих блоков.
// Проверка, превышает ли оценка порог
<agent.score> > 75// Проверка, содержит ли текст определенные ключевые слова
<agent.text>.includes('urgent') || <agent.text>.includes('emergency')// Проверка нескольких условий
<agent.age> >= 18 && <agent.country> === 'US'Доступ к результатам
После оценки условия вы можете получить доступ к его выходным данным:
<condition.conditionResult>: Булев результат оценки условия<condition.selectedOption>: ID условия, которое совпало<condition.selectedPath>: Детали выбранного направления маршрутизации
Расширенные возможности
Сложные выражения
Используйте операторы и функции JavaScript в условиях:
// Строковые операции
<user.email>.endsWith('@company.com')
// Операции с массивами
<api.tags>.includes('urgent')
// Математические операции
<agent.confidence> * 100 > 85
// Сравнения дат
new Date(<api.created_at>) > new Date('2024-01-01')Оценка нескольких условий
Условия оцениваются по порядку до первого совпадения:
// Условие 1: Проверка высокого приоритета
<ticket.priority> === 'high'
// Условие 2: Проверка ключевых слов срочности
<ticket.subject>.toLowerCase().includes('urgent')
// Условие 3: Резервное условие по умолчанию
trueОбработка ошибок
Если выражение условия ссылается на неопределенную переменную или вызывает ошибку времени выполнения, блок вызовет ошибку, и выполнение завершится неудачей (или пойдет по пути ошибки, если он подключен). Используйте опциональную цепочку (?.) или явные проверки на null в ваших выражениях для безопасной обработки отсутствующих значений.
Выходные данные
<condition.conditionResult>: Булев результат оценки<condition.selectedOption>: ID совпавшего условия<condition.selectedPath>: Детали выбранного направления маршрутизации
Примеры использования
Маршрутизация поддержки клиентов — Направление тикетов на основе приоритета
API (Ticket) → Condition (priority === 'high') → Agent (Escalation) or Agent (Standard)Модерация контента — Фильтрация контента на основе анализа
Agent (Analyze) → Condition (toxicity > 0.7) → Moderation or PublishПоток адаптации пользователей — Персонализация адаптации на основе типа пользователя
Function (Process) → Condition (account_type === 'enterprise') → Advanced or AACFlowpleРекомендации
- Правильно упорядочивайте условия: Размещайте более специфичные условия перед общими, чтобы обеспечить приоритет специфичной логики над резервными вариантами
- Используйте ветку else при необходимости: Если ни одно условие не совпадает и ветка else не подключена, ветка воркфлоу завершится корректно. Подключите ветку else, если вам нужен резервный путь для несопоставленных случаев
- Сохраняйте выражения простыми: Используйте четкие, прямолинейные булевы выражения для лучшей читаемости и более легкой отладки
- Документируйте ваши условия: Добавляйте описания, чтобы объяснить цель каждого условия для лучшего сотрудничества в команде и поддержки
- Тестируйте граничные случаи: Проверяйте, что условия корректно обрабатывают граничные значения, тестируя со значениями на границах ваших диапазонов условий

