Created by Github action --------- Co-authored-by: github-actions <github-actions@twenty.com>
320 lines
21 KiB
Plaintext
320 lines
21 KiB
Plaintext
---
|
|
title: Функции рабочего процесса
|
|
info: Полная справка по всем доступным триггерам, действиям и функциям управления рабочим процессом.
|
|
image: /images/user-guide/workflows/robot.png
|
|
sectionInfo: Автоматизируйте процессы и интегрируйте с внешними инструментами
|
|
---
|
|
|
|
<Frame>
|
|
<img src="/images/user-guide/workflows/robot.png" alt="Header" />
|
|
</Frame>
|
|
|
|
## Триггеры рабочего процесса
|
|
|
|
Рабочие процессы всегда начинаются с единственного триггера, который определяет, когда должна выполняться автоматизация.
|
|
|
|
### Запись создана
|
|
|
|
Запускает рабочий процесс, когда новая запись создается в выбранном объекте (Люди, Компании, Возможности или любой пользовательский объект).
|
|
|
|
**Настройка**: Выберите тип объекта для отслеживания новых записей.
|
|
|
|
### Запись обновлена
|
|
|
|
Запускает рабочий процесс, когда в существующую запись вносятся изменения.
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите тип объекта
|
|
- При необходимости укажите, какие поля отслеживать на предмет изменений.
|
|
|
|
### Запись обновлена или создана
|
|
|
|
Запускает рабочий процесс, когда запись либо создается, либо обновляется в выбранном объекте.
|
|
|
|
**Почему это важно**: Этот триггер особенно полезен, потому что записи, созданные разными методами, ведут себя по-разному:
|
|
|
|
- **Импорт через API/CSV**: Записи создаются с этими полями, заполняемыми сразу
|
|
- **Ручное создание**: Записи создаются сначала, затем поля добавляются в последующих обновлениях
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите тип объекта для отслеживания
|
|
- При необходимости укажите, какие поля отслеживать на предмет изменений
|
|
- Рабочий процесс будет запускаться как при первоначальном создании, так и при последующих обновлениях
|
|
|
|
### Запись удалена
|
|
|
|
Запускает рабочий процесс, когда запись удалена из объекта.
|
|
|
|
**Настройка**: Выберите тип объекта для отслеживания удалений.
|
|
|
|
### Запуск вручную
|
|
|
|
Запускает рабочий процесс, когда он инициируется пользователем. Этот триггер доступен через меню Cmd+K или через настраиваемую кнопку на верхней панели навигации.
|
|
|
|
**Настройка доступности**: Выберите, как рабочий процесс должен обрабатывать выбор записи:
|
|
|
|
- **Глобально**: Для запуска этого рабочего процесса запись не требуется. Рабочий процесс запускается отовсюду (с любого объекта) и не использует запись(и) как ввод.
|
|
|
|
- **Одиночная**: Выбранные записи будут переданы в ваш рабочий процесс. Это настроено для данного объекта. Несколько записей могут быть выбраны до запуска рабочего процесса. Рабочий процесс будет запускаться столько раз, сколько выбрано записей.
|
|
|
|
<Warning>
|
|
You cannot run more than 100 workflows in parallel at any given time.
|
|
</Warning>
|
|
|
|
- **Групповая обработка**: Выбранные записи будут переданы в ваш рабочий процесс. Это настроено для заданного объекта. Несколько записей могут быть выбраны до запуска рабочего процесса. Рабочий процесс будет выполнен один раз, предоставляя весь список записей в качестве входных данных. This means the workflow needs to contain an Iterator action. Это лучше всего подходит для людей, которые хотят оптимизировать/ограничить количество запусков рабочего процесса.
|
|
|
|
**Дополнительная настройка**:
|
|
|
|
- Выберите целевой объект (для одиночной и групповой доступности)
|
|
- Выберите значок команды для запуска рабочего процесса
|
|
- Настройте размещение в навигационной панели (Закреплено или Не закреплено)
|
|
|
|
**Методы доступа**:
|
|
|
|
- Меню Cmd+K для поиска и запуска ручных рабочих процессов
|
|
- Пользовательская кнопка в верхней навигационной панели (если настроено)
|
|
|
|
### По расписанию
|
|
|
|
Запускает рабочий процесс на регулярной основе, которую вы определяете.
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите единицу времени (минуты, часы, дни)
|
|
- Введите значение или используйте пользовательские cron-выражения для сложного планирования
|
|
|
|
### Вебхук
|
|
|
|
Запускает рабочий процесс при получении GET или POST-запроса от внешнего сервиса.
|
|
|
|
**Настройка**:
|
|
|
|
- Получите уникальный URL вебхука
|
|
- Для POST-запросов определите ожидаемую структуру тела
|
|
- Настройте аутентификацию, если необходимо
|
|
|
|
## Действия рабочего процесса
|
|
|
|
Действия определяют, что произойдет после срабатывания триггера. Вы можете связать несколько действий вместе.
|
|
|
|
### Создать запись
|
|
|
|
Добавляет новую запись в выбранный объект.
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите целевой объект
|
|
- Заполните обязательные и необязательные поля
|
|
- Используйте данные из предыдущих шагов для заполнения полей
|
|
|
|
**Вывод**: Данные вновь созданной записи доступны для использования на последующих шагах.
|
|
|
|
### Обновление записи
|
|
|
|
Изменяет существующую запись в выбранном объекте.
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите целевой объект
|
|
- Выберите конкретную запись для обновления
|
|
- Выберите поля для изменения и введите новые значения
|
|
|
|
**Вывод**: Данные обновленной записи доступны для использования в последующих шагах.
|
|
|
|
### Удалить запись
|
|
|
|
Удаляет запись из выбранного объекта.
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите целевой объект
|
|
- Выберите конкретную запись для удаления
|
|
|
|
**Вывод**: Данные удаленной записи остаются доступными для использования в последующих шагах.
|
|
|
|
### Поиск записей
|
|
|
|
Находит записи в выбранном объекте, используя условия фильтрации.
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите объект для поиска
|
|
- Установите критерии фильтра для сужения результатов
|
|
- Настройте сортировку и ограничения
|
|
|
|
**Вывод**: Возвращает записи, которые могут быть использованы в последующих шагах.
|
|
|
|
**Best Practice**: Use branches after Search Records to handle "found" vs "not found" scenarios.
|
|
|
|
### Итератор
|
|
|
|
Перебирает массив записей, возвращенный на предыдущем этапе, позволяя выполнять действия для каждой записи индивидуально.
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите массив записей из предыдущего шага (например, результаты поиска записей)
|
|
- Определите действия, которые нужно выполнить для каждой записи в цикле
|
|
- Настройте имя переменной для ссылки на каждую запись в итерации
|
|
|
|
**Пример**: Поиск записей возвращает 5 человек, затем используйте Итератор, чтобы отправить email каждому или обновить каждую запись по отдельности.
|
|
|
|
**Примечание**: Итератор в настоящее время находится в стадии бета-тестирования. Активируйте его в Настройки → Релизы → Лаб.
|
|
|
|
### Фильтр
|
|
|
|
Фильтрует массив записей на основе указанных условий, допуская только записи, соответствующие критериям.
|
|
|
|
**Настройка**:
|
|
|
|
- Выберите массив записей для фильтрации
|
|
- Определите условия фильтрации и критерии
|
|
- Настройте, какие записи должны пройти через последующие шаги
|
|
|
|
**Вывод**: Возвращает только записи, которые соответствуют указанным условиям фильтра.
|
|
|
|
### Отправить письмо
|
|
|
|
Отправляет email из вашего рабочего процесса.
|
|
|
|
**Предварительные условия**: добавьте учетную запись электронной почты в Настройки > Учетные записи
|
|
|
|
**Настройка**:
|
|
|
|
- Введите email-адрес получателя
|
|
- Установите строку темы
|
|
- Составьте текст сообщения
|
|
- Используйте переменные из предыдущих шагов для персонализации
|
|
|
|
**Примечание**: вложения email будут доступны в первом квартале 2026 года.
|
|
|
|
### Код
|
|
|
|
Выполняет кастомный JavaScript в вашем рабочем процессе.
|
|
|
|
**Настройка**:
|
|
|
|
- Напишите код JavaScript в редакторе
|
|
- Получайте доступ к переменным из предыдущих шагов
|
|
- Возвращайте переменные для использования в последующих шагах
|
|
- Проверяйте код непосредственно в шаге
|
|
|
|
**Доступ**: управляйте API-ключами в Настройки → API и Вебхуки
|
|
|
|
### Форма
|
|
|
|
Выводит форму во время выполнения рабочего процесса для сбора информации от пользователя.
|
|
|
|
**Настройка**:
|
|
|
|
- Определите поля ввода с типами, метками и заполнителями
|
|
- Настройте правила валидации
|
|
- Установите заголовок и описание формы
|
|
|
|
**Вывод**: ответы формы доступны для использования в последующих шагах.
|
|
|
|
<Warning>
|
|
Формы в настоящее время предназначены только для ручных триггеров. Для рабочих процессов с другими триггерами (запись создана, обновлена и т. д.) формы доступны только через интерфейс запуска рабочего процесса, и это не ожидаемый пользователем опыт. Центр уведомлений будет выпущен в 2026 году для полноценной поддержки форм в автоматизированных рабочих процессах.
|
|
</Warning>
|
|
|
|
### HTTP-запрос
|
|
|
|
Отправляет запрос внешнему API в рамках вашего рабочего процесса.
|
|
|
|
**Настройка**:
|
|
|
|
- Введите URL конечной точки API
|
|
- Выберите метод HTTP (GET, POST, PUT, PATCH, DELETE)
|
|
- Добавьте необходимые заголовки и значения
|
|
- Включите текст запроса для запросов POST/PUT/PATCH
|
|
- Предоставьте пример ответа для предварительного просмотра структуры
|
|
|
|
## Управление рабочими процессами
|
|
|
|
### Создание рабочих процессов
|
|
|
|
1. Нажмите "+ Добавить рабочий процесс", чтобы начать
|
|
2. Нажмите "Без названия", чтобы назвать ваш рабочий процесс
|
|
3. Выберите и настройте триггер вашего рабочего процесса
|
|
4. Добавьте действия в ваш рабочий процесс
|
|
5. Тестируйте и улучшайте
|
|
6. Активируйте ваш рабочий процесс (в настоящее время в черновом режиме), как только закончите редактирование
|
|
|
|
\*\*Если вы не видите раздел Рабочие процессы, это связано с проблемой разрешений. Свяжитесь с администратором вашего рабочего пространства, чтобы предоставить вам доступ к рабочим процессам.
|
|
|
|
### Статусы рабочего процесса
|
|
|
|
- **Черновик**: редактируется, еще не опубликован
|
|
- **Активен**: живая версия, реагирующая на триггеры
|
|
- **Деактивирован**: ранее активный, но остановлен вручную
|
|
- **Архив**: прошлые версии хранятся для истории
|
|
|
|
### Активация рабочих процессов
|
|
|
|
Нажмите **Активировать**, чтобы опубликовать ваш черновик как новую версию. Это делает рабочий процесс доступным для запуска при триггере, но не приводит к его немедленному выполнению.
|
|
|
|
### Тестирование рабочих процессов
|
|
|
|
Тестируйте рабочие процессы перед активацией, используя:
|
|
|
|
- Ручные триггеры (когда ни одна запись не выбрана)
|
|
- Индивидуальное тестирование действий (особенно действий с кодом)
|
|
- Тестирование в режиме черновика, которое не активирует рабочий процесс
|
|
|
|
### Запуски рабочего процесса
|
|
|
|
**Запуск** - это запись выполнения рабочего процесса, содержащая:
|
|
|
|
- Статус (успешно, не удалось, выполняется)
|
|
- Выходные данные каждого шага
|
|
- Автор и временные метки
|
|
- Сообщения об ошибке, если это применимо
|
|
|
|
**Просмотр запусков**:
|
|
|
|
- Проверьте панель **Запуски** в редакторе рабочего процесса
|
|
- Откройте вид **Запуски рабочего процесса** для мониторинга по всем рабочим процессам
|
|
|
|
**Совет по производительности**: скрывайте запуски рабочих процессов со страницы "Все рабочие процессы" и других страниц рабочих процессов для улучшения производительности загрузки, так как большое количество запусков может замедлять загрузку страницы.
|
|
|
|
### История версий
|
|
|
|
- Смотрите все версии в поле **Версии**
|
|
- Нажмите любую версию, чтобы просмотреть детали
|
|
- Используйте **Использовать как черновик**, чтобы восстановить предыдущие версии
|
|
- Обработайте конфликты черновиков с опциями переопределения или возврата
|
|
|
|
## Лучшие практики
|
|
|
|
### Организация рабочих процессов
|
|
|
|
- **Описательные имена**: используйте ясные и конкретные названия рабочих процессов
|
|
- **Имя шага**: переименуйте шаги для описания их функции
|
|
- **Документация**: добавьте комментарии в действия с кодом
|
|
- **Категоризация**: группируйте связанные рабочие процессы логически
|
|
- **Пользовательские поля**: добавьте поля в объект Рабочий процесс в вашей модели данных (аналогично другим объектам) для организации и категоризации рабочих процессов с пользовательскими свойствами
|
|
|
|
### Оптимизация производительности
|
|
|
|
- **Минимизируйте вызовы API**: объединяйте операции, когда это возможно
|
|
- **Эффективные поиски**: используйте конкретные критерии фильтрации
|
|
- **Обработка ошибок**: планируйте сценарии отказа
|
|
- **Ограничения скорости**: соблюдайте лимиты внешнего API
|
|
|
|
### Управление потоком данных
|
|
|
|
- **Логика ветвления**: используйте ветки после поиска записей
|
|
- **Использование переменных**: используйте данные из предыдущих шагов
|
|
- **Проверка данных**: проверяйте входные данные в действиях с кодом
|
|
- **Картирование полей**: внимательно планируйте преобразование данных
|
|
|
|
### Мониторинг и обслуживание
|
|
|
|
- **Регулярный мониторинг**: проверяйте запуски рабочих процессов на наличие ошибок
|
|
- **Обзор производительности**: анализируйте время выполнения и уровень успешности
|
|
- **Управление обновлениями**: тестируйте изменения в черновике перед активацией
|
|
- **Координация команды**: документируйте рабочие процессы для членов команды
|
|
|
|
Для практических примеров этих функций в действии, смотрите наши руководства по [Внутренним автоматизациям](/l/ru/user-guide/workflows/internal-automations) и [Интеграции внешних инструментов](/l/ru/user-guide/workflows/external-tool-integration).
|