Skip to main content
Мы настоятельно рекомендуем создавать Автоматизации с помощью действия «Запустить скрипт», поскольку оно поддерживает все варианты поведения действий, включая те, которые иначе пришлось бы создавать вручную. Просто опишите свои требования ИИ в чате.Обратите внимание: если вы добавите действия вручную, ИИ не сможет распознать или изменить их позднее.
Действие «Запустить скрипт» позволяет писать пользовательский код JavaScript для логики, которую не поддерживают встроенные действия. Можно преобразовывать данные, вызывать внешние API, выполнять вычисления, реализовывать условное ветвление и многое другое — всё в защищённой среде-песочнице. Скрипты получают данные из предыдущих шагов через объект input и передают результаты последующим шагам с помощью функции output.set().

Когда использовать «Запустить скрипт», а когда — встроенные действия

В целом используйте встроенные действия, когда они соответствуют вашим потребностям. Выбирайте «Запустить скрипт», если нужна пользовательская логика, преобразование данных или сложное взаимодействие с API.

Среда

Как настроить

  1. Добавьте действие Запустить скрипт в рабочий процесс.
  2. Редактор скрипта откроется с пустым холстом. Напишите здесь код JavaScript.
  3. Скрипт может читать данные из предыдущих шагов с помощью объекта input (см. ниже).
  4. Используйте output.set(key, value), чтобы передать результаты последующим шагам.
  5. (Необязательно) Добавьте зависимости npm на панели конфигурации, если скрипту нужны внешние библиотеки.
  6. Нажмите Тест, чтобы запустить скрипт с реальными данными из последнего выполнения триггера.
  7. Проверьте результат теста и журналы консоли, чтобы убедиться, что скрипт работает правильно.
  8. Сохраните действие.

Чтение входных данных

Объект input содержит данные всех предыдущих шагов рабочего процесса. Каждый шаг определяется идентификатором действия.

Структура входных данных

Получение данных триггера (Полей Записи)

Получение данных из шага «Получить Записи»

Получение данных из результатов других действий

Во время тестирования используйте console.log(JSON.stringify(input, null, 2)), чтобы увидеть точную структуру входных данных. Это самый быстрый способ понять, какие данные доступны.

Запись результата

Используйте output.set(key, value), чтобы сделать данные доступными последующим шагам. Можно задать несколько ключей.
Каждый заданный ключ становится отдельной переменной, к которой последующие шаги могут обратиться через средство выбора переменных +. Например, если вызвать output.set("status", "success"), следующий шаг сможет обратиться к status в результате этого скрипта.

Отладка с помощью console.log

Во время разработки используйте console.log() для проверки данных и отслеживания хода выполнения. После нажатия Тест данные журнала появятся на панели тестирования.
Журналы консоли видны только при тестировании — они не отображаются в истории запусков рабочей среды. Активно используйте их при создании скрипта.

Управление пакетами npm

В скриптах можно использовать пакеты npm. Объявите зависимости на панели конфигурации:
Затем используйте их в скрипте с помощью require():
По возможности отдавайте предпочтение встроенным возможностям JavaScript перед пакетами npm. Современный JavaScript содержит множество встроенных инструментов: Array.map(), Array.filter(), Object.entries(), шаблонные строки, деструктуризацию и т. д. Добавляйте пакеты npm, только если они дают существенные преимущества.

Встроенные переменные

Безопасность: область действия AUTOMATION_TOKEN

Токен AUTOMATION_TOKEN автоматически создаётся для каждого запуска Автоматизации. Он имеет те же разрешения, что и создатель Автоматизации, и действует только в рамках текущего выполнения. Основные моменты:
  • Он предоставляет доступ к любой Таблице, доступной создателю Автоматизации.
  • Он действителен только во время выполнения скрипта (ограничение — 60 секунд).
  • Не передавайте этот токен внешним системам: он предназначен для вызова API Teable из скрипта.

Вызов API Teable

Вызов ИИ из скрипта

POST /api/automation/runtime/ai отправляет запрос модели ИИ вашей Базы. База определяется из контекста Автоматизации, поэтому её идентификатор не требуется. Тело принимает prompt, а также необязательные параметры attachments, modelKey, temperature и outputType; ответ имеет вид { "message": ... }. Вложения представляют собой элементы { url, mimetype, name }: не более 10 на один вызов, каждый размером менее 20 МБ и со временем загрузки до 30 секунд. Поддерживаются изображения, PDF-файлы и документы Office. Модель чата по умолчанию может не читать изображения и подобные вложения, поэтому при отправке файлов укажите modelKey. Каждый вызов расходует кредиты.

Обработка ошибок

Всегда помещайте потенциально рискованные операции в блоки try/catch, чтобы рабочий процесс мог корректно обрабатывать сбои:
Без обработки ошибок неудачный вызов fetch или неожиданный формат данных приведёт к аварийному завершению скрипта, и последующие шаги не получат результат.

Полный пример: обработка и маршрутизация обращений в поддержку

Советы

  • Начните с console.log. При создании нового скрипта сначала запишите в журнал весь объект input, чтобы понять его структуру.
  • Не перегружайте скрипты. Лучше хорошо решить одну задачу, чем помещать в один скрипт множество задач. При необходимости объедините в цепочку несколько действий «Запустить скрипт».
  • Помните об ограничении в 60 секунд. Продолжительные операции (обработка большого объёма данных, множество последовательных вызовов API) могут превысить ограничение времени. Разделяйте большие задачи на меньшие части.
  • Тестируйте с реальными данными. Панель тестирования использует фактические данные последнего выполнения триггера, поэтому результаты будут реалистичными.
  • Обрабатывайте отсутствующие данные. Используйте значения по умолчанию (оператор ||) для Полей, которые могут быть пустыми или неопределёнными.

Связанные материалы

Последнее изменение 4 сентября 2026 г.