Усі роботи
АвтоматизаціяКоманди від 10 до 50 людей2026

Бот для HR-рутини команди

Відпустки, обміни змінами й розрахункові листи жили в робочих чатах і губились. Бот веде їх від заявки до підтвердження, а керівник керує всім зі звичної таблиці.

Результат

  • Керівник погоджує заявки за хвилини, а не години: одна кнопка з телефона
  • Зміни не зриваються через накладку відпусток: конфлікт видно ще на заявці
  • Менше хаосу в чатах і суперечок «я ж писав»: кожна заявка має статус і історію
  • Менше адміністративної рутини: нагадування й розрахункові листи бот розсилає сам

Задача

Відпустки, вихідні й обміни змінами узгоджувались у робочих чатах: хтось писав керівнику особисто, хтось у групу, хтось казав уголос. Заявки губились, а накладки виявлялись у той день, коли двоє людей одночасно не виходили.

Окремий біль це розрахункові листи: їх треба роздати кожному персонально і знати, хто прочитав. Файл у спільному чаті не закриває ні першого, ні другого.

Що зробив

Кожна заявка має шлях і статус. Відпустка, вихідний, лікарняний чи обмін змінами: бот веде заявку від подачі до рішення і записує її в журнал.

Рішення з телефона. Керівник отримує картку з двома кнопками і одразу бачить, хто ще відсутній у ці дні.

Розрахункові листи особисто. Кожен отримує свій лист із кнопкою «Ознайомлений», тож видно, хто підтвердив.

Нагадування без ручних кнопок. Про завтрашні зміни й непрочитані листи бот нагадує сам, за розкладом.

Коли підходить

  • Відпустки й заміни узгоджуються в чатах. Хтось пише керівнику особисто, хтось у групу, і заявки губляться.
  • Керівник не хоче заходити на сервер заради дрібного налаштування. Адмінка має бути такою, яку він і так відкриває щодня.
  • Обмін змінами можна провести за чиєюсь спиною. Потрібне явне підтвердження другої сторони, а не мовчазна заміна.

Головне рішення: таблиця це адмінка, а не база

Керівник не має заходити на сервер, щоб змінити ліміт вихідних. Тому адмінка це Google Таблиця, яку він і так відкриває щодня.

Першоджерело даних завжди всередині бота (SQLite). Кожна вкладка таблиці це або вхід, який заповнює людина, або журнал, який бот перезаписує повністю, ніколи обидва одночасно. Так у команді не з'являються дві різні версії правди.

Запобіжники

Ніхто не перепише чужий графік за спиною. Обмін змінами спершу запит, і фактом він стає лише після згоди другої сторони.

Власник процесу не залежить від розробника. Ліміти й година нагадувань змінюються в самому боті, без правок на сервері.

Спробуйте самі

За посиланням «Подивитись наживо» відкриється демо-бот. Після Start у вас буде власна вигадана команда з графіком на два тижні, і ви будете в ній водночас співробітником і керівником. Спробуйте взяти відпустку на день, коли вже відсутні двоє: бот відмовить сам. Або запропонуйте колезі обмін змінами і подивіться, як графік оновиться після його згоди.

У демо вигадані колеги відповідають самі, за кілька секунд, і немає Google Таблиці: все живе всередині бота. Ваші дії бачите лише ви, реальних даних тут немає.

Часті питання

Керівник може ненароком переписати чужі дані в таблиці? Ні. Напрямок руху даних фіксований: кожна вкладка це або вхід, який заповнює людина, або вихід, який бот перезаписує повністю, ніколи обидва одночасно.

Що як двоє співробітників попросять відпустку на ті самі дні? Керівник бачить це прямо на картці заявки: хто ще відсутній у ці дні і чия заявка ще очікує. Якщо задано ліміт одночасно відсутніх, бот сам відхилить заявку понад нього, а на кнопці «Погодити» перевірить ще раз, бо дві заявки могли прийти одночасно. Лікарняне ліміт не блокує, лише позначає.

Стек

  • Python
  • aiogram 3
  • Google Sheets API
  • SQLite
  • APScheduler

Схожа задача?

Опишіть її двома реченнями. Скажу, чи можна це автоматизувати, і домовимось про коротку зустріч, щоб обговорити деталі.

Написати в Telegram