HR-бот асистент для запитів про відпустку та заявок у мобільних додатках
HR-бот бере на себе рутину, яка посідає час HR-спеціалістів: запити на відпустку, перевірка залишків днів, хвороба, документи. Для працівника — це заміна листів та дзвінків у кадровий відділ. Технічно — інтеграція з HR-системою через мобільний діалоговий інтерфейс.
Інтеграція з HR-системами
Основні системи на ринку СНД: 1С:ЗУП (зарплата та управління персоналом), SAP HCM, HiBob, Workday, Bamboo HR. Кожна має свій API з різним рівнем документованості.
1С:ЗУП найчастіше інтегрується через HTTP-сервіси (REST-інтерфейс, опублікований на сервері 1С) або через 1С:Шину. Для SAP — RFC/BAPI або OData API. Workday/HiBob — сучасний REST з OAuth 2.0.
Для систем без готового API (старі версії 1С, власні HR-системи) — проміжний сервіс, який читає дані через ODBC або безпосередньо з бази даних з правами тільки читання.
Життєвий цикл запиту на відпустку
Діалоговий сценарій простіший, ніж здається, але кожен крок потребує валідації:
1. Користувач: «хочу відпустку з 15 березня на 14 днів»
2. Бот: перевіряє залишок днів (API) → доступно 14 днів
3. Бот: перевіряє перетини з колегами (опціонально) → конфліктів немає
4. Бот: показує карточку з датами для підтвердження
5. Користувач: підтверджує
6. Бот: створює запит у HR-системі → статус «На узгодженні»
7. Бот: сповіщає керівника (push/email)
8. Керівник: узгоджує/відхиляє
9. Бот: сповіщає працівника про рішення
На кожному кроці — обробка виключень: що якщо залишок днів недостатній, період перетинається з іншою відпусткою, керівник не відповідає 2 дні.
// Android ViewModel для управління станом запиту
sealed class LeaveRequestState {
object Idle : LeaveRequestState()
data class CollectingDates(val startDate: LocalDate?, val endDate: LocalDate?) : LeaveRequestState()
data class AwaitingConfirmation(val request: LeaveRequestDraft) : LeaveRequestState()
data class Submitted(val requestId: String) : LeaveRequestState()
data class Error(val message: String) : LeaveRequestState()
}
Види запитів, які повинен закривати HR-бот
Крім відпусток — повний перелік типових звернень:
- Залишок днів відпустки та відгулів
- Довідка про зарплату / податкова декларація (генерування документа або посилання)
- Запит на хворобу (сповіщення + введення даних листка непрацездатності)
- Графік роботи та змінне розписання
- Дані про нараховування та утримання
- Запит на відрядження
- Корпоративні контакти та організаційна структура
Для кожного типу запиту — окремий сценарій з відповідними полями.
Безпека та авторизація
HR-дані чутливі. Мобільний додаток повинен бути аутентифікований через корпоративний IdP: Azure AD / Entra ID, Okta, Keycloak. SSO через SAML 2.0 або OpenID Connect.
Бот бачить дані тільки поточного працівника, не може запросити інформацію про іншого. Виняток — керівники: вони бачать дані своєї команди в межах своїх прав у HR-системі.
Логування всіх дій через бота — обов'язково. Аудит: хто, коли, яку заявку створив.
Сповіщення керівнику
Коли працівник подає запит, керівник отримує push-сповіщення з deeplink у додаток. У додатку — короткий огляд запиту, кнопки «Узгодити» / «Відхилити» прямо зі сповіщення (на iOS через UNNotificationAction, на Android через Notification Action). Не потрібно відкривати додаток для простого рішення.
Процес впровадження
Аудит HR-системи: можливості API, права доступу, тестове середовище.
Проектування сценаріїв для кожного типу запиту.
Розробка інтеграційного шару (API-клієнт для HR-системи).
Мобільний клієнт: діалоговий UI, карточки запитів, статусу.
Інтеграція з IdP для аутентифікації.
Часові орієнтири
HR-бот для базових запитів (відпустка + довідки) з однією HR-системою — 2–3 тижні. Повний набір сценаріїв, кілька типів запитів, керівницькі функції — 1,5–2 місяці.







