Сквозной проект: обработка заявки

Форма как настоящий trigger

Содержание курса

Настройка полей формы: типы, метки и обязательность

Каждое поле формы в n8n Form Trigger определяется тремя параметрами, и между ними есть прямая связь с тем, что окажется в JSON item после отправки.

Field Label — это не просто подпись для пользователя. Именно это значение становится ключом в JSON item. Если вы написали «Описание проблемы», то в item появится ключ Описание проблемы, и именно к нему нужно обращаться в expressions: {{ $json['Описание проблемы'] }}. Никакой нормализации или переименования n8n не делает — что написали, то и получили.

Field Type определяет, какой тип ввода видит пользователь:

  • text — обычная строка
  • number — поле с числовым вводом (HTML рендерит <input type="number">); значение в JSON item приходит как строка, а не как число — если планируете числовые операции в expressions, приводите тип явно: {{ Number($json['Количество']) }}. Всегда проверяйте фактический тип значения в панели Output, прежде чем писать арифметику.
  • email — строка с валидацией формата на стороне браузера
  • dropdown — выбор из предзаданного списка вариантов

Required — флаг обязательности. Если поле помечено как Required, форма не отправится, пока оно не заполнено. Если не помечено — пользователь может оставить его пустым, и тогда ключ в JSON item либо не появится совсем, либо придёт с пустой строкой в зависимости от типа поля. К этому поведению подробнее вернёмся в секции об ошибках.

Посмотрим, как это выглядит на конкретном примере. Форма настроена с тремя полями:

  • «Имя» — тип text, Required
  • «Email» — тип email, Required
  • «Описание проблемы» — тип text, Required

После того как пользователь заполняет поля и нажимает Submit, n8n создаёт один item со следующей структурой:

{
  "Имя": "Алексей",
  "Email": "alex@example.com",
  "Описание проблемы": "Не работает вход"
}

Ключи совпадают с Field Label один в один. В следующем узле к значению «Имя» обращаются как {{ $json['Имя'] }}, к email — {{ $json['Email'] }}. Это тот же механизм expressions из предыдущего урока, просто теперь ключи определяет конфигурация формы, а не вы вручную.

Практический вывод: называйте поля сразу так, как вам удобно на них ссылаться в expressions. Пробелы и кириллица работают, но их придётся оборачивать в квадратные скобки. Если планируете активно использовать поле в expressions, латинское имя без пробелов (name, email, description) сделает код чище.

Форма как настоящий trigger — n8n с нуля: автоматизация заявок с AI за вечер — Latorn