Как передавать заявки с файлами из LF Drive в CRM через n8n
Клиент отправил материалы через форму, менеджер увидел письмо и вручную создал задачу в CRM. Пока заявок мало, это работает. При постоянном потоке полезно автоматизировать передачу: форма принимает файлы, а ваш сценарий добавляет заявку в рабочую систему.
Как устроена связка
В этом сценарии LF Drive отвечает за форму, приём материалов и доступ к заявкам. n8n регулярно опрашивает API, проверяет, какие заявки ещё не перенесены, и обращается к API вашей CRM. Это пример собственной интеграции через универсальный узел HTTP Request, а не обещание готового официального узла LF Drive.
Здесь используется опрос по расписанию. Нельзя подменять его несуществующим вебхуком: наличие HTTP API само по себе не означает отправку событий в CRM. Интервал выбирайте по допустимой задержке и лимитам сервиса, а не по принципу «чем чаще, тем лучше».
Сначала настройте приём материалов
- Создайте отдельную форму LF Drive для конкретного процесса: например, материалов к новому сайту.
- Определите разрешённые типы, размер и число файлов. Не приглашайте присылать «всё подряд», если вам нужны только логотип и фотографии.
- Добавьте понятную инструкцию: какие материалы нужны, как их назвать, где указать номер проекта.
- На тарифе с дополнительными полями настройте сведения об отправителе. Не стройте обязательную логику вокруг поля, которого на вашем тарифе нет.
- Отправьте тестовую заявку и откройте её в LF Drive до настройки CRM.
Формы и общий API доступны на «Про» и «Студии». Дополнительные поля и оформление могут иметь отдельные ограничения. Если в форме нет машинно читаемого номера сделки, привязывайте её к проекту заранее: например, одна форма — один процесс. Угаданный по имени файла клиент — ненадёжная связь.
Получение заявок через API
Создайте токен с минимальным правом submissions:read. Если сценарий должен также читать формы или метаданные файлов, добавьте соответствующие права отдельно. Сохраните токен в защищённых credentials n8n, не в открытом тексте сценария и не в адресной строке.
GET https://lfdrive.ru/api/v1/submissions?form_id=123&page=1&limit=50
Authorization: Bearer [секрет из credentials]
Замените 123 на настоящий ID формы. Список находится в data.submissions; также возвращаются сведения о пагинации. Для деталей конкретной заявки используйте GET /submissions/{id}. Схемы полей берите из актуальной документации, а не из предположения о том, как CRM называет вложения.
Не создавайте одну задачу несколько раз
Заведите постоянную таблицу соответствий: ID заявки LF Drive, ID объекта CRM, состояние обработки, время попытки и код последней ошибки. Используйте пару «аккаунт + ID заявки» как уникальный внешний ключ. Перед созданием объекта проверяйте наличие этой записи и, если CRM позволяет, выполняйте upsert по внешнему идентификатору.
Это важнее одной отметки «последний номер». API заявок использует страницы, и новые записи могут сдвинуть их во время обхода. Повторно проверяйте пересекающиеся последние страницы, сверяйте ID и периодически выполняйте полный проход для сверки. После простоя нельзя ограничиваться первой страницей: там может не оказаться всех пропущенных заявок.
Последовательность узлов n8n
- Schedule Trigger запускает сценарий по выбранному расписанию.
- HTTP Request получает страницу заявок LF Drive с Bearer-токеном.
- Сценарий обходит страницы, проверяет ID в постоянном хранилище и загружает необходимые детали.
- Узел CRM или её HTTP API создаёт либо обновляет объект по внешнему ключу.
- Только после подтверждённого успеха сохраняется связь с объектом CRM.
- Ошибки попадают в очередь повторов; оператор получает понятное уведомление о заявке, требующей внимания.
Названия разделов n8n могут зависеть от версии. Смысл схемы остаётся прежним: получить, проверить дубликат, передать, подтвердить. Храните состояние в базе или другом постоянном хранилище, а не только в памяти одного запуска.
Передавать ссылки или копировать файлы
Ссылка экономит место в CRM, но её нужно проверить с точки зрения прав доступа и срока жизни. Не превращайте клиентский документ в публичный только ради удобного поля «вложение». Если CRM должна хранить собственную копию, сервер интеграции получает материал разрешённым способом и загружает его через API CRM с проверкой размера и типа.
Сохраняйте только необходимые данные отправителя. Учитывайте, кто видит карточку CRM и логи выполнения n8n: подробная история запросов тоже может содержать персональные данные или адреса закрытых материалов.
Что проверить до запуска
Отправьте две разные заявки, повторите сценарий и убедитесь, что задач всё ещё две. Затем имитируйте недоступность CRM: заявка должна остаться необработанной и успешно пройти после восстановления. Отдельно проверьте тайм-аут после фактического создания объекта — повтор не должен породить копию.
Для контроля сравнивайте число заявок LF Drive и число сопоставленных объектов за период. Успешный запуск n8n без ошибок ещё не доказывает, что ни одна страница результатов не была пропущена.
Начните с тестовой формы и передачи одной заявки. После проверки дублей и сбоев включайте расписание.
Посмотреть методы заявокЧастые вопросы
LF Drive сам отправляет вебхук в n8n?
В описанном сценарии нет: n8n опрашивает API по расписанию. Это позволяет построить связку без предположения о наличии исходящих вебхуков.
Можно ли ограничиться последним обработанным ID?
Для надёжной синхронизации нужна дедупликация по ID и корректный обход страниц. Новые заявки сдвигают страницы, а после простоя накопленные записи могут не поместиться в первый ответ.
Для настройки нужен разработчик?
Базовую схему можно собрать в платформе автоматизации. Сопоставление полей, хранение состояния, закрытые файлы и восстановление после неопределённого результата всё равно требуют аккуратной технической настройки.