Типичные случаи использования
| Источник | Назначение | Поля для копирования |
|---|---|---|
| Компания | Возможность | Отрасль, размер компании, ARR |
| Контакт | Возможность | Email, телефон, должность |
| Возможность | Компания | Сумма последней сделки, дата последней выигранной сделки |
Базовое копирование полей
Пример: копирование Email контакта в сделку
Цель: При указании контактного лица в сделке скопируйте его email в сделку для быстрого доступа.Предварительное условие
Создайте целевые поля в Settings → Data Model → Opportunities перед созданием рабочего процесса:- Email контакта (тип: Email)
- Телефон контакта (тип: Phone)
Настройка
- Триггер: Запись обновлена (Сделки, поле Контактное лицо)
- Фильтр: Проверьте, что поле Контактное лицо не пустое
-
Поиск записей: найдите связанного контакта
- Объект: Контакты
- Фильтр: ID равен
{{trigger.object.pointOfContact.id}}
-
Обновление записи:
- Объект: Сделки
- Запись:
{{trigger.object.id}} - Email контакта:
{{searchRecords[0].email}} - Телефон контакта:
{{searchRecords[0].phone}}
Копирование нескольких полей
Пример: синхронизация данных компании со всеми связанными сделками
Цель: Когда данные компании меняются, обновляйте все связанные сделки.Настройка
-
Триггер: Запись обновлена (Компании)
- Поля: отрасль, размер компании, годовой доход
-
Поиск записей: найдите все сделки для этой компании
- Объект: Сделки
- Фильтр: ID компании равен
{{trigger.object.id}}
- Итератор: цикл по каждой сделке
-
Обновление записи (внутри итератора):
- Объект: Сделки
- Запись:
{{iterator.currentItem.id}} - Отрасль компании:
{{trigger.object.industry}} - Размер компании:
{{trigger.object.companySize}} - ARR компании:
{{trigger.object.annualRevenue}}
Копирование при создании записи
Пример: предзаполнение сделки данными компании
Цель: При создании сделки, связанной с компанией, автоматически копируйте ключевую информацию о компании.Предварительное условие
Создайте целевые поля в Settings → Data Model → Opportunities:- Отрасль компании (тип: Text)
- Размер компании (тип: Number)
Настройка
-
Триггер: Запись создана (Сделки)
- Фильтр: поле Компания не пустое
-
Поиск записей: получите сведения о связанной компании
- Объект: Компании
- Фильтр: ID равен
{{trigger.object.company.id}}
-
Обновление записи:
- Объект: Сделки
- Запись:
{{trigger.object.id}} - Отрасль компании:
{{searchRecords[0].industry}} - Размер компании:
{{searchRecords[0].employees}}
Ограничение для задач и заметок: связи в задачах и заметках жёстко заданы как многие-ко-многим и пока недоступны в триггерах или действиях рабочего процесса. Чтобы получить доступ к этим связям, вместо этого используйте API.
Двунаправленная синхронизация
Пример: синхронизация основного контакта
Цель: Когда в компании меняется основной контакт, обновляйте контакт. Когда контакт становится основным, обновляйте компанию.Рабочий процесс 1: Компания → Контакт
- Триггер: Запись обновлена (Компании, поле Основной контакт)
- Обновление записи: установите у контакта “Is Primary Contact” в значение true
- Поиск записей: найдите предыдущего основного контакта
- Обновление записи: установите у предыдущего контакта “Is Primary Contact” в значение false
Рабочий процесс 2: Контакт → Компания
- Триггер: Запись обновлена (Контакты, Is Primary Contact = true)
- Обновление записи: установите у компании поле Primary Contact на этого контакта
Осторожнее с двунаправленными синхронизациями, чтобы избежать бесконечных циклов. Используйте фильтры, чтобы проверять, действительно ли значение изменилось, прежде чем обновлять.
Использование кода для сложного сопоставления
Пример: преобразование данных при копировании
Цель: Скопировать и отформатировать номер телефона из контакта в сделку.Лучшие практики
Избегайте циклов
- Не создавайте рабочие процессы, которые бесконечно запускают друг друга
- Используйте конкретные условия для полей
- Добавляйте проверки, что значение действительно изменилось
Обработка отсутствующих данных
- Всегда проверяйте, что исходная запись существует, перед копированием
- Задавайте значения по умолчанию для необязательных полей
- Используйте фильтры, чтобы пропускать случаи, когда исходное поле пусто
Производительность
- Выполняйте пакетные обновления при копировании во множество записей
- Используйте запланированные рабочие процессы для массовых операций синхронизации
- Рассмотрите использование Итератора для обновления множества записей