Автоматизована лідогенерація та моніторинг тендерів

AI та машинне навчання 10 000 UAH
Робота 1 з 31
Мета:
Створити автономну систему лідогенерації, яка щоденно сканує реєстр Prozorro у пошуках двох категорій можливостей: укладених договорів (теплі ліди — організації які вже купують релевантний товар) та активних тендерів (де можна подати пропозицію). Кінцевий продукт — структурована CRM-база в Airtable з повним контактом замовника, учасниками та цінами пропозицій.

Ключові вимоги:

Два паралельні воркфлоу: ізольована обробка контрактів (/contracts) та активних тендерів (/tenders?status=active.tendering)
Розширена фільтрація: 5 CPV-кодів + 15 брендів-маркерів + мінімальна сума 50 000 грн
Курсорна пагінація з історичним backfill: сканування Prozorro з 01.01.2025 без втрати позиції між запусками
Деталізована CRM-структура: контакти (ЄДРПОУ, email, телефон), учасники аукціону з цінами, посилання на реєстр пропозицій
Дедуплікація на рівні Airtable: запобігання повторним записам при безперервній роботі
Гібридна логіка: закриті тендери, які пройшли фільтр, автоматично збагачують базу лідів даними учасників для майбутніх email-кампаній
Мій Внесок:

Замовник торгує енергетичним обладнанням (акумулятори, ДБЖ, сонячні панелі) і витрачав години щодня на ручний моніторинг Prozorro. Завдання було не просто "присилати тендери", а збудувати готовий до продажів конвеєр лідів з повним розшифруванням ринку.

Архітектурна декомпозиція: замість одного "товстого" флоу я розділив систему на два незалежних воркфлоу — для договорів та активних тендерів. Кожен має власний курсор, графік запуску і Airtable-таблицю. Це дозволило масштабувати джерела без взаємних блокувань.

Курсорна пагінація з self-healing логікою: Prozorro повертає опаковий курсор у форматі {timestamp}.{seq}.{hash}. Я реалізував захисний шар, який валідує курсор перед використанням і автоматично відновлює його з валідної дати, якщо API віддає аномалію (наприклад, скидання до 2015 року). Без втручання адміна.

Двоступеневе збагачення даних: для лідів я зробив каскад HTTP-запитів — спочатку контракт (покупець, постачальник, сума), потім тендер (учасники, ставки, реєстр пропозицій). Окремий JavaScript-вузол об'єднує ці потоки та формує JSON з масивом учасників (назва, ЄДРПОУ, email, початкова + фінальна ставка), готовий для інтеграції з email-розсилками.

Дедуплікація через Airtable Search: перед кожним записом флоу робить пошук по contractID/tenderID, що дозволяє безпечно перезапускати воркфлоу скільки завгодно разів без створення дублів.

Маршрутизація закритих тендерів: тендери, які закінчились до моменту обробки, не викидаються — IF-логіка перенаправляє їх у таблицю "Ліди" з повним списком учасників. Так замовник отримує не тільки потенційних клієнтів-покупців, але й конкурентів-постачальників для аналізу ринку.

Результат:

Працююча система, яка щодня збагачує CRM замовника без жодного людського втручання:

2 джерела даних в одній БД: Airtable з двома таблицями ("Ліди" та "Активні тендери"), кожна з контактами, цінами, документами та посиланнями
Готовність до email-маркетингу: структуровані дані учасників (з email і телефонами) можна напряму скидати в Mailchimp/SendPulse/власний скрипт
Економія 2-3 годин/день: замість ручного гуглення замовник одразу отримує таблицю з 18 полями
Історичний охват: backfill з 01.01.2025 дозволив сформувати базу теплих лідів за 16+ місяців ще до запуску
Стабільність 24/7: система запускається 4 рази на день за розкладом, з retry-логікою на API-помилки і самовідновленням курсора
#n8n #Airtable #LeadGeneration #SalesAutomation #Prozorro #API #WorkflowAutomation #JavaScript #CRM #DataPipeline #BusinessAutomation #NoCode #B2B #Лідогенерація #Автоматизація
Деталі
  • Додано:
97

Фрилансер

  • Проєктів 11
  • Оцінка 4.9
  • Рейтинг 1 566
Зареєструйтеся

Якщо у вас є акаунт, авторизуйтеся

Показники

  • Останній візит: 4 дні 15 годин тому