CRM-bot — Інструкція

CRM-bot — інструкція користувача

Бот живе прямо в Telegram — не потрібно відкривати окремий застосунок чи сайт. Інтерфейс (і бота, і мініаппа) повністю локалізований укр/рос/англ — мова перемикається в /settings або в мініаппі → Налаштування і одразу застосовується всюди.

У CRM є два інтерфейси поверх одних і тих самих даних: чат-команди бота (описані нижче) і мініапп — веб-інтерфейс прямо в Telegram (розділ 0).

0. Мініапп — /app

/app надсилає кнопку «🖥 Відкрити CRM», яка відкриває веб-інтерфейс поверх того ж бекенду, що і бот (не окрема база — ті самі ліди/нотатки/статистика).

Екрани мініаппа (нижній таббар):

  • Ліди — список з фільтрами за статусом, пагінацією і рядком пошуку зверху (за ім'ям/телефоном, ігнорує фільтр статусу — аналог /find). Для власника — окремий фільтр по менеджеру («Усі менеджери» / конкретна людина); менеджеру фільтр не показується, у нього завжди тільки свої ліди. На вкладці фільтра «Новий» зверху — форма створення ліда (ім'я + контакт, дублює /new); поки вводиш ім'я, бот/мініапп перевіряє на схожі ліди (нечітке порівняння назв) і попереджає (не блокує) списком схожих із % збігу — поріг і саму перевірку власник налаштовує в Налаштуваннях (розділ 12). Картка ліда: зміна статусу, сума, контактні дані (назва, телефон/юзернейм, компанія, email, джерело — те саме можна змінити з чату через /edit), оплати (розділ 3a), нотатки, файли (розділ 3e), кнопки нагадувань.
  • Клієнти — окрема вкладка (розділ 3b); список з пошуком за ім'ям/контактом, картка клієнта з історією угод.
  • Нотатки — три вкладки: Особисті (щоденник, аналог /log//notes, з формою додавання прямо на екрані), По лідах (стрічка останніх нотаток по всіх лідах разом, з переходом на лід — аналог /notes leads) і По клієнтах — так само стрічка, тільки нотатки, додані прямо на картці клієнта (не по одній з його угод, а по клієнту в цілому). У чаті аналога для нотаток по клієнтах поки немає — тільки в мініаппі.
  • Задачі — повноцінний планувальник з двома вкладками: Активні (створення задачі — текст + дата, опційно з прив'язкою до ліда або клієнта — і дії Готово / Перенести / Скасувати по кожній) та Виконані — історія вже закритих задач. Для лід/клієнт-задач дата обов'язкова, для особистих справ — за бажанням. Прив'язку обирають через пошуковий пікер — почни вводити ім'я чи телефон, і список покаже підходящих лідів і клієнтів разом. Пояснення — під іконкою ⓘ біля заголовка «Нова задача». Під вкладкою Активні — перемикач періоду: Сьогодні / Тиждень / Протерміновані / Всі. Протермінована задача продовжує рахуватись і «на сьогодні», і «на тиждень» — межа тільки зверху, знизу нічим не обмежена. Виконані — завжди просто повний список, без фільтра по періоду: закриті задачі автоматично видаляються через 7 днів після закриття фоновою job'ою; за добу і за годину до видалення приходить попереджувальний пуш. Протермінована pending-задача, яку тиждень ніхто не чіпав, автоматично переводиться у «Скасовано» — з пушем про це.
  • Записи (з'являється тільки після Налаштування → «Модуль “Записи”» → Так — розділ 12e) — календар візитів клієнтів: агенда по днях зі статусами заплановано/підтверджено/виконано/не з'явився/скасовано, пакети сеансів наперед, автопідбір вільних слотів і самостійний запит клієнта командою /book.
  • Звіти — два окремих екрани:
    • Статистика — те саме, що /stats + /chart, але інтерактивний графік замість картинки. Плюс кнопка «Експорт у Excel».
    • Боржники (кнопка «Боржники» зверху екрана Статистики) — таблиця угод з непогашеним боргом, одна угода = один рядок. Колонки: Назва, Контакт / Контактна особа, Статус, Сума боргу, Днів прострочено. Клік на заголовок стовпця сортує по ньому. За замовчуванням у списку тільки угоди клієнтів (без «Відмова») — два перемикачі зверху: «Показувати ліди» і «Показувати відмови». Аналога в чаті поки немає.
    • Упущені клієнти (кнопка поруч із «Боржники», тільки якщо ввімкнено модуль «Записи») — клієнти, чий останній запис (будь-якого статусу) старший за вказане число днів/місяців, або хто взагалі ще не мав жодного. Ім'я, телефон, дата останнього запису; кнопка «Експорт у Excel»; кнопка «Розіслати нагадування» (тільки власник) — окремий текст із Налаштувань, надсилається лише клієнтам, підписаним на розсилку.
  • Налаштування — мова, часовий пояс, реальна підписка (оплата через Telegram Stars прямо в мініаппі), шаблони повідомлень, розбиті на групи розділи для власника (команда, ліди й угоди, записи, клієнти). Для власника блок «Команда» веде на окремий екран із кнопками «Порівняння менеджерів» і «Ролі» — обмеження доступу менеджерів до окремих вкладок (розділ 12a-1). На картці ліда для власника — кнопка «Передати іншому менеджеру».

Клієнт має свою окрему, урізану версію мініаппа (переважно перегляд, плюс кнопка «Спізнююсь») — розділ 12f.

Важливо: кнопка меню бота показує або список команд, або одну кастомну кнопку — ніколи обидва разом (так влаштований Telegram). Тому доступ до мініаппа — через /app, а не через кнопку меню, щоб не втрачати список команд.

Функціонал бота і мініаппа свідомо продубльований (крім складної аналітики/графіків) — можна працювати повністю в одному інтерфейсі або перемикатись між ними, дані спільні.

1. Перший запуск

  1. Відкрий бота, натисни /start.
  2. Обери мову (укр/рос/англ) — одразу перемикає всі тексти бота.
  3. Бот покаже: «🎁 У тебе 15 днів безкоштовного тріалу (до <дата>). Далі — 450 ⭐/міс, /pay.», а під цим — кнопка «🚀 Старт» (тільки у власника, з'являється один раз).
  4. Після «Старт» — вибір типу бізнесу трьома кнопками: «Салон/зал/приватна практика» (одразу вмикає модуль «Записи», додає пару стартових типів угод і ховає вкладку «Ліди» — зазвичай там немає багатоетапної лійки), «Продажі/агенція/сервіс» (додає один стартовий тип угоди, ліди й записи не змінює), або «Не важливо, налаштую сам» (нічого не змінює). Це лише стартові налаштування — їх завжди можна поміняти пізніше в Налаштуваннях.
  5. При повторному /start — просто «З поверненням!» і список команд, без повторного вибору мови, показу тріалу чи вибору типу бізнесу.

2. Створення ліда (клієнта)

Два способи:

  • Форвард повідомлення — переслати боту будь-яке повідомлення від клієнта → бот сам створює лід, ім'ям ставить ім'я відправника, а текст пересланого повідомлення кладе першою нотаткою. Працює тільки в чаті бота.
  • /new — ручне додавання: бот запитає ім'я, потім контакт (можна /skip).

Після створення ліда бот одразу показує картку і питає «Коли наступний контакт?» з кнопками (Через 3 год / Завтра вранці / Через 3 дні / Через тиждень) плюс «Пропустити».

/edit — змінити назву/телефон/контактну особу/компанію/email/Telegram/джерело вже існуючого ліда (Reply на картку, або пікер лідів як у /note). Те саме можна зробити в мініаппі на картці ліда.

Перевірка дублів при створенні — і /new, і форвард повідомлення, одразу після введення імені перевіряють, чи немає вже схожого ліда в межах команди — якщо є, бот присилає попередження зі списком схожих, але не блокує створення. Поріг схожості й саму можливість вимкнути перевірку — власник налаштовує в /settings.

3. Картка ліда

Виглядає так:

#3 — Ресторан Шекспір Контакт: 097-1111111/Юрій Статус: Новий Сума: 1500 ← показується, тільки якщо сума вказана Причина відмови: Ціна ← тільки для статусу «Відмова» Нотатки: • подзвонив, цікавиться

Під карткою — кнопки статусів (воронка з 7 стадій):
Новий → Зв'язались → Думає → КП відправлено → Переговори → Успішно закрита, плюс окремо Відмова.
І Нагадати — вибір дати нагадування для цього ліда.

Особливі випадки при зміні статусу:

  • Відмова → бот запитає причину відмови (Ціна / Обрав конкурента / Не той час / Не відповідає / Інше) — без причини статус не проставиться.
  • Успішно закрита → статус ставиться одразу, плюс бот підказує /amount <id> <число>, щоб вказати суму угоди.
  • КП відправлено → бот одразу питає «Яка сума угоди?» (можна пропустити).

Статус воронки і статус оплати — окремі поля (розділ 3a): оплата сама по собі не встановлює жодного статусу вручну. Але коли сума всіх оплат досягає повної «Суми» ліда, угода автоматично переводиться на «Успішно закрита».

3a. Оплати за лідом — /payment

Окремо від статусу воронки і від «Суми» (вартості угоди) — реєстр фактичних платежів по ліду, бо оплата часто приходить частинами.

В чаті: /payment — Reply на картку + число → миттєво зберігає суму без деталей. Reply без числа, або гола команда → покроковий діалог: сума → спосіб оплати (Готівка/Картка/IBAN/Безготівковий/Інше) → номер договору/рахунку → коментар.

В мініаппі: на картці ліда блок Оплати — показує «Оплачено X з Y · Залишок Z · [статус]» і список платежів. Статус оплати рахується автоматично із суми записаних платежів і ніколи не встановлюється вручну. Якщо в команді налаштовано більше однієї валюти — платіж можна записати не тільки у валюті самої угоди (розділ 3f).

Автоматичне закриття угоди — якщо у ліда задана «Сума», і сума всіх оплат досягає чи перевищує її, статус автоматично перемикається на «Успішно закрита».

Навмисно без чеків і бухгалтерії — CRM лише фіксує, скільки і коли заплатив клієнт.

Борг у списку лідів — якщо у ліда є сума, але оплачено не все, у списку лідів під його карткою з'являється червоний напис «Борг {сума}». Повноцінний звіт по заборгованостях з фільтрами і сортуванням — розділ 0, «Звіти» → «Боржники».

3b. Клієнти (мініапп)

Окремий розділ для угод, що вже закрились — щоб воронка лідів не перетворювалась на звалище закритих карток.

  • Перевести в клієнти — з'являється тільки коли лід у статусі «Успішно закрита». Дія за запитом, не автоматична.
  • Клієнт напряму, без ліда — /newclient у чаті або кнопка «+ Новий клієнт» у мініаппі.
  • Після конверсії лід зникає зі списку лідів/фільтрів/пошуку і з'являється в окремій вкладці «Клієнти».
  • Картка клієнта — контактні дані (редаговані) + історія угод, кнопка «Нова угода» для нового витка продажу тому самому клієнту. Кожна угода працює ідентично звичайному ліду — тільки без воронки статусів. На картці угоди клієнта контактні поля не показуються — це дані клієнта, редагуються тільки на його власній картці (посилання «Переглянути картку клієнта» зверху угоди); редагованою лишається тільки назва угоди.
  • Нотатки на картці клієнта — окремий розділ, прив'язаний до клієнта в цілому, а не до однієї угоди.
  • День народження — окреме поле на картці клієнта (день + місяць, без року — важливий лише збіг дати, не вік). Якщо ввімкнено розсилку на день народження (розділ 3d) і клієнт підписаний на розсилку — саме цього дня йому автоматично прийде вітання.
  • Розподіл клієнтів по менеджерах (тільки власник) — так само, як з лідами: на картці клієнта власник може передати клієнта іншому менеджеру разом з усіма його угодами.

3c. Типи угод і тип виконання

Власник команди може налаштувати власні типи угод у мініаппі (Налаштування → Типи угод, тільки власник). Кожен тип задає:

  • Тип виконання — Моментна / Проект / Періодична.
  • Схема оплати — Одноразова / Частинами / Регулярні платежі.
  • За замовчуванням — позначка одного типу як типового.

Зміна типу угоди пізніше — можна поміняти, тільки поки по угоді не було жодної оплати. Щойно з'явився перший платіж — тип «замерзає».

Блок «Виконання» на картці ліда — з'являється, тільки якщо тип виконання не «Моментна»:

  • Проект — Планове закінчення, Фактичне закінчення; якщо планова дата минула, а фактична ще не проставлена — картка показує «Прострочено».
  • Періодична — Початок/Закінчення періоду, Автопродовження, Наступна дата оплати. Початок періоду не може бути пізніше Закінчення.

Автоматичні нагадування про дедлайн/оплату — push власнику угоди: заздалегідь (за 3 дні, опційно ще за 1 день), і раз на добу, якщо термін уже минув. Ручне перенесення дати або будь-яка оплата скидають цикл нагадувань.

Автопродовження (перемикач на картці угоди) працює, тільки якщо власник додатково увімкнув у Налаштуваннях «Автопродовження періодичних угод» і угода належить клієнту. Тоді CRM автоматично зсуває дати на довжину попереднього періоду замість надсилання «прострочено».

3d. Розсилка клієнтам (мініапп)

Telegram-бот не може написати людині першим за @username — це обмеження платформи проти спаму. Тому підписка на розсилку працює через персональне посилання:

  • Створити посилання — на картці клієнта, поки клієнт ще не підписаний. Може зробити будь-який менеджер для свого клієнта.
  • Клієнт підписується — переходить за посиланням і тисне Старт.
  • Відписка — /stop — клієнт у будь-який момент може відписатись цією командою.
  • Надіслати розсилку (тільки власник) — Налаштування → «Розсилка клієнтам»: кількість підписаних, перелік імен, текстове поле, кнопка «Надіслати» з підтвердженням. Після відправки — звіт «Надіслано X з Y, помилок: Z».
  • Долучити файл — опційно, PDF-афіша чи промо-документ (до 20 МБ): надсилається клієнту як звичайний файл, з текстом як підписом; якщо текст довший за лімит підпису Telegram (1024 символи) — файл іде без підпису, а повний текст окремим повідомленням одразу після, щоб нічого не обрізалось.
  • Останні розсилки — під формою відправки, історія попередніх розсилок (дата, тег, текст, файл якщо був, результат відправки).
  • Фільтр за тегом — над списком отримувачів можна обрати тег (розділ 12d), щоб надіслати тільки підписаним з цим тегом, а не всім одразу.
  • «Надіслати з свого акаунта» — відкриває чат із клієнтом у Telegram із готовим текстом запрошення — менеджер сам тисне «Надіслати» від свого особистого акаунта.
  • Розсилка на день народження (Налаштування → «Розсилка на день народження», вимкнено за замовчуванням) — автоматична, окрема від ручної розсилки вище: щодня перевіряє, у кого сьогодні день народження (розділ 3b) і хто підписаний на розсилку, і надсилає текст, заведений у Налаштуваннях, без жодної участі персоналу.

3e. Файли до ліда/угоди/клієнта — /files

Файли не хостяться нами — зберігається тільки Telegram-івський file_id (Telegram і так тримає файл у себе необмежено довго).

В чаті: /files — Reply на картку ліда/угоди + одразу надішли фото чи документ (можна з підписом-коментарем). Reply без файлу чи гола команда → пікер ліда, після вибору бот просить надіслати файл. Можна й без команди взагалі — просто відповісти на картку ліда фото чи документом.

В мініаппі: розділ «Файли» на картці ліда, угоди клієнта, і окремо на картці клієнта (для документів, що стосуються клієнта в цілому) — список + кнопка «Завантажити файл» і кнопки «Завантажити»/«Видалити» на кожному файлі.

Обмеження розміру — 20 МБ — межа самого Telegram Bot API: файл більшого розміру бот прийме, але вже ніколи не зможе скачати його назад, тому завантаження відхиляється одразу з попередженням.

«Видалити» прибирає тільки запис у CRM — сам файл лишається у Telegram.

3f. Мультивалютність

Кожна угода і кожен платіж по ній мають свою валюту — необов'язково однакову (типовий приклад: угода в доларах, оплата готівкою в гривні).

  • Валюти команди — Налаштування → «Валюти» (тільки власник): курс кожної валюти до базової, в якій рахуються всі загальні звіти. Спочатку є тільки гривня; курс нової валюти вводиться вручну, автопідтягування з зовнішнього джерела нема.
  • На угоді й на платежі — вибір валюти в мініаппі поруч із сумою; якщо в команді валюта одна, вибір не показується. У чаті /payment теж пропонує обрати валюту, якщо їх декілька.
  • Курс на платежі фіксується назавжди в момент внесення — пізніша зміна курсу не переписує вже показане «оплачено X із Y».
  • Загальні звіти (статистика, дебіторка, порівняння менеджерів) — суми в різних валютах підсумовуються в базовій, а не напролом.

4. Нотатки до ліда — /note

Два основних способи (номер ліда вводити не потрібно):

  1. Reply на картку ліда (або на пуш нагадування) + /note текст — бот сам зрозуміє, до якого ліда.
  2. Гола команда /note (без Reply) → бот покаже пікер лідів → обираєш → бот питає текст.

Плюс резервний варіант: /note <номер> <текст>.

/note фіксує факт і на цьому все — не змушує одразу планувати наступний контакт, на відміну від створення ліда.

4a. Пікер лідів (спільний для /note, /amount, /remind)

Коли жодна з команд не може сама зрозуміти, про якого ліда йдеться, бот показує пікер: кнопки по 8 лідів на сторінку з навігацією ⬅️/➡️, або просто написати текст замість тапу — бот шукає за іменем чи контактом, як /find.

4b. Стрічка нотаток — /notes

  • /notes — особисті нотатки (щоденник), останні 20.
  • /notes leads — нотатки по всіх лідах разом, з кнопками переходу на картку.

5. Нагадування по ліду — /remind

  • Кнопка Нагадати на картці — одразу кнопки з готовими датами.
  • Reply на картку + /remind без тексту → ті самі кнопки дат.
  • Reply на картку + /remind 20-07-2026 15:00 текст → нагадування на точний час.
  • Гола команда /remind → пікер лідів → вибір → кнопки дат.

Коли нагадування спрацьовує — бот сам надсилає пуш з кнопками: ✅ Виконано (одразу питає «Коли наступний крок?»), 📅 Перенести, 📝 Нотатка.

6. Справи й нагадування без прив'язки до клієнта

  • /task [ДД-ММ-РРРР ГГ:ХХ] [текст] — нагадування без ліда.
  • /log <текст> — простий щоденник: записати, що зроблено, без прив'язки й без дати-нагадування.

Записи з /log за сьогодні показуються в /today окремим розділом.

/tasks — повний список незавершених задач, не тільки на сьогодні. Завжди тільки свої задачі, навіть для власника команди.

7. Списки й пошук

  • /leads [active|new|contacted|thinking|proposal_sent|negotiation|closed_won|lost|all] — список лідів. За замовчуванням тільки активні.
  • /today — що потрібно зробити сьогодні: прострочені й сьогоднішні нагадування + щоденник за сьогодні.
  • /find — пошук ліда за ім'ям/контактом, незалежно від регістру й статусу.
  • У мініаппі списки лідів і клієнтів додатково фільтруються за тегом (розділ 12d) — тільки там, у чаті цього фільтра нема.

8. Гроші

  • /amount — Reply на картку + /amount → бот запитає суму. Валюта — та, що вже стоїть на ліді; змінити саму валюту можна тільки в мініаппі (розділ 3f).
  • /stats — зведення: скільки лідів і на яку суму зараз у роботі, скільки оплачено/відмов за останні 30 днів. Суми — у базовій валюті команди.

9. Графіки — /chart

  • /chart — графік по всіх лідах за місяць.
  • /chart week — той самий графік за тиждень.
  • /chart у відповідь на картку ліда, або /chart <номер> — графік активності по конкретному ліду.

10. Експорт в Excel

  • /export — всі ліди в .xlsx.
  • /export week / /export month — тільки те, що змінювалось за останній тиждень/місяць.

10a. Імпорт лідів з Excel (мініапп, тільки власник)

Налаштування → «Імпорт лідів з Excel» — масове завантаження лідів списком.

  • Формат файлу фіксований, як у /export — можна відредагувати вже вивантажений файл і залити назад.
  • Колонки: Name (обов'язкова), Contact, Contact person, Company, Email, Channel, Telegram, Amount, Deal type.
  • М'яка перевірка замість жорсткої відмови — некоректне поле скидається на значення за замовчуванням і позначається попередженням; відхиляється тільки рядок без імені.
  • Два кроки — спершу перевірка й звіт, потім підтвердження «Імпортувати N рядків».
  • Усі імпортовані ліди отримують статус «Новий».

11. Оплата й підписка

Оплата і тріал — на рівні команди (workspace), а не окремої людини: платить тільки власник, і доступ від цього отримують/втрачають одночасно всі учасники команди.

  • Тріал: 15 днів безкоштовно з моменту /start. Поки не оплачено — додати менеджера не можна.
  • По закінченню тріалу — доступ закритий для всієї команди, бот попросить /pay.
ТарифМісць (з власником)Рік (-20%)
350 ⭐/міссоло, 13360 ⭐/рік
450 ⭐/місдо 34320 ⭐/рік
850 ⭐/місдо 58160 ⭐/рік
2100 ⭐/місдо 1020160 ⭐/рік
Більше 10 місць? Кнопка «Написати власнику» поруч із тарифами — обговорюємо індивідуально.

Річна оплата — біля кожного тарифу є друга кнопка «Рік»: разовий платіж одразу на 365 днів (12 місяців за ціною тарифу, мінус 20%), а не постійна підписка. Telegram вміє автоматично продовжувати підписку тільки помісячно — річна оплата без автопродовження: через рік потрібно оплатити вручну ще раз (мініапп нагадає заздалегідь).

/pay відкриває мініапп (розділ Налаштування), де і відбувається сама оплата — окремого рахунку прямо в чаті більше не показує.

Місячна підписка продовжується автоматично кожні 30 днів (річна — ні, див. вище). У Налаштуваннях є кнопка «Скасувати автооплату» / «Увімкнути автооплату» — бачить і може натиснути тільки власник.

Оплатити ще раз чи перейти на інший тариф, не чекаючи закінчення періоду — там само, під цією кнопкою, усі тарифи кнопками (для кожного — окремо помісячна й річна):

  • «Продовжити» (той самий тариф, що вже активний) — додає ще один повний період (30 днів) поверх того, що вже сплачено й лишилось. Дострокова оплата ніколи не забирає вже сплачені дні.
  • «Доплата до тарифу N користувачів...» (вищий тариф) — кількість місць змінюється одразу, але дата закінчення підписки не змінюється. Списується не повна ціна нового тарифу, а лише різниця між тарифами (наприклад, із 450⭐ на 850⭐ — спишеться 400⭐; кнопка показує обидві суми). Коли поточний період закінчиться, для збереження розширеного ліміту місць знадобиться вже звичайна оплата за повною ціною цільового тарифу. Нижчі тарифи в цьому списку не пропонуються.
  • «Рік» — поруч із кожним рядком (і продовженням поточного тарифу, і підвищенням) — завжди повна річна ціна обраного тарифу, ніколи не доплата-різниця, незалежно від того, скільки днів лишилось у поточному періоді.

Видалений з команди менеджер не втрачає доступ до бота повністю — він повертається у власний одномісний workspace із власним новим 15-денним тріалом.

12. Мова інтерфейсу і часовий пояс

/settings — зміна мови (укр/рос/англ). Впливає на все: відповіді бота, інтерфейс мініаппа, меню команд Telegram.

Часовий пояс — там же, кнопками (Київ/Варшава/Лондон/Берлін/Нью-Йорк/Дубай). Впливає на всі нагадування.

/templates — шаблони повідомлень: кнопками показує збережені, тап відправляє текст шаблону окремим повідомленням. Спільні на всю команду.

Налаштування, доступні тільки власнику:

  • Перевірка дублів лідів — увімкнена за замовчуванням, поріг схожості 70/80/90/100%.
  • Показувати менеджера у списку лідів — вимкнено за замовчуванням.
  • Розрахунок бонусу менеджерам (тільки мініапп) — вимкнено за замовчуванням; бонус % за замовчуванням і термін виплати («Постійно» або «N місяців»).

12a. Команда (власник + менеджери)

CRM підтримує одного власника (master) і кількох менеджерів в одному workspace. Master бачить і може редагувати лідів/задачі/нотатки/статистику всієї команди; менеджер за замовчуванням бачить тільки своє.

  • /team (тільки для власника) — список учасників + кнопка «Запросити менеджера». Видалення менеджера й перенос лідів — тільки в мініаппі.
  • Запрошення — одноразове посилання (діє 72 год), а не введення @username.
  • Ліміт місць — у мініаппі публічно показуються 4 тарифи: 350⭐ (соло, 1 місце), 450⭐ (3 місця), 850⭐ (5), 2100⭐ (10). Більше 10 місць — за запитом, обговорюється індивідуально (2026-08-23, раніше було 7 окремих тарифів аж до 30 місць — забагато кнопок для вибору).
  • Річна оплата (2026-08-23) — поруч із кожним тарифом є кнопка «Рік»: разовий платіж на 365 днів одразу (12 місяців × ціна − 20%), а не постійна підписка. Telegram вміє автоматично продовжувати підписку тільки помісячно — річна оплата **без автопродовження**: через рік потрібно оплатити вручну ще раз (мініапп нагадає заздалегідь).
  • Перейменування учасника — власник може задати відображуване ім'я замість реального Telegram-імені.
  • Видалення менеджера — два варіанти: «Передати конкретному» або «Розподілити автоматично» (за завантаженістю решти активних менеджерів).
  • Автоматичний розподіл нових лідів — вимкнено за замовчуванням. Коли увімкнено: лід, який вводить власник, автоматично переходить найменш завантаженому активному менеджеру.
  • Перерозподілити ліди вручну (Команда → «Перерозподілити ліди») — той самий принцип за запитом і одразу для всієї команди. Власник як джерело й ціль — це різні речі: ліди, що осіли на власнику, завжди можна забрати в перерозподілі; чи власник отримує щось назад як ціль — залежить від окремого налаштування.
  • Статус менеджера й заміщення на час відпустки/лікарняного — три статуси (позначені кольоровою крапкою): Працює / Відпустка / Лікарняний, і два режими:
    • «Статус» (ручний) — перемикає прямо зараз, лишається, поки хтось не поверне на «Працює» вручну.
    • «Автоматичний період» — обираєш статус, заміщаючого й діапазон дат один раз — статус увімкнеться сам у дату «З» і повернеться на «Працює» сам після дати «По».
    Поки період діє — всі ліди/клієнти/задачі/нагадування фактично обробляє заміщаючий, а сам менеджер їх не бачить; жодна картка фактично не передається.
  • Перенос ліда/угоди/клієнта — попередження в діалозі підтвердження, якщо обраний менеджер зараз у відпустці/на лікарняному.
  • SLA-нагадування «зависаючих» лідів — раз на годину бот перевіряє активних лідів, по яких 24 год і більше не було жодної дії, і надсилає власнику попередження.

12a-1. Кастомні ролі та лійка лідів (мініапп)

Окрім Власника й звичайного Менеджера (повний доступ до своїх записів) — довільна кількість названих власником ролей із обмеженим доступом до конкретних вкладок. Корисно, коли не всім потрібен повний доступ (наприклад, «Тренер» бачить тільки Записи й Клієнтів, «Рецепція» бачить агенду всієї команди, але не Статистику).

  • Команда → «Ролі» (тільки власник) — створення ролі (назва довільна) і для кожної з 6 вкладок (Ліди, Клієнти, Нотатки, Задачі, Записи, Звіти) окремо чекбокс «Перегляд» і «Дії». Окремий перемикач «Бачить усю команду» — за замовчуванням роль бачить тільки свої записи, увімкнене — бачить усе, але тільки на дозволених вкладках.
  • Команда → кнопка «Роль» біля учасника (тільки власник) — призначити одну зі створених ролей або повернути на звичайного Менеджера. Роль можна призначити тільки менеджеру, не власнику.
  • Команда/Оплата/Автоматизація/Валюти/Теги/Типи угод лишаються доступні тільки власнику, незалежно від прав ролі — це налаштування всієї команди, не щоденні операційні вкладки.

Сховати вкладку «Ліди» для всіх (Налаштування → «Лійка лідів», тільки власник) — окремий від ролей вимикач: якщо у вашому бізнесі немає багатоетапної лійки пошуку ліда-клієнта (наприклад, тренер чи приватний лікар), можна сховати вкладку повністю, для всієї команди включно з власником. Клієнтів і далі можна створювати напряму, без ліда. Разом із вкладкою зникають і всі згадки лідів у підказках та кнопках на інших вкладках — пошук записів/задач/нотаток пропонує тільки клієнтів, а розділ «Перерозподілити ліди» на сторінці «Команда» ховається повністю.

12b. Порівняння менеджерів (мініапп, тільки власник)

Команда → «Порівняння менеджерів». Показує для кожного обраного учасника: скільки нових лідів він отримав і скільки грошей по його лідах надійшло за обраний період, разом з планом і % виконання.

  • Період — Тиждень / 30 днів / довільний період.
  • Таблиця — сортується кліком по заголовку колонки.
  • План — власник задає місячний план по кожному, при виборі іншого періоду перераховується пропорційно.
  • Бонус % і Бонус грн — з'являються, тільки якщо в Налаштуваннях увімкнено розрахунок бонусу.
  • «Вигрузити в Excel» — вивантажує ту саму таблицю в .xlsx.

12c. Правила-автоматизація (чат і мініапп, тільки власник)

Навмисно вузький конструктор «якщо — то»: один тригер на правило, одна дія — push із довільним текстом власника.

  • Тригери — зміна статусу ліда на конкретний (включно з «Переведено в клієнти»), сума оплати ≥ число, або лід без активності ≥ N годин.
  • Кому надсилати — власнику команди, менеджеру, за яким закріплений лід, або обом одразу.
  • /automation у чаті або Налаштування → «Правила-автоматизація» у мініаппі — правило, створене в одному місці, видно й доступне в іншому.
  • Push автоматично дописує, який лід/угода спрацювали, і хто саме виконав дію.
  • Редагувати можна текст і саме значення умови; тип тригера й адресат — тільки видалити правило й створити нове.

12d. Теги (мініапп)

Довільні мітки для лідів і клієнтів (наприклад, «VIP», «опт») — свій набір на кожну команду, без заздалегідь заданого списку.

  • Картка ліда/клієнта — блок «Теги»: додає й створює тег на льоту, з підказками вже існуючих тегів команди.
  • Списки лідів/клієнтів і розсилка клієнтам — фільтр за тегом, поєднується зі статусом, пошуком і менеджером.
  • Керування (Налаштування → «Теги», тільки власник) — перейменування (об'єднує з уже існуючим тегом, якщо назва зайнята) і видалення.

12e. Записи (мініапп)

Календар візитів клієнтів (стрижка, масаж, консультація, виїзд майстра тощо) — окремо від воронки лідів, для бізнесів, де клієнт приходить на конкретний час, а не просто «оплачує угоду». Вимкнено за замовчуванням — вкладка «Записи» з'являється тільки після Налаштування → «Модуль “Записи”» → Так.

  • Створення запису — прив'язка до ліда чи клієнта, послуга з довідника типів угод (тривалість і місце проведення підставляються з неї, якщо задані), дата й час, тривалість (не обов'язково — якщо лишити порожнім, застосовується тривалість за замовчуванням із Налаштувань, за замовчуванням 60 хв), місце (у бізнесі / виїзд до клієнта з адресою), і хто виконує.
  • Агенда — перегляд по днях, статуси: заплановано / підтверджено / виконано / не з'явився / скасовано. Виїзні записи позначені окремо, з адресою.
  • Нагадування майстру і клієнту — пуш за налаштовану кількість годин до візиту (за замовчуванням 24 і 2 години); клієнту — з кнопками «Підтвердити»/«Скасувати», якщо він підписаний на нагадування (розділ 3d).
  • Клієнт просить перенести або змінити адресу — окремі кнопки прямо в нагадуванні клієнту; текст клієнта передається майстру як є, без автоматичної обробки — нова адреса застосовується тільки після явного рішення менеджера.
  • Пакети сеансів — для послуг, що продаються серією наперед (курс масажу, абонемент на тренування). Кількість сеансів, періодичність (щодня / через день / щотижня), опційний пропуск вихідних — усі записи пакета створюються одразу; далі кожен сеанс переноситься чи скасовується як звичайний окремий запис. Картка ліда/клієнта показує прогрес («3 із 10»).
  • Кастомні питання за типом послуги — Налаштування → «Типи угод» → «Питання»: власні додаткові поля (текст / число / вибір з варіантів), з'являються у формі запису автоматично, щойно обрано тип послуги з питаннями.
  • Самостійний запит клієнта — команда клієнта /book: вибір бізнесу (якщо клієнт кількох на цьому боті), вибір послуги (кнопками), і вільний текст, коли зручно. Персонал бачить запити на вкладці «Записи» і опрацьовує: записати напряму, запропонувати до 4 варіантів часу, або відхилити.
  • Автопідбір вільних слотів — Налаштування → «Автопідбір вільних слотів»: робочі години по днях тижня і крок (15/30/60 хв). Коли налаштовано, клієнт у /book одразу бачить реальні розраховані вільні часи й, тапнувши один, отримує підтверджений запис без очікування на персонал.
  • Клієнт сам обирає майстра — при автопідборі слотів клієнт може вказати, до кого саме («Будь-хто вільний» або конкретний член команди), а не тільки час. Якщо у вибраного немає вільних слотів — побажання все одно передається персоналу з вільнотекстовим запитом.
  • Хто виконує яку послугу — Команда → «Послуги» на кожному учаснику: за замовчуванням будь-хто виконує будь-яку послугу, але власник може звузити конкретних людей до конкретних послуг. Впливає на автопідбір, на вибір майстра клієнтом і на форму створення запису в мініаппі — це підказка інтерфейсу, не жорстка заборона.
  • «Спізнююсь» — і майстер (для виїзних записів, 5/10/15 хв), і сам клієнт зі свого мініаппа (для запису «у бізнесі», 5/10 хв) можуть попередити одне одного про запізнення. Записи, час яких уже минув, а результат так і не позначено, підсвічуються в агенді окремою рамкою.
  • Онлайн-передоплата за запис (LiqPay, поки пілотне тестування) — щоб слот не займали «на всяк випадок». Налаштування → «LiqPay» (тільки власник): публічний і приватний ключі мерчанта LiqPay (приватний зберігається зашифрованим), тестовий режим sandbox і кнопка «Перевірити ключі» — справжня перевірка пари через API LiqPay плюс тестова оплата 1 ₴. У «Типах угод» з'являється «Передоплата»: Ні / На місці / Онлайн / Вибір клієнта + відсоток (1–100). Клієнт тапає вільний час такої послуги — слот тримається за ним 30 хвилин, поки йде оплата: заплатив → запис підтверджено автоматично; не встиг → запис скасовується сам, слот звільняється.
  • Сторінка співробітників для клієнтів — Команда → «Співробітники»: власник увімкає публічну сторінку команди й задає її назву, і вона з'являється в клієнтському мініаппі (розділ 12f). Картка кожного учасника: фото (з окремим тумблером показу клієнтам), прізвище/по батькові, телефон (теж з тумблером), філія, послуги (з призначених типів угод) і статус прийому — той, хто у відпустці/на лікарняному, показується приглушено з підписом «наразі не приймає». Кожен редагує свою картку сам, власник — будь-яку. Індивідуальний графік на картці реально звужує вільні слоти самозапису нижче загальних робочих годин.

12f. Клієнтський мініапп

Урізана версія мініаппа, окрема від командної, — для самого клієнта: переважно панель для читання, з однією дією.

  • Як клієнт туди потрапляє — той самий інвайт на розсилку (розділ 3d): після підписки бот одразу пропонує кнопку відкрити свій мініапп; надалі — командою /app (мініапп сам розпізнає, хто його відкрив, і показує відповідний вигляд).
  • Що показує — назва бізнесу, стрічку «Новини та акції» (розділ 3d — розсилки, що реально дійшли саме цьому клієнту), свій код для запису відвідування (текст і QR — розділ 12g), найближчі й минулі візити, прогрес пакетів сеансів, список угод з сумою, оплаченим і повною історією платежів.
  • Сторінка співробітників — якщо власник її увімкнув (розділ 12e), на панелі з'являється секція із заданою назвою: картки співробітників з фото, іменами, послугами, філією, телефоном-посиланням і графіком; хто у відпустці чи на лікарняному — приглушена картка «наразі не приймає».
  • Клієнт кількох бізнесів — якщо той самий телеграм-акаунт є клієнтом кількох різних бізнесів на цьому боті, перед панеллю показується вибір, який саме переглянути.
  • Чого немає (поки що) — самостійний запис, перенесення, зміна адреси лишаються тільки в чат-флоу (/book і кнопки нагадувань). Єдина дія прямо в мініаппі — кнопка «Спізнююсь» на найближчому записі «у бізнесі» (розділ 12e).

12g. Відвідування

Фактичний облік приходу клієнта — окремо від записів на конкретний час (розділ 12e): візит «просто зайшов у зал» ніколи не був запланований, тож не належить до «Записів».

  • Код клієнта — кожен клієнт має свій короткий (4 цифри) код: показується в його клієнтському мініаппі (розділ 12f, текстом і QR) і на картці клієнта в командному мініаппі (Клієнти → клієнт → «Відвідування» → «Показати код»).
  • Фіксація на ресепшені — Клієнти → «Відвідування» (окремий екран): персонал вводить код клієнта і тисне «Зафіксувати». Живого сканування камерою немає — код досить ввести вручну. Нижче — стрічка останніх відвідувань за сьогодні.
  • Пошук за іменем (Налаштування → «Пошук за іменем на відвідуваннях», вимкнено за замовчуванням) — на випадок, якщо клієнт забув код чи QR: додаткове поле пошуку за іменем/контактом поруч із кодом; персонал тапає потрібного клієнта — код підставляється й фіксується автоматично.
  • Облік тривалості (Налаштування, тільки власник) — вимкнено за замовчуванням: кожен ввід коду — окрема самостійна подія «прихід». Увімкнено: повторний ввід того самого коду того самого дня фіксує «вихід» і рахує, скільки часу клієнт провів у закладі.
  • Історія — на картці клієнта видно всі його минулі відвідування (час приходу і час виходу, якщо облік тривалості увімкнено).
  • Оплата за відвідування — кожна фіксація приходу автоматично визначає, чим цей візит покритий: сьогоднішній запис клієнта (позначається виконаним, гроші вже прив'язані до нього), інакше активний абонемент (списується сеанс), інакше на картці клієнта створюється разовий платіж, суму якого персонал вказує вручну — одразу, якщо ціна фіксована, або вже за фактом, якщо остаточна сума з'ясовується по ходу візиту.
  • Абонементи — на картці клієнта, розділ «Записи» → «Створити абонемент»: лічильний (наприклад, «10 занять із тренером») або на період (наприклад, «зал на місяць», обов'язково прив'язаний до відповідної угоди з типом виконання «Періодична»).
  • Заморозка абонемента — кнопка на картці угоди з типом виконання «Періодична»: поки абонемент на паузі, він не покриває нові відвідування; при відновленні дата закінчення зсувається на тривалість паузи.

13. Повний список команд

КомандаЩо робить
/startЗапуск бота / привітання для вже зареєстрованих
/appВідкрити мініапп
/newДодати ліда вручну
(форвард повідомлення)Створити ліда з пересланого повідомлення
/newclientСтворити клієнта напряму, без воронки лідів
/editЗмінити назву/телефон/контактну особу/компанію/email/Telegram/джерело ліда
/leads [...]Список лідів
/todayЩо потрібно зробити сьогодні
/tasksУсі свої незавершені задачі
/findПошук ліда
/noteНотатка до ліда
/filesПрикріпити файл до ліда
/notes [leads]Стрічка нотаток: особисті чи по всіх лідах
/remindНагадування по ліду
/taskНагадування без ліда
/logЩоденник справ без ліда
/amountСума угоди
/paymentЗаписати отриману оплату
/statsСтатистика по лідах
/chartГрафік по всіх лідах або по одному
/export [week|month]Експорт в Excel
/payОплата підписки
/settingsМова, часовий пояс, керування автооплатою
/templatesШаблони повідомлень
/teamКоманда (тільки власник)
/automationПравила-автоматизація (тільки власник)
/helpСписок команд з поясненнями
/cancelВідмінити поточний діалог

CRM-bot — инструкция пользователя

Бот живёт прямо в Telegram — не нужно открывать отдельное приложение или сайт. Интерфейс (и бота, и мини-аппа) полностью локализован укр/рус/англ — язык переключается в /settings или в мини-аппе → Настройки и сразу применяется везде.

В CRM есть два интерфейса поверх одних и тех же данных: чат-команды бота (описаны ниже) и мини-апп — веб-интерфейс прямо в Telegram (раздел 0).

0. Мини-апп — /app

/app присылает кнопку «🖥 Открыть CRM», которая открывает веб-интерфейс поверх того же бэкенда, что и бот (не отдельная база — те же лиды/заметки/статистика).

Экраны мини-аппа (нижний таббар):

  • Лиды — список с фильтрами по статусу, пагинацией и строкой поиска сверху (по имени/телефону, игнорирует фильтр статуса — аналог /find). Для владельца — отдельный фильтр по менеджеру («Все менеджеры» / конкретный человек); менеджеру фильтр не показывается, у него всегда только свои лиды. На вкладке фильтра «Новый» сверху — форма создания лида (имя + контакт, дублирует /new); пока вводишь имя, бот/мини-апп проверяет на похожие лиды (нечёткое сравнение названий) и предупреждает (не блокирует) списком похожих с % совпадения — порог и саму проверку владелец настраивает в Настройках (раздел 12). Карточка лида: смена статуса, сумма, контактные данные (название, телефон/юзернейм, компания, email, источник — то же самое можно изменить из чата через /edit), оплаты (раздел 3a), заметки, файлы (раздел 3e), кнопки напоминаний.
  • Клиенты — отдельная вкладка (раздел 3b); список с поиском по имени/контакту, карточка клиента с историей сделок.
  • Заметки — три вкладки: Личные (дневник, аналог /log//notes, с формой добавления прямо на экране), По лидам (лента последних заметок по всем лидам вместе, с переходом на лида — аналог /notes leads) и По клиентам — так же лента, только заметки, добавленные прямо на карточке клиента (не по одной из его сделок, а по клиенту в целом). В чате аналога для заметок по клиентам пока нет — только в мини-аппе.
  • Задачи — полноценный планировщик с двумя вкладками: Активные (создание задачи — текст + дата, опционально с привязкой к лиду или клиенту — и действия Готово / Перенести / Отменить по каждой) и Выполненные — история уже закрытых задач. Для лид/клиент-задач дата обязательна, для личных дел — по желанию. Привязку выбирают через поисковый пикер — начни вводить имя или телефон, и список покажет подходящих лидов и клиентов вместе. Пояснение — под иконкой ⓘ рядом с заголовком «Новая задача». Под вкладкой Активные — переключатель периода: Сегодня / Неделя / Просроченные / Все. Просроченная задача продолжает считаться и «на сегодня», и «на неделю» — граница только сверху, снизу ничем не ограничена. Выполненные — всегда просто полный список, без фильтра по периоду: закрытые задачи автоматически удаляются через 7 дней после закрытия фоновой job'ой; за сутки и за час до удаления приходит предупреждающий пуш. Просроченная pending-задача, которую неделю никто не трогал, автоматически переводится в «Отменено» — с пушем об этом.
  • Записи (появляется только после Настройки → «Модуль “Записи”» → Да — раздел 12e) — календарь визитов клиентов: агенда по дням со статусами запланировано/подтверждено/выполнено/не пришёл/отменено, пакеты сеансов наперёд, автоподбор свободных слотов и самостоятельный запрос клиента командой /book.
  • Отчёты — два отдельных экрана:
    • Статистика — то же самое, что /stats + /chart, но интерактивный график вместо картинки. Плюс кнопка «Экспорт в Excel».
    • Должники (кнопка «Должники» сверху экрана Статистики) — таблица сделок с непогашенным долгом, одна сделка = одна строка. Колонки: Название, Контакт / Контактное лицо, Статус, Сумма долга, Дней просрочено. Клик на заголовок столбца сортирует по нему. По умолчанию в списке только сделки клиентов (без «Отказ») — два переключателя сверху: «Показывать лиды» и «Показывать отказы». Аналога в чате пока нет.
    • Упущенные клиенты (кнопка рядом с «Должники», только если включён модуль «Записи») — клиенты, чья последняя запись (любого статуса) старше указанного числа дней/месяцев, или у кого вообще ещё не было ни одной. Имя, телефон, дата последней записи; кнопка «Экспорт в Excel»; кнопка «Разослать напоминание» (только владелец) — отдельный текст из Настроек, отправляется только клиентам, подписанным на рассылку.
  • Настройки — язык, часовой пояс, реальная подписка (оплата через Telegram Stars прямо в мини-аппе), шаблоны сообщений, разбитые на группы разделы для владельца (команда, лиды и сделки, записи, клиенты). Для владельца блок «Команда» ведёт на отдельный экран с кнопками «Сравнение менеджеров» и «Роли» — ограничение доступа менеджеров к отдельным вкладкам (раздел 12a-1). На карточке лида для владельца — кнопка «Передать другому менеджеру».

У клиента есть своя отдельная, урезанная версия мини-аппа (в основном просмотр, плюс кнопка «Опаздываю») — раздел 12f.

Важно: кнопка меню бота показывает либо список команд, либо одну кастомную кнопку — никогда оба вместе (так устроен Telegram). Поэтому доступ к мини-аппу — через /app, а не через кнопку меню, чтобы не терять список команд.

Функционал бота и мини-аппа сознательно продублирован (кроме сложной аналитики/графиков) — можно работать полностью в одном интерфейсе или переключаться между ними, данные общие.

1. Первый запуск

  1. Открой бота, нажми /start.
  2. Выбери язык (укр/рус/англ) — сразу переключает все тексты бота.
  3. Бот покажет: «🎁 У тебя 15 дней бесплатного триала (до <дата>). Далее — 450 ⭐/мес, /pay.», а под этим — кнопка «🚀 Старт» (только у владельца, появляется один раз).
  4. После «Старт» — выбор типа бизнеса тремя кнопками: «Салон/зал/частная практика» (сразу включает модуль «Записи», добавляет пару стартовых типов сделок и скрывает вкладку «Лиды» — обычно там нет многоэтапной воронки), «Продажи/агентство/сервис» (добавляет один стартовый тип сделки, лиды и записи не меняет), либо «Не важно, настрою сам» (ничего не меняет). Это только стартовые настройки — их всегда можно поменять позже в Настройках.
  5. При повторном /start — просто «С возвращением!» и список команд, без повторного выбора языка, показа триала или выбора типа бизнеса.

2. Создание лида (клиента)

Два способа:

  • Форвард сообщения — переслать боту любое сообщение от клиента → бот сам создаёт лида, именем ставит имя отправителя, а текст пересланного сообщения кладёт первой заметкой. Работает только в чате бота.
  • /new — ручное добавление: бот спросит имя, потом контакт (можно /skip).

После создания лида бот сразу показывает карточку и спрашивает «Когда следующий контакт?» с кнопками (Через 3 ч / Завтра утром / Через 3 дня / Через неделю) плюс «Пропустить».

/edit — изменить название/телефон/контактное лицо/компанию/email/Telegram/источник уже существующего лида (Reply на карточку, или пикер лидов как в /note). То же самое можно сделать в мини-аппе на карточке лида.

Проверка дублей при создании — и /new, и форвард сообщения, сразу после ввода имени проверяют, нет ли уже похожего лида в рамках команды — если есть, бот присылает предупреждение со списком похожих, но не блокирует создание. Порог схожести и саму возможность отключить проверку — владелец настраивает в /settings.

3. Карточка лида

Выглядит так:

#3 — Ресторан Шекспир Контакт: 097-1111111/Юрий Статус: Новый Сумма: 1500 ← показывается, только если сумма указана Причина отказа: Цена ← только для статуса «Отказ» Заметки: • позвонил, интересуется

Под карточкой — кнопки статусов (воронка из 7 стадий):
Новый → Связались → Думает → КП отправлено → Переговоры → Успешно закрыта, плюс отдельно Отказ.
И Напомнить — выбор даты напоминания для этого лида.

Особые случаи при смене статуса:

  • Отказ → бот спросит причину отказа (Цена / Выбрал конкурента / Не то время / Не отвечает / Другое) — без причины статус не проставится.
  • Успешно закрыта → статус ставится сразу, плюс бот подсказывает /amount <id> <число>, чтобы указать сумму сделки.
  • КП отправлено → бот сразу спрашивает «Какая сумма сделки?» (можно пропустить).

Статус воронки и статус оплаты — отдельные поля (раздел 3a): оплата сама по себе не устанавливает никакого статуса вручную. Но когда сумма всех оплат достигает полной «Суммы» лида, сделка автоматически переводится в «Успешно закрыта».

3a. Оплаты по лиду — /payment

Отдельно от статуса воронки и от «Суммы» (стоимости сделки) — реестр фактических платежей по лиду, потому что оплата часто приходит частями.

В чате: /payment — Reply на карточку + число → мгновенно сохраняет сумму без деталей. Reply без числа, или голая команда → пошаговый диалог: сумма → способ оплаты (Наличные/Карта/IBAN/Безналичный/Другое) → номер договора/счёта → комментарий.

В мини-аппе: на карточке лида блок Оплаты — показывает «Оплачено X из Y · Остаток Z · [статус]» и список платежей. Статус оплаты считается автоматически из суммы записанных платежей и никогда не устанавливается вручную. Если в команде настроено больше одной валюты — платёж можно записать не только в валюте самой сделки (раздел 3f).

Автоматическое закрытие сделки — если у лида задана «Сумма», и сумма всех оплат достигает или превышает её, статус автоматически переключается на «Успешно закрыта».

Намеренно без чеков и бухгалтерии — CRM только фиксирует, сколько и когда заплатил клиент.

Долг в списке лидов — если у лида есть сумма, но оплачено не всё, в списке лидов под его карточкой появляется красная надпись «Долг {сумма}». Полноценный отчёт по задолженностям с фильтрами и сортировкой — раздел 0, «Отчёты» → «Должники».

3b. Клиенты (мини-апп)

Отдельный раздел для сделок, которые уже закрылись — чтобы воронка лидов не превращалась в свалку закрытых карточек.

  • Перевести в клиенты — появляется, только когда лид в статусе «Успешно закрыта». Действие по запросу, не автоматическое.
  • Клиент напрямую, без лида — /newclient в чате или кнопка «+ Новый клиент» в мини-аппе.
  • После конверсии лид исчезает из списка лидов/фильтров/поиска и появляется в отдельной вкладке «Клиенты».
  • Карточка клиента — контактные данные (редактируемые) + история сделок, кнопка «Новая сделка» для нового витка продажи тому же клиенту. Каждая сделка работает идентично обычному лиду — только без воронки статусов. На карточке сделки клиента контактные поля не показываются — это данные клиента, редактируются только на его собственной карточке (ссылка «Посмотреть карточку клиента» сверху сделки); редактируемым остаётся только название сделки.
  • Заметки на карточке клиента — отдельный раздел, привязанный к клиенту в целом, а не к одной сделке.
  • День рождения — отдельное поле на карточке клиента (день + месяц, без года — важно только совпадение даты, не возраст). Если включена рассылка на день рождения (раздел 3d) и клиент подписан на рассылку — именно в этот день ему автоматически придёт поздравление.
  • Распределение клиентов по менеджерам (только владелец) — так же, как с лидами: на карточке клиента владелец может передать клиента другому менеджеру вместе со всеми его сделками.

3c. Типы сделок и тип выполнения

Владелец команды может настроить собственные типы сделок в мини-аппе (Настройки → Типы сделок, только владелец). Каждый тип задаёт:

  • Тип выполнения — Мгновенная / Проект / Периодическая.
  • Схема оплаты — Единоразовая / Частями / Регулярные платежи.
  • По умолчанию — отметка одного типа как типового.

Смена типа сделки позже — можно поменять, только пока по сделке не было ни одной оплаты. Как только появился первый платёж — тип «замораживается».

Блок «Выполнение» на карточке лида — появляется, только если тип выполнения не «Мгновенная»:

  • Проект — Плановое окончание, Фактическое окончание; если плановая дата прошла, а фактическая ещё не проставлена — карточка показывает «Просрочено».
  • Периодическая — Начало/Окончание периода, Автопродление, Следующая дата оплаты. Начало периода не может быть позже Окончания.

Автоматические напоминания о дедлайне/оплате — push владельцу сделки: заранее (за 3 дня, опционально ещё за 1 день), и раз в сутки, если срок уже прошёл. Ручной перенос даты или любая оплата сбрасывают цикл напоминаний.

Автопродление (переключатель на карточке сделки) работает, только если владелец дополнительно включил в Настройках «Автопродление периодических сделок» и сделка принадлежит клиенту. Тогда CRM автоматически сдвигает даты на длину предыдущего периода вместо отправки «просрочено».

3d. Рассылка клиентам (мини-апп)

Telegram-бот не может написать человеку первым по @username — это ограничение платформы против спама. Поэтому подписка на рассылку работает через персональную ссылку:

  • Создать ссылку — на карточке клиента, пока клиент ещё не подписан. Может сделать любой менеджер для своего клиента.
  • Клиент подписывается — переходит по ссылке и жмёт Старт.
  • Отписка — /stop — клиент в любой момент может отписаться этой командой.
  • Отправить рассылку (только владелец) — Настройки → «Рассылка клиентам»: количество подписанных, список имён, текстовое поле, кнопка «Отправить» с подтверждением. После отправки — отчёт «Отправлено X из Y, ошибок: Z».
  • Прикрепить файл — опционально, PDF-афиша или промо-документ (до 20 МБ): отправляется клиенту как обычный файл, с текстом в качестве подписи; если текст длиннее лимита подписи Telegram (1024 символа) — файл идёт без подписи, а полный текст отдельным сообщением сразу после, чтобы ничего не обрезалось.
  • Последние рассылки — под формой отправки, история предыдущих рассылок (дата, тег, текст, файл если был, результат отправки).
  • Фильтр по тегу — над списком получателей можно выбрать тег (раздел 12d), чтобы отправить только подписанным с этим тегом, а не всем сразу.
  • «Отправить со своего аккаунта» — открывает чат с клиентом в Telegram с готовым текстом приглашения — менеджер сам жмёт «Отправить» от своего личного аккаунта.
  • Рассылка на день рождения (Настройки → «Рассылка на день рождения», выключено по умолчанию) — автоматическая, отдельная от ручной рассылки выше: каждый день проверяет, у кого сегодня день рождения (раздел 3b) и кто подписан на рассылку, и отправляет текст, заведённый в Настройках, без какого-либо участия персонала.

3e. Файлы к лиду/сделке/клиенту — /files

Файлы не хостятся нами — сохраняется только Telegram-овский file_id (Telegram и так хранит файл у себя неограниченно долго).

В чате: /files — Reply на карточку лида/сделки + сразу пришли фото или документ (можно с подписью-комментарием). Reply без файла или голая команда → пикер лида, после выбора бот просит прислать файл. Можно и вообще без команды — просто ответить на карточку лида фото или документом.

В мини-аппе: раздел «Файлы» на карточке лида, сделки клиента, и отдельно на карточке клиента (для документов, относящихся к клиенту в целом) — список + кнопка «Загрузить файл» и кнопки «Скачать»/«Удалить» на каждом файле.

Ограничение размера — 20 МБ — предел самого Telegram Bot API: файл большего размера бот примет, но уже никогда не сможет скачать его обратно, поэтому загрузка отклоняется сразу с предупреждением.

«Удалить» убирает только запись в CRM — сам файл остаётся в Telegram.

3f. Мультивалютность

Каждая сделка и каждый платёж по ней имеют свою валюту — не обязательно одинаковую (типичный пример: сделка в долларах, оплата наличными в гривне).

  • Валюты команды — Настройки → «Валюты» (только владелец): курс каждой валюты к базовой, в которой считаются все общие отчёты. Изначально есть только гривна; курс новой валюты вводится вручную, автоподтягивания из внешнего источника нет.
  • На сделке и на платеже — выбор валюты в мини-аппе рядом с суммой; если в команде валюта одна, выбор не показывается. В чате /payment тоже предлагает выбрать валюту, если их несколько.
  • Курс на платеже фиксируется навсегда в момент внесения — более позднее изменение курса не переписывает уже показанное «оплачено X из Y».
  • Общие отчёты (статистика, должники, сравнение менеджеров) — суммы в разных валютах суммируются в базовой, а не напролом.

4. Заметки к лиду — /note

Два основных способа (номер лида вводить не нужно):

  1. Reply на карточку лида (или на пуш напоминания) + /note текст — бот сам поймёт, к какому лиду.
  2. Голая команда /note (без Reply) → бот покажет пикер лидов → выбираешь → бот спрашивает текст.

Плюс резервный вариант: /note <номер> <текст>.

/note фиксирует факт и на этом всё — не заставляет сразу планировать следующий контакт, в отличие от создания лида.

4a. Пикер лидов (общий для /note, /amount, /remind)

Когда ни одна из команд не может сама понять, о каком лиде идёт речь, бот показывает пикер: кнопки по 8 лидов на страницу с навигацией ⬅️/➡️, или просто написать текст вместо тапа — бот ищет по имени или контакту, как /find.

4b. Лента заметок — /notes

  • /notes — личные заметки (дневник), последние 20.
  • /notes leads — заметки по всем лидам вместе, с кнопками перехода на карточку.

5. Напоминания по лиду — /remind

  • Кнопка Напомнить на карточке — сразу кнопки с готовыми датами.
  • Reply на карточку + /remind без текста → те же кнопки дат.
  • Reply на карточку + /remind 20-07-2026 15:00 текст → напоминание на точное время.
  • Голая команда /remind → пикер лидов → выбор → кнопки дат.

Когда напоминание срабатывает — бот сам присылает пуш с кнопками: ✅ Выполнено (сразу спрашивает «Когда следующий шаг?»), 📅 Перенести, 📝 Заметка.

6. Дела и напоминания без привязки к клиенту

  • /task [ДД-ММ-ГГГГ ЧЧ:ММ] [текст] — напоминание без лида.
  • /log <текст> — простой дневник: записать, что сделано, без привязки и без даты-напоминания.

Записи из /log за сегодня показываются в /today отдельным разделом.

/tasks — полный список незавершённых задач, не только на сегодня. Всегда только свои задачи, даже для владельца команды.

7. Списки и поиск

  • /leads [active|new|contacted|thinking|proposal_sent|negotiation|closed_won|lost|all] — список лидов. По умолчанию только активные.
  • /today — что нужно сделать сегодня: просроченные и сегодняшние напоминания + дневник за сегодня.
  • /find — поиск лида по имени/контакту, независимо от регистра и статуса.
  • В мини-аппе списки лидов и клиентов дополнительно фильтруются по тегу (раздел 12d) — только там, в чате этого фильтра нет.

8. Деньги

  • /amount — Reply на карточку + /amount → бот спросит сумму. Валюта — та, что уже стоит на лиде; изменить саму валюту можно только в мини-аппе (раздел 3f).
  • /stats — сводка: сколько лидов и на какую сумму сейчас в работе, сколько оплачено/отказов за последние 30 дней. Суммы — в базовой валюте команды.

9. Графики — /chart

  • /chart — график по всем лидам за месяц.
  • /chart week — тот же график за неделю.
  • /chart в ответ на карточку лида, или /chart <номер> — график активности по конкретному лиду.

10. Экспорт в Excel

  • /export — все лиды в .xlsx.
  • /export week / /export month — только то, что менялось за последнюю неделю/месяц.

10a. Импорт лидов из Excel (мини-апп, только владелец)

Настройки → «Импорт лидов из Excel» — массовая загрузка лидов списком.

  • Формат файла фиксированный, как в /export — можно отредактировать уже выгруженный файл и залить обратно.
  • Колонки: Name (обязательная), Contact, Contact person, Company, Email, Channel, Telegram, Amount, Deal type.
  • Мягкая проверка вместо жёсткого отказа — некорректное поле сбрасывается на значение по умолчанию и помечается предупреждением; отклоняется только строка без имени.
  • Два шага — сначала проверка и отчёт, потом подтверждение «Импортировать N строк».
  • Все импортированные лиды получают статус «Новый».

11. Оплата и подписка

Оплата и триал — на уровне команды (workspace), а не отдельного человека: платит только владелец, и доступ от этого получают/теряют одновременно все участники команды.

  • Триал: 15 дней бесплатно с момента /start. Пока не оплачено — добавить менеджера нельзя.
  • По окончании триала — доступ закрыт для всей команды, бот попросит /pay.
ТарифМест (с владельцем)Год (-20%)
350 ⭐/мессоло, 13360 ⭐/год
450 ⭐/месдо 34320 ⭐/год
850 ⭐/месдо 58160 ⭐/год
2100 ⭐/месдо 1020160 ⭐/год
Больше 10 мест? Кнопка «Написать владельцу» рядом с тарифами — обсуждаем индивидуально.

Годовая оплата — рядом с каждым тарифом есть вторая кнопка «Год»: разовый платёж сразу на 365 дней (12 месяцев по цене тарифа, минус 20%), а не постоянная подписка. Telegram умеет автоматически продлевать подписку только помесячно — годовая оплата без автопродления: через год нужно оплатить вручную ещё раз (мини-апп напомнит заранее).

/pay открывает мини-апп (раздел Настройки), где и происходит сама оплата — отдельного счёта прямо в чате больше не показывает.

Месячная подписка продлевается автоматически каждые 30 дней (годовая — нет, см. выше). В Настройках есть кнопка «Отменить автооплату» / «Включить автооплату» — видит и может нажать только владелец.

Оплатить ещё раз или перейти на другой тариф, не дожидаясь конца периода — там же, под этой кнопкой, все тарифы кнопками (у каждого — отдельно помесячная и годовая):

  • «Продлить» (тот же тариф, что уже активен) — добавляет ещё один полный период (30 дней) поверх того, что уже оплачено и осталось. Досрочная оплата никогда не забирает уже оплаченные дни.
  • «Доплата до тарифа N пользователей...» (более высокий тариф) — количество мест меняется сразу, но дата окончания подписки не меняется. Списывается не полная цена нового тарифа, а только разница между тарифами (например, с 450⭐ на 850⭐ — спишется 400⭐; кнопка показывает обе суммы). Когда текущий период закончится, для сохранения расширенного лимита мест понадобится уже обычная оплата по полной цене целевого тарифа. Более низкие тарифы в этом списке не предлагаются.
  • «Год» — рядом с каждой строкой (и продлением текущего тарифа, и повышением) — всегда полная годовая цена выбранного тарифа, никогда не доплата-разница, независимо от того, сколько дней осталось в текущем периоде.

Удалённый из команды менеджер не теряет доступ к боту полностью — он возвращается в собственный одноместный workspace с собственным новым 15-дневным триалом.

12. Язык интерфейса и часовой пояс

/settings — смена языка (укр/рус/англ). Влияет на всё: ответы бота, интерфейс мини-аппа, меню команд Telegram.

Часовой пояс — там же, кнопками (Киев/Варшава/Лондон/Берлин/Нью-Йорк/Дубай). Влияет на все напоминания.

/templates — шаблоны сообщений: кнопками показывает сохранённые, тап отправляет текст шаблона отдельным сообщением. Общие на всю команду.

Настройки, доступные только владельцу:

  • Проверка дублей лидов — включена по умолчанию, порог схожести 70/80/90/100%.
  • Показывать менеджера в списке лидов — выключено по умолчанию.
  • Расчёт бонуса менеджерам (только мини-апп) — выключено по умолчанию; бонус % по умолчанию и срок выплаты («Постоянно» или «N месяцев»).

12a. Команда (владелец + менеджеры)

CRM поддерживает одного владельца (master) и нескольких менеджеров в одном workspace. Master видит и может редактировать лидов/задачи/заметки/статистику всей команды; менеджер по умолчанию видит только своё.

  • /team (только для владельца) — список участников + кнопка «Пригласить менеджера». Удаление менеджера и перенос лидов — только в мини-аппе.
  • Приглашение — одноразовая ссылка (действует 72 ч), а не ввод @username.
  • Лимит мест — в мини-аппе публично показываются 4 тарифа: 350⭐ (соло, 1 место), 450⭐ (3 места), 850⭐ (5), 2100⭐ (10). Больше 10 мест — по запросу, обсуждается индивидуально (2026-08-23, раньше было 7 отдельных тарифов вплоть до 30 мест — слишком много кнопок для выбора).
  • Годовая оплата (2026-08-23) — рядом с каждым тарифом есть кнопка «Год»: разовый платёж сразу на 365 дней (12 месяцев × цена − 20%), а не постоянная подписка. Telegram умеет автоматически продлевать подписку только помесячно — годовая оплата **без автопродления**: через год нужно оплатить вручную ещё раз (мини-апп напомнит заранее).
  • Переименование участника — владелец может задать отображаемое имя вместо настоящего Telegram-имени.
  • Удаление менеджера — два варианта: «Передать конкретному» или «Распределить автоматически» (по загруженности остальных активных менеджеров).
  • Автоматическое распределение новых лидов — выключено по умолчанию. Когда включено: лид, который вводит владелец, автоматически переходит наименее загруженному активному менеджеру.
  • Перераспределить лиды вручную (Команда → «Перераспределить лиды») — тот же принцип по запросу и сразу для всей команды. Владелец как источник и цель — это разные вещи: лиды, осевшие на владельце, всегда можно забрать при перераспределении; получает ли владелец что-то обратно как цель — зависит от отдельной настройки.
  • Статус менеджера и замещение на время отпуска/больничного — три статуса (обозначены цветной точкой): Работает / Отпуск / Больничный, и два режима:
    • «Статус» (ручной) — переключает прямо сейчас, остаётся, пока кто-то не вернёт на «Работает» вручную.
    • «Автоматический период» — выбираешь статус, замещающего и диапазон дат один раз — статус включится сам в дату «С» и вернётся на «Работает» сам после даты «По».
    Пока период действует — все лиды/клиенты/задачи/напоминания фактически обрабатывает замещающий, а сам менеджер их не видит; ни одна карточка фактически не передаётся.
  • Перенос лида/сделки/клиента — предупреждение в диалоге подтверждения, если выбранный менеджер сейчас в отпуске/на больничном.
  • SLA-напоминания о «зависших» лидах — раз в час бот проверяет активных лидов, по которым 24 часа и более не было ни одного действия, и присылает владельцу предупреждение.

12a-1. Кастомные роли и воронка лидов (мини-апп)

Кроме Владельца и обычного Менеджера (полный доступ к своим записям) — произвольное количество названных владельцем ролей с ограниченным доступом к конкретным вкладкам. Полезно, когда не всем нужен полный доступ (например, «Тренер» видит только Записи и Клиентов, «Ресепшн» видит агенду всей команды, но не Статистику).

  • Команда → «Роли» (только владелец) — создание роли (название произвольное) и для каждой из 6 вкладок (Лиды, Клиенты, Заметки, Задачи, Записи, Отчёты) отдельно чекбокс «Просмотр» и «Действия». Отдельный переключатель «Видит всю команду» — по умолчанию роль видит только свои записи, включено — видит всё, но только на разрешённых вкладках.
  • Команда → кнопка «Роль» рядом с участником (только владелец) — назначить одну из созданных ролей или вернуть на обычного Менеджера. Роль можно назначить только менеджеру, не владельцу.
  • Команда/Оплата/Автоматизация/Валюты/Теги/Типы сделок остаются доступны только владельцу, независимо от прав роли — это настройки всей команды, не повседневные операционные вкладки.

Скрыть вкладку «Лиды» для всех (Настройки → «Воронка лидов», только владелец) — отдельный от ролей выключатель: если в вашем бизнесе нет многоэтапной воронки поиска лида-клиента (например, тренер или частный врач), можно скрыть вкладку полностью, для всей команды включая владельца. Клиентов и дальше можно создавать напрямую, без лида. Вместе с вкладкой исчезают и все упоминания лидов в подсказках и кнопках на других вкладках — поиск записей/задач/заметок предлагает только клиентов, а раздел «Перераспределить лиды» на странице «Команда» скрывается полностью.

12b. Сравнение менеджеров (мини-апп, только владелец)

Команда → «Сравнение менеджеров». Показывает для каждого выбранного участника: сколько новых лидов он получил и сколько денег по его лидам поступило за выбранный период, вместе с планом и % выполнения.

  • Период — Неделя / 30 дней / произвольный период.
  • Таблица — сортируется кликом по заголовку колонки.
  • План — владелец задаёт месячный план по каждому, при выборе другого периода пересчитывается пропорционально.
  • Бонус % и Бонус грн — появляются, только если в Настройках включён расчёт бонуса.
  • «Выгрузить в Excel» — выгружает ту же таблицу в .xlsx.

12c. Правила-автоматизация (чат и мини-апп, только владелец)

Намеренно узкий конструктор «если — то»: один триггер на правило, одно действие — push с произвольным текстом владельца.

  • Триггеры — смена статуса лида на конкретный (включая «Переведён в клиенты»), сумма оплаты ≥ число, или лид без активности ≥ N часов.
  • Кому отправлять — владельцу команды, менеджеру, за которым закреплён лид, или обоим сразу.
  • /automation в чате или Настройки → «Правила-автоматизация» в мини-аппе — правило, созданное в одном месте, видно и доступно в другом.
  • Push автоматически дописывает, какой лид/сделка сработали, и кто именно выполнил действие.
  • Редактировать можно текст и само значение условия; тип триггера и адресата — только удалить правило и создать новое.

12d. Теги (мини-апп)

Произвольные метки для лидов и клиентов (например, «VIP», «опт») — свой набор на каждую команду, без заранее заданного списка.

  • Карточка лида/клиента — блок «Теги»: добавляет и создаёт тег на лету, с подсказками уже существующих тегов команды.
  • Списки лидов/клиентов и рассылка клиентам — фильтр по тегу, сочетается со статусом, поиском и менеджером.
  • Управление (Настройки → «Теги», только владелец) — переименование (объединяет с уже существующим тегом, если название занято) и удаление.

12e. Записи (мини-апп)

Календарь визитов клиентов (стрижка, массаж, консультация, выезд мастера и т.п.) — отдельно от воронки лидов, для бизнесов, где клиент приходит на конкретное время, а не просто «оплачивает сделку». Выключено по умолчанию — вкладка «Записи» появляется только после Настройки → «Модуль “Записи”» → Да.

  • Создание записи — привязка к лиду или клиенту, услуга из справочника типов сделок (длительность и место подставляются из неё, если заданы), дата и время, длительность (не обязательно — если оставить пустым, применяется длительность по умолчанию из Настроек, по умолчанию 60 мин), место (в бизнесе / выезд к клиенту с адресом), и кто выполняет.
  • Агенда — просмотр по дням, статусы: запланировано / подтверждено / выполнено / не пришёл / отменено. Выездные записи помечены отдельно, с адресом.
  • Напоминания мастеру и клиенту — пуш за настроенное количество часов до визита (по умолчанию 24 и 2 часа); клиенту — с кнопками «Подтвердить»/«Отменить», если он подписан на напоминания (раздел 3d).
  • Клиент просит перенести или изменить адрес — отдельные кнопки прямо в напоминании клиенту; текст клиента передаётся мастеру как есть, без автоматической обработки — новый адрес применяется только после явного решения менеджера.
  • Пакеты сеансов — для услуг, продаваемых серией наперёд (курс массажа, абонемент на тренировки). Количество сеансов, периодичность (каждый день / через день / каждую неделю), опциональный пропуск выходных — все записи пакета создаются сразу; далее каждый сеанс переносится или отменяется как обычная отдельная запись. Карточка лида/клиента показывает прогресс («3 из 10»).
  • Кастомные вопросы по типу услуги — Настройки → «Типы сделок» → «Вопросы»: свои дополнительные поля (текст / число / выбор из вариантов), появляются в форме записи автоматически, как только выбран тип услуги с вопросами.
  • Самостоятельный запрос клиента — команда клиента /book: выбор бизнеса (если клиент нескольких на этом боте), выбор услуги (кнопками), и свободный текст, когда удобно. Персонал видит запросы на вкладке «Записи» и обрабатывает: записать напрямую, предложить до 4 вариантов времени, или отклонить.
  • Автоподбор свободных слотов — Настройки → «Автоподбор свободных слотов»: рабочие часы по дням недели и шаг (15/30/60 мин). Когда настроено, клиент в /book сразу видит реальные рассчитанные свободные времена и, тапнув одно, получает подтверждённую запись без ожидания персонала.
  • Клиент сам выбирает мастера — при автоподборе слотов клиент может указать, к кому именно («Любой свободный» или конкретный член команды), а не только время. Если у выбранного нет свободных слотов — пожелание всё равно передаётся персоналу со свободнотекстовым запросом.
  • Кто выполняет какую услугу — Команда → «Услуги» на каждом участнике: по умолчанию любой выполняет любую услугу, но владелец может сузить конкретных людей до конкретных услуг. Влияет на автоподбор, на выбор мастера клиентом и на форму создания записи в мини-аппе — это подсказка интерфейса, не жёсткий запрет.
  • «Опаздываю» — и мастер (для выездных записей, 5/10/15 мин), и сам клиент из своего мини-аппа (для записи «в бизнесе», 5/10 мин) могут предупредить друг друга об опоздании. Записи, время которых уже прошло, а результат так и не отмечен, подсвечиваются в агенде отдельной рамкой.
  • Онлайн-предоплата за запись (LiqPay, пока пилотное тестирование) — чтобы слоты не занимали «на всякий случай». Настройки → «LiqPay» (только владелец): публичный и приватный ключи мерчанта LiqPay (приватный хранится зашифрованным), тестовый режим sandbox и кнопка «Проверить ключи» — настоящая проверка пары через API LiqPay плюс тестовая оплата 1 ₴. В «Типах сделок» появляется «Предоплата»: Нет / На месте / Онлайн / Выбор клиента + процент (1–100). Клиент тапает свободное время такой услуги — слот держится за ним 30 минут, пока идёт оплата: заплатил → запись подтверждается автоматически; не успел → запись отменяется сама, слот освобождается.
  • Страница сотрудников для клиентов — Команда → «Сотрудники»: владелец включает публичную страницу команды и задаёт её название, и она появляется в клиентском мини-аппе (раздел 12f). Карточка каждого участника: фото (с отдельным переключателем показа клиентам), фамилия/отчество, телефон (тоже с переключателем), филиал, услуги (из назначенных типов сделок) и статус приёма — тот, кто в отпуске/на больничном, показывается приглушённо с подписью «наразі не приймає». Каждый редактирует свою карточку сам, владелец — любую. Индивидуальный график на карточке реально сужает свободные слоты самозаписи ниже общих рабочих часов.

12f. Клиентский мини-апп

Урезанная версия мини-аппа, отдельная от командной, — для самого клиента: в основном панель для чтения, с одним действием.

  • Как клиент туда попадает — тот же инвайт на рассылку (раздел 3d): после подписки бот сразу предлагает кнопку открыть свой мини-апп; далее — командой /app (мини-апп сам распознаёт, кто его открыл, и показывает соответствующий вид).
  • Что показывает — название бизнеса, лента «Новости и акции» (раздел 3d — рассылки, реально дошедшие именно этому клиенту), свой код для записи посещения (текст и QR — раздел 12g), ближайшие и прошлые визиты, прогресс пакетов сеансов, список сделок с суммой, оплаченным и полной историей платежей.
  • Страница сотрудников — если владелец её включил (раздел 12e), на панели появляется секция с заданным названием: карточки сотрудников с фото, именами, услугами, филиалом, телефоном-ссылкой и графиком работы; кто в отпуске или на больничном — приглушённая карточка «наразі не приймає».
  • Клиент нескольких бизнесов — если тот же телеграм-аккаунт является клиентом нескольких разных бизнесов на этом боте, перед панелью показывается выбор, какой именно просмотреть.
  • Чего нет (пока) — самостоятельная запись, перенос, изменение адреса остаются только в чат-флоу (/book и кнопки напоминаний). Единственное действие прямо в мини-аппе — кнопка «Опаздываю» на ближайшей записи «в бизнесе» (раздел 12e).

12g. Посещения

Фактический учёт прихода клиента — отдельно от записей на конкретное время (раздел 12e): визит «просто зашёл в зал» никогда не был запланирован, поэтому не относится к «Записям».

  • Код клиента — у каждого клиента свой короткий (4 цифры) код: показывается в его клиентском мини-аппе (раздел 12f, текстом и QR) и на карточке клиента в командном мини-аппе (Клиенты → клиент → «Посещения» → «Показать код»).
  • Фиксация на ресепшене — Клиенты → «Посещения» (отдельный экран): персонал вводит код клиента и нажимает «Зафиксировать». Живого сканирования камерой нет — код достаточно ввести вручную. Ниже — лента последних посещений за сегодня.
  • Поиск по имени (Настройки → «Поиск по имени на посещениях», выключено по умолчанию) — на случай, если клиент забыл код или QR: дополнительное поле поиска по имени/контакту рядом с кодом; персонал тапает нужного клиента — код подставляется и фиксируется автоматически.
  • Учёт длительности (Настройки, только владелец) — выключено по умолчанию: каждый ввод кода — отдельное самостоятельное событие «приход». Включено: повторный ввод того же кода в тот же день фиксирует «выход» и считает, сколько времени клиент провёл в заведении.
  • История — на карточке клиента видны все его прошлые посещения (время прихода и время выхода, если учёт длительности включён).
  • Оплата за посещение — каждая фиксация прихода автоматически определяет, чем этот визит покрыт: сегодняшняя запись клиента (помечается выполненной, деньги уже привязаны к ней), иначе активный абонемент (списывается занятие), иначе на карточке клиента создаётся разовый платёж, сумму которого персонал указывает вручную — сразу, если цена фиксированная, или уже по факту, если итоговая сумма выясняется по ходу визита.
  • Абонементы — на карточке клиента, раздел «Записи» → «Создать абонемент»: счётный (например, «10 занятий с тренером») или на период (например, «зал на месяц», обязательно привязан к соответствующей сделке с типом выполнения «Периодическая»).
  • Заморозка абонемента — кнопка на карточке сделки с типом выполнения «Периодическая»: пока абонемент на паузе, он не покрывает новые посещения; при возобновлении дата окончания сдвигается на длительность паузы.

13. Полный список команд

КомандаЧто делает
/startЗапуск бота / приветствие для уже зарегистрированных
/appОткрыть мини-апп
/newДобавить лида вручную
(форвард сообщения)Создать лида из пересланного сообщения
/newclientСоздать клиента напрямую, без воронки лидов
/editИзменить название/телефон/контактное лицо/компанию/email/Telegram/источник лида
/leads [...]Список лидов
/todayЧто нужно сделать сегодня
/tasksВсе свои незавершённые задачи
/findПоиск лида
/noteЗаметка к лиду
/filesПрикрепить файл к лиду
/notes [leads]Лента заметок: личные или по всем лидам
/remindНапоминание по лиду
/taskНапоминание без лида
/logДневник дел без лида
/amountСумма сделки
/paymentЗаписать полученную оплату
/statsСтатистика по лидам
/chartГрафик по всем лидам или по одному
/export [week|month]Экспорт в Excel
/payОплата подписки
/settingsЯзык, часовой пояс, управление автооплатой
/templatesШаблоны сообщений
/teamКоманда (только владелец)
/automationПравила-автоматизация (только владелец)
/helpСписок команд с пояснениями
/cancelОтменить текущий диалог

CRM-bot — user guide

The bot lives right inside Telegram — no separate app or website to open. The interface (both the bot and the Mini App) is fully localized into Ukrainian/Russian/English — the language is switched in /settings or in the Mini App → Settings and applies everywhere immediately.

The CRM has two interfaces on top of the same data: the bot's chat commands (described below) and the Mini App — a web interface right inside Telegram (section 0).

0. Mini App — /app

/app sends a «🖥 Open CRM» button that opens a web interface on top of the same backend as the bot (not a separate database — the same leads/notes/stats).

Mini App screens (bottom tab bar):

  • Leads — a list with status filters, pagination, and a search field at the top (by name/phone, ignores the status filter — same as /find). The owner gets a separate manager filter («All managers» / a specific person); managers don't see this filter — they always see only their own leads. The «New» filter tab has a lead-creation form at the top (name + contact, mirrors /new); while typing the name, the bot/Mini App checks for similar leads (fuzzy name matching) and warns (doesn't block) with a list of similar ones and a % match — the owner configures the threshold and the check itself in Settings (section 12). Lead card: status change, amount, contact details (name, phone/username, company, email, source — the same fields can be changed from chat via /edit), payments (section 3a), notes, files (section 3e), reminder buttons.
  • Clients — a separate tab (section 3b); a list with search by name/contact, a client card with deal history.
  • Notes — three tabs: Personal (a diary, same as /log//notes, with an add-note form right on screen), By leads (a feed of the latest notes across all leads together, with a jump to the lead — same as /notes leads), and By clients — a similar feed, but for notes added directly on a client's card (not on one of their deals, but on the client as a whole). There's no chat equivalent for client-level notes yet — Mini App only.
  • Tasks — a full scheduler with two tabs: Active (create a task — text + date, optionally linked to a lead or client — with Done / Reschedule / Cancel actions on each) and Done — a history of already-closed tasks. The date is required for lead/client tasks, optional for personal ones. The link is chosen via a search picker — start typing a name or phone number and the list shows matching leads and clients together. An explanation lives under the ⓘ icon next to the «New task» heading. Under the Active tab is a period switch: Today / Week / Overdue / All. An overdue task still counts toward both «today» and «this week» — the bound is only on the upper side, nothing limits it from below. Done is always just the full list, with no period filter: closed tasks are automatically deleted 7 days after closing by a background job; a warning push arrives a day and an hour before deletion. An overdue pending task nobody has touched for a week is automatically moved to «Cancelled» — with a push about it.
  • Appointments (shows up only after Settings → «Appointments module» → Yes — section 12e) — a calendar of client visits: a day-by-day agenda with scheduled/confirmed/completed/no-show/cancelled statuses, session packages booked in advance, automatic free-slot matching, and a client's own self-service booking request via /book.
  • Reports — two separate screens:
    • Statistics — the same as /stats + /chart, but an interactive chart instead of an image. Plus an «Export to Excel» button.
    • Debtors (the «Debtors» button at the top of the Statistics screen) — a table of deals with unpaid debt, one deal per row. Columns: Name, Contact / Contact person, Status, Debt amount, Days overdue. Clicking a column header sorts by it. By default the list only shows client deals (excluding «Lost») — two toggles at the top: «Show leads» and «Show lost». No chat equivalent yet.
    • Missed clients (a button next to «Debtors», only when the «Appointments» module is on) — clients whose most recent appointment (any status) is older than a given number of days/months, or who never had one at all. Name, phone, last-appointment date; an «Export to Excel» button; a «Send reminder» button (owner only) — a dedicated text from Settings, sent only to clients opted into broadcasts.
  • Settings — language, timezone, the real subscription (paid via Telegram Stars right in the Mini App), message templates, with the owner's sections grouped under headings (team, leads & deals, appointments, clients). For the owner, the «Team» block leads to its own screen with «Manager comparison» and «Roles» buttons — restricting managers to specific tabs (section 12a-1). On a lead card, the owner also gets a «Transfer to another manager» button.

Clients get their own separate Mini App view (mostly read-only, plus a "Running late" button) — section 12f.

Important: the bot's menu button shows either the command list or one custom button — never both together (that's how Telegram works). That's why Mini App access goes through /app rather than the menu button, so the command list isn't lost.

The bot's and the Mini App's functionality is deliberately duplicated (except for advanced analytics/charts) — you can work entirely in one interface or switch between them, the data is shared.

1. First launch

  1. Open the bot, tap /start.
  2. Choose a language (Ukrainian/Russian/English) — instantly switches all of the bot's text.
  3. The bot will show: «🎁 You have a 15-day free trial (until <date>). After that — 450 ⭐/mo, /pay.», with a «🚀 Start» button underneath (owner only, shown once).
  4. Tapping «Start» offers a business-type choice with three buttons: «Salon/gym/private practice» (turns on the Appointments module right away, adds a couple of starter deal types, and hides the Leads tab — such businesses usually have no multi-stage pipeline), «Sales/agency/service business» (adds one starter deal type, leaves leads and appointments untouched), or «Not sure, I'll set it up myself» (changes nothing). These are only starting presets — they can always be changed later in Settings.
  5. On a repeat /start — just «Welcome back!» and the command list, no language pick, trial notice, or business-type prompt again.

2. Creating a lead (client)

Two ways:

  • Forward a message — forward any message from a client to the bot → the bot creates a lead on its own, using the sender's name as the lead's name and putting the forwarded message's text as the first note. Only works in the bot's chat.
  • /new — manual entry: the bot asks for a name, then a contact (/skip is allowed).

Right after creating a lead, the bot shows the card and asks «When's the next contact?» with buttons (In 3 hours / Tomorrow morning / In 3 days / In a week) plus «Skip».

/edit — change the name/phone/contact person/company/email/Telegram/source of an existing lead (reply to its card, or use the lead picker like in /note). The same is available in the Mini App on the lead's card.

Duplicate check on creation — both /new and a forwarded message check, right after the name is entered, whether a similar lead already exists on the team — if so, the bot sends a warning with a list of similar ones, but doesn't block creation. The owner configures the similarity threshold and whether the check runs at all in /settings.

3. Lead card

Looks like this:

#3 — Shakespeare Restaurant Contact: 097-1111111/Yuriy Status: New Amount: 1500 ← shown only if the amount is set Lost reason: Price ← only for the "Lost" status Notes: • called, interested

Under the card — status buttons (a 7-stage funnel):
New → Contacted → Thinking → Proposal sent → Negotiation → Closed won, plus a separate Lost.
And Remind — pick a reminder date for this lead.

Special cases when changing status:

  • Lost → the bot asks for a lost reason (Price / Chose a competitor / Bad timing / Not responding / Other) — the status isn't set without a reason.
  • Closed won → the status is set immediately, plus the bot suggests /amount <id> <number> to record the deal amount.
  • Proposal sent → the bot immediately asks «What's the deal amount?» (can be skipped).

The funnel status and the payment status are separate fields (section 3a): a payment by itself never sets any status manually. But once the sum of all payments reaches the lead's full «Amount», the deal automatically moves to «Closed won».

3a. Payments on a lead — /payment

Separate from the funnel status and from the «Amount» (the deal's price) — a log of actual payments on a lead, since payment often arrives in parts.

In chat: /payment — reply to the card + a number → instantly saves the amount with no details. A reply with no number, or a bare command → a step-by-step dialog: amount → payment method (Cash/Card/IBAN/Bank transfer/Other) → contract/invoice number → comment.

In the Mini App: the Payments block on a lead's card shows «Paid X of Y · Remaining Z · [status]» and a list of payments. The payment status is calculated automatically from the recorded payments and is never set manually. If the team has more than one currency set up, a payment can be recorded in a currency other than the deal's own (section 3f).

Automatic deal closing — if a lead has an «Amount» set and the sum of all payments reaches or exceeds it, the status automatically switches to «Closed won».

Deliberately without receipts or accounting — the CRM only records how much and when the client paid.

Debt in the leads list — if a lead has an amount but isn't fully paid, a red «Debt {amount}» line appears under its card in the leads list. A full debt report with filters and sorting — section 0, «Reports» → «Debtors».

3b. Clients (Mini App)

A separate section for deals that have already closed — so the lead funnel doesn't turn into a pile of closed cards.

  • Convert to a client — appears only once a lead is in «Closed won» status. An on-demand action, not automatic.
  • A client directly, without a lead — /newclient in chat or the «+ New client» button in the Mini App.
  • After conversion, the lead disappears from the leads list/filters/search and appears in a separate «Clients» tab.
  • Client card — contact details (editable) + deal history, a «New deal» button to start a new sales cycle with the same client. Each deal works exactly like a regular lead — just without the status funnel. A client deal's card doesn't show contact fields — those belong to the client and are only editable on the client's own card (a «View client card» link at the top of the deal); only the deal's name stays editable.
  • Notes on a client's card — a separate section, tied to the client as a whole rather than to a single deal.
  • Birthday — a separate field on the client's card (day + month, no year — only the date matching matters, not the age). If the birthday broadcast is on (section 3d) and the client is opted into broadcasts, they get an automatic greeting on that day.
  • Distributing clients across managers (owner only) — same as with leads: on a client's card, the owner can transfer the client to another manager along with all of their deals.

3c. Deal types and execution type

The team owner can set up their own deal types in the Mini App (Settings → Deal types, owner only). Each type defines:

  • Execution type — Instant / Project / Recurring.
  • Payment scheme — Single / Installments / Recurring payments.
  • Default — marking one type as the default.

Changing a deal's type later — only possible before the deal has any payment recorded. As soon as the first payment appears, the type «freezes».

The «Execution» block on a lead's card — appears only if the execution type isn't «Instant»:

  • Project — Planned end date, Actual end date; if the planned date has passed and the actual one isn't set yet, the card shows «Overdue».
  • Recurring — Period start/end, Auto-renewal, Next payment date. The period start can't be later than the end.

Automatic deadline/payment reminders — a push to the deal's owner: ahead of time (3 days before, optionally also 1 day before), and once a day once the deadline has passed. Manually moving the date, or any payment, resets the reminder cycle.

Auto-renewal (a toggle on the deal's card) only works if the owner has additionally enabled «Auto-renew recurring deals» in Settings and the deal belongs to a client. Then the CRM automatically shifts the dates by the length of the previous period instead of sending «overdue».

3d. Client broadcasts (Mini App)

A Telegram bot can't message a person first by @username — a platform limit against spam. So broadcast subscriptions work through a personal link:

  • Create a link — on a client's card, while the client isn't subscribed yet. Any manager can do this for their own client.
  • The client subscribes — follows the link and taps Start.
  • Unsubscribing — /stop — the client can unsubscribe with this command at any time.
  • Send a broadcast (owner only) — Settings → «Client broadcasts»: subscriber count, a list of names, a text field, a «Send» button with a confirmation. After sending — a report «Sent X of Y, errors: Z».
  • Attach a file — optional, a PDF flyer or promo document (up to 20 MB): sent to the client as a regular file, with the text as its caption; if the text is longer than Telegram's caption limit (1024 characters), the file goes out with no caption and the full text follows as a separate message right after it, so nothing gets truncated.
  • Recent broadcasts — below the send form, a history of past broadcasts (date, tag, text, the file if there was one, and the send result).
  • Tag filter — a tag picker above the recipient list (section 12d) narrows the broadcast to only subscribed clients carrying that tag, instead of always everyone.
  • «Send from your own account» — opens a chat with the client in Telegram with ready-made invitation text — the manager taps «Send» themselves from their own personal account.
  • Birthday broadcast (Settings → «Birthday broadcast», off by default) — automatic, separate from the manual broadcast above: every day it checks who has a birthday today (section 3b) and is opted into broadcasts, and sends the text set up in Settings, with no staff involvement at all.

3e. Files on a lead/deal/client — /files

Files aren't hosted by us — only Telegram's own file_id is stored (Telegram already keeps the file indefinitely on its side).

In chat: /files — reply to a lead's/deal's card and immediately send a photo or document (a caption is fine). A reply with no file, or a bare command → a lead picker, and after picking, the bot asks for the file. It also works with no command at all — just reply to a lead's card with a photo or document.

In the Mini App: a «Files» section on a lead's card, a client deal's card, and separately on the client's own card (for documents about the client as a whole) — a list plus an «Upload file» button, and «Download»/«Delete» buttons on each file.

20 MB size limit — a limit of the Telegram Bot API itself: the bot would accept a larger file but could never download it back, so the upload is rejected right away with a warning.

«Delete» only removes the CRM record — the file itself stays on Telegram.

3f. Multiple currencies

Every deal and every payment on it has its own currency — not necessarily the same one (a common case: a deal priced in dollars, paid in cash in hryvnia).

  • Team currencies — Settings → «Currencies» (owner only): each currency's rate against the base currency, the one all team-wide reports are totalled in. Only hryvnia exists at first; a new currency's rate is entered by hand — there's no automatic external rate feed.
  • On a deal and on a payment — a currency picker next to the amount in the Mini App; if the team only has one currency, the picker isn't shown. In chat, /payment also offers a currency choice when there's more than one.
  • A payment's rate is frozen for good at the moment it's recorded — a later change to that rate never rewrites the "paid X of Y" figure already shown.
  • Team-wide reports (stats, debtors, manager comparison) — amounts in different currencies are totalled in the base currency, not added together as-is.

4. Notes on a lead — /note

Two main ways (no need to type the lead's number):

  1. Reply to the lead's card (or to a reminder push) + /note text — the bot figures out which lead on its own.
  2. Bare /note (no reply) → the bot shows a lead picker → you pick → the bot asks for the text.

Plus a fallback: /note <number> <text>.

/note just records the fact and that's it — unlike creating a lead, it doesn't push you to schedule the next contact right away.

4a. Lead picker (shared by /note, /amount, /remind)

When a command can't figure out which lead is meant on its own, the bot shows a picker: buttons for 8 leads per page with ⬅️/➡️ navigation, or just type text instead of tapping — the bot searches by name or contact, like /find.

4b. Notes feed — /notes

  • /notes — personal notes (a diary), the last 20.
  • /notes leads — notes across all leads together, with buttons to jump to the card.

5. Reminders on a lead — /remind

  • The Remind button on the card — instant buttons with ready-made dates.
  • Reply to the card + /remind with no text → the same date buttons.
  • Reply to the card + /remind 20-07-2026 15:00 text → a reminder at the exact time.
  • Bare /remind → a lead picker → pick → date buttons.

When a reminder fires — the bot sends a push with buttons: ✅ Done (immediately asks «What's the next step?»), 📅 Reschedule, 📝 Note.

6. Tasks and reminders without a linked client

  • /task [DD-MM-YYYY HH:MM] [text] — a reminder with no lead.
  • /log <text> — a simple diary: record what was done, with no link and no reminder date.

Today's /log entries show up in /today as a separate section.

/tasks — the full list of unfinished tasks, not just today's. Always just your own tasks, even for the team owner.

7. Lists and search

  • /leads [active|new|contacted|thinking|proposal_sent|negotiation|closed_won|lost|all] — the leads list. Active only by default.
  • /today — what needs doing today: overdue and today's reminders + today's diary.
  • /find — search a lead by name/contact, case- and status-independent.
  • In the Mini App, the leads and clients lists can also be filtered by tag (section 12d) — chat has no such filter.

8. Money

  • /amount — reply to the card + /amount → the bot asks for the amount. The currency is whatever the lead already has — changing the currency itself is Mini App-only (section 3f).
  • /stats — a summary: how many leads and for how much are currently in progress, how much was paid/lost over the last 30 days. Amounts are in the team's base currency.

9. Charts — /chart

  • /chart — a chart across all leads for the month.
  • /chart week — the same chart for the week.
  • /chart in reply to a lead's card, or /chart <number> — an activity chart for a specific lead.

10. Export to Excel

  • /export — all leads into a .xlsx file.
  • /export week / /export month — only what changed over the last week/month.

10a. Importing leads from Excel (Mini App, owner only)

Settings → «Import leads from Excel» — bulk-loading leads as a list.

  • The file format is fixed, matching /export — you can edit an already-exported file and upload it back.
  • Columns: Name (required), Contact, Contact person, Company, Email, Channel, Telegram, Amount, Deal type.
  • A soft check instead of a hard rejection — an invalid field resets to its default value and gets flagged with a warning; only a row with no name is rejected.
  • Two steps — first a check and a report, then an «Import N rows» confirmation.
  • All imported leads get the «New» status.

11. Payment and subscription

Payment and the trial are at the team (workspace) level, not the individual's — only the owner pays, and access rises and falls for every team member at the same time.

  • Trial: 15 days free from the moment of /start. Until paid, a manager can't be added.
  • Once the trial ends, access is closed for the whole team, and the bot will ask for /pay.
TierSeats (including the owner)Yearly (-20%)
350 ⭐/mosolo, 13360 ⭐/yr
450 ⭐/moup to 34320 ⭐/yr
850 ⭐/moup to 58160 ⭐/yr
2100 ⭐/moup to 1020160 ⭐/yr
Need more than 10 seats? The «Message the owner» button next to the tiers — negotiated individually.

Annual billing — next to each tier there's a second «Year» button: a one-time payment covering 365 days at once (12 months at the tier's price, minus 20%), not an ongoing subscription. Telegram can only auto-renew a subscription monthly — the annual option has no auto-renewal: you'll need to pay again manually in a year (the Mini App reminds you ahead of time).

/pay opens the Mini App (Settings section), where the payment itself happens — it no longer shows a separate invoice right in chat.

The monthly subscription renews automatically every 30 days (the annual one doesn't, see above). Settings has a «Cancel auto-renewal» / «Resume auto-renewal» button — only the owner can see and press it.

Paying again or switching tiers without waiting for the period to end — in the same place, under that button, all tiers as buttons (each with its own monthly and annual option):

  • «Renew» (the same tier that's already active) — adds one more full period (30 days) on top of what's already paid and remaining. Paying early never eats into days already paid for.
  • «Top-up to the N-user tier...» (a higher tier) — the seat count changes immediately, but the subscription's end date doesn't change. Instead of the new tier's full price, only the difference between the tiers is charged (e.g. going from 450⭐ to 850⭐ charges 400⭐; the button shows both amounts). Once the current period ends, keeping the expanded seat limit requires a regular full-price payment for the target tier. Lower tiers aren't offered in this list.
  • «Year» — next to every row (both renewing the current tier and upgrading) — always the full annual price of that tier, never a top-up difference, regardless of how many days are left in the current period.

A manager removed from the team doesn't fully lose access to the bot — they go back to their own one-seat workspace with their own fresh 15-day trial.

12. Interface language and timezone

/settings — change the language (Ukrainian/Russian/English). Affects everything: the bot's replies, the Mini App's interface, Telegram's command menu.

Timezone — same place, as buttons (Kyiv/Warsaw/London/Berlin/New York/Dubai). Affects all reminders.

/templates — message templates: shows saved ones as buttons, tapping sends the template's text as a separate message. Shared across the whole team.

Owner-only settings:

  • Lead duplicate check — on by default, similarity threshold 70/80/90/100%.
  • Show manager in the leads list — off by default.
  • Manager bonus calculation (Mini App only) — off by default; a default bonus % and a payout period («Forever» or «N months»).

12a. Team (owner + managers)

The CRM supports one owner (master) and several managers in one workspace. The master sees and can edit the whole team's leads/tasks/notes/stats; a manager sees only their own by default.

  • /team (owner only) — a list of members + a «Invite a manager» button. Removing a manager and transferring leads is Mini App only.
  • Invitations — a one-time link (valid 72 hours) rather than typing an @username.
  • Seat limit — the Mini App publicly shows 4 tiers: 350⭐ (solo, 1 seat), 450⭐ (3 seats), 850⭐ (5), 2100⭐ (10). More than 10 seats — by request, negotiated individually (2026-08-23, there used to be 7 separate tiers up to 30 seats — too many buttons to choose from).
  • Annual billing (2026-08-23) — next to each tier there's a "Year" button: a one-time payment covering 365 days at once (12 months × price − 20%), not an ongoing subscription. Telegram can only auto-renew a subscription monthly — the annual option has **no auto-renewal**: you'll need to pay again manually in a year (the Mini App reminds you ahead of time).
  • Renaming a member — the owner can set a display name instead of the real Telegram name.
  • Removing a manager — two options: «Transfer to a specific person» or «Distribute automatically» (by the remaining active managers' workload).
  • Automatic distribution of new leads — off by default. When enabled: a lead the owner enters is automatically handed to the least-loaded active manager.
  • Manually redistribute leads (Team → «Redistribute leads») — the same principle, on demand, across the whole team at once. The owner as a source and as a target are different things: leads that piled up on the owner can always be taken away during redistribution; whether the owner gets anything back as a target depends on a separate setting.
  • Manager status and cover during vacation/sick leave — three statuses (shown with a colored dot): Working / Vacation / Sick, and two modes:
    • «Status» (manual) — switches right now, stays until someone manually sets it back to «Working».
    • «Automatic period» — pick the status, the substitute, and a date range once — the status turns on by itself on the «From» date and reverts to «Working» by itself after the «Until» date.
    While the period is active, the substitute is the one who actually handles all leads/clients/tasks/reminders, and the manager themself doesn't see them; no card is actually reassigned.
  • Transferring a lead/deal/client — a warning in the confirmation dialog if the chosen manager is currently on vacation/sick leave.
  • SLA reminders for «stuck» leads — once an hour the bot checks active leads with no activity for 24 hours or more and sends the owner a warning.

12a-1. Custom roles & the lead pipeline toggle (Mini App)

Beyond the Owner and a plain Manager (full access to their own records) — any number of owner-named roles with limited access to specific tabs. Useful when not everyone needs full access (e.g. a «Trainer» role only sees Appointments and Clients, a «Front desk» role sees the whole team's agenda but not Statistics).

  • Team → «Roles» (owner only) — create a role (any name) and, for each of the 6 tabs (Leads, Clients, Notes, Tasks, Appointments, Reports), a separate «View» and «Act» checkbox. A separate «Sees the whole team» toggle — by default a role only sees its own records; enabled, it sees everything, but only on the tabs it's allowed.
  • Team → «Role» button next to a member (owner only) — assign one of the created roles, or set it back to a plain Manager. A role can only be assigned to a manager, never the owner.
  • Team/Billing/Automation/Currencies/Tags/Deal types stay owner-only regardless of role permissions — these are whole-team settings, not day-to-day operational tabs.

Hide the «Leads» tab for everyone (Settings → «Lead pipeline», owner only) — a separate switch from roles: if your business has no multi-stage lead-to-client pipeline (e.g. a trainer or a private doctor), you can hide the tab entirely, for the whole team including the owner. Clients can still be created directly, without a lead. Hiding the tab also removes every mention of leads from hints and buttons on other tabs — the search picker on appointments/tasks/notes offers clients only, and the «Redistribute leads» section on the Team page disappears entirely.

12b. Manager comparison (Mini App, owner only)

Team → «Manager comparison». Shows, for each selected member: how many new leads they got and how much money came in on their leads over the chosen period, along with a plan and % completion.

  • Period — Week / 30 days / a custom range.
  • Table — sorts by clicking a column header.
  • Plan — the owner sets a monthly plan per person; picking a different period recalculates it proportionally.
  • Bonus % and Bonus amount — only appear if bonus calculation is enabled in Settings.
  • «Export to Excel» — exports the same table to .xlsx.

12c. Automation rules (chat and Mini App, owner only)

A deliberately narrow "if — then" builder: one trigger per rule, one action — a push with the owner's own text.

  • Triggers — a lead's status changing to a specific one (including "Converted to client"), a payment amount ≥ a number, or a lead inactive for ≥ N hours.
  • Who gets notified — the team owner, the manager the lead is assigned to, or both at once.
  • /automation in chat, or Settings → «Automation rules» in the Mini App — a rule created or edited in one place is visible and available in the other.
  • The push automatically adds which lead/deal triggered it, and who took the action.
  • Editing changes the text and the condition's value only; a different trigger type or recipient still means deleting the rule and creating a new one.

12d. Tags (Mini App)

Free-form labels for leads and clients (e.g. "VIP", "wholesale") — each team's own set, with no predefined list.

  • A lead's/client's card — a Tags block: adds and creates a tag on the fly, with suggestions from the team's existing tags.
  • Leads/clients lists and client broadcasts — a tag filter, combinable with status, search, and manager.
  • Management (Settings → «Tags», owner only) — renaming (merges into an existing tag if the name is taken) and deleting.

12e. Appointments (Mini App)

A calendar of client visits (a haircut, a massage, a consultation, an on-site visit, etc.) — separate from the lead pipeline, for businesses where a client comes at a specific time rather than just "paying for a deal". Off by default — the Appointments tab appears only after Settings → «Appointments module» → Yes.

  • Creating an appointment — link to a lead or client, a service from the deal-type catalog (duration and location pre-fill from it if set), date and time, duration (optional — leaving it blank falls back to the default duration from Settings, 60 min by default), location (at the business / on-site with an address), and who performs it.
  • Agenda — a day-by-day view, statuses: scheduled / confirmed / completed / no-show / cancelled. On-site appointments are flagged separately, with an address.
  • Reminders to the staff member and the client — a push a configured number of hours before the visit (24 and 2 hours by default); the client's reminder has «Confirm»/«Cancel» buttons, if they're subscribed to reminders (section 3d).
  • Client requests a reschedule or address change — dedicated buttons right in the client's reminder; the client's text is forwarded to staff as-is, with no automatic parsing — a new address only takes effect after the manager explicitly accepts it.
  • Session packages — for services sold as a series booked in advance (a massage course, a training pass). Number of sessions, cadence (daily / every other day / weekly), an optional skip-weekends option — every session in the package is created at once; each one is then rescheduled or cancelled like a regular standalone appointment. A lead's/client's card shows the package's progress ("3 of 10").
  • Custom questions per service type — Settings → «Deal types» → «Questions»: add your own extra fields (text / number / multiple choice), which appear on the appointment form automatically once a service with questions is selected.
  • Self-service booking request — the client command /book: pick a business (if the client has several on this bot), pick a service (via buttons), then free text for when it's convenient. Staff see the requests on the Appointments tab and can book directly, offer up to 4 time options, or decline.
  • Automatic free-slot matching — Settings → «Free-slot matching»: business hours per weekday and a step size (15/30/60 min). Once configured, a client using /book sees real computed free times right away and, tapping one, gets a confirmed appointment without waiting on staff.
  • Client picks the specialist — with slot autopick, the client can specify who exactly ("Whoever's free" or a specific team member), not just the time. If the chosen specialist has no free slots, the preference still reaches staff via a free-text request.
  • Who performs which service — Team → «Services» on each member: by default anyone can perform any service, but the owner can narrow specific people down to specific services. Affects autopick, the client's specialist picker, and the appointment form in the Mini App — it's an interface hint, not a hard restriction.
  • "Running late" — both the staff member (for on-site visits, 5/10/15 min) and the client themself from their own Mini App (for an at-the-business appointment, 5/10 min) can warn each other about running late. Appointments whose time has already passed with no outcome marked are highlighted in the agenda with a border.
  • Online prepayment for appointments (LiqPay, currently in pilot testing) — so slots don't get held "just in case". Settings → «LiqPay» (owner only): the merchant's public and private LiqPay keys (the private one stored encrypted), a sandbox toggle, and a «Test keys» button — a real key-pair check against the LiqPay API plus a test 1 UAH payment. In «Deal types» a «Prepayment» field appears: None / On-site / Online / Client's choice + a percentage (1–100). When a client taps a free slot for such a service, the slot is held for them for 30 minutes while payment goes through: paid → the appointment confirms automatically; time ran out → it cancels itself and the slot frees up.
  • A staff page for clients — Team → «Staff»: the owner turns on a public team page and names it, and it appears in the client Mini App (section 12f). Each member's card: a photo (with its own show-to-clients toggle), last/middle name, phone (also with a toggle), branch, services (from their assigned deal types), and their availability status — anyone on vacation or sick leave shows greyed out with a "not accepting clients" label. Everyone edits their own card; the owner can edit any. An individual schedule on the card genuinely narrows self-booking slots below the business's general hours.

12f. Client Mini App

A reduced version of the Mini App — separate from the team one, for the client themself: mostly a read-only dashboard, with one action.

  • How a client gets there — the same broadcast invite (section 3d): once subscribed, the bot immediately offers a button to open their own Mini App; after that, the /app command (the Mini App recognizes who opened it and shows the right view).
  • What it shows — the business's name, a «News & offers» feed (section 3d — broadcasts actually delivered to this specific client), the client's own visit code (text and QR — section 12g), upcoming and past appointments, session-package progress, and a list of deals with the amount, what's paid, and the full payment history.
  • Staff page — if the owner turned it on (section 12e), a section with a custom title appears on the dashboard: staff cards with photos, names, services, branch, a tap-to-call phone link, and working hours; anyone on vacation or sick leave shows as a greyed-out "not accepting clients" card.
  • A client of several businesses — if the same Telegram account is a client of several different businesses on this bot, a picker appears before the dashboard.
  • What's missing (for now) — self-service booking, rescheduling, and address changes stay in the chat flow (/book and the reminder buttons). The one action right in the Mini App is the "Running late" button on the nearest at-the-business appointment (section 12e).

12g. Visits

Actual foot-traffic tracking — separate from time-scheduled appointments (section 12e): someone who "just walked into the gym" was never scheduled, so it doesn't belong under Appointments.

  • Client code — every client has their own short (4-digit) code, shown in their own client Mini App (section 12f, as text and a QR code) and on their card in the team Mini App (Clients → client → «Visits» → «Show code»).
  • Checking in at the front desk — Clients → «Visits» (a dedicated screen): staff type in the client's code and tap «Check in». There's no live camera scanning — typing the code is enough. Below it, a feed of today's most recent check-ins.
  • Search by name (Settings → «Search by name on Visits», off by default) — in case a client forgot their code or QR: an extra search field by name/contact next to the code field; staff tap the right client and the code fills in and checks in automatically.
  • Duration tracking (Settings, owner only) — off by default: every code entry is its own standalone "check-in" event. Enabled: entering the same code again the same day logs a "check-out" and counts how long the client stayed.
  • History — a client's card shows all of their past visits (check-in time, and check-out time if duration tracking is on).
  • Payment for a visit — every check-in automatically figures out what covers it: today's own appointment for that client (marked completed, money already lives on it), otherwise an active package (a session is drawn from it), otherwise a one-off charge is created on the client's card, with staff filling in the amount by hand — right away for a fixed price, or after the fact once the final total is known.
  • Packages/abonements — on the client's card, under «Appointments» → «Create abonement»: session-count (e.g. «10 sessions with a trainer») or period-based (e.g. «gym, one month», which must be linked to the matching deal with execution type «Recurring»).
  • Freezing an abonement — a button on a «Recurring» deal's card: while paused, it doesn't cover new visits; resuming shifts the end date forward by however long the pause lasted.

13. Full command list

CommandWhat it does
/startLaunch the bot / a welcome-back for existing users
/appOpen the Mini App
/newAdd a lead manually
(forwarded message)Create a lead from a forwarded message
/newclientCreate a client directly, skipping the lead funnel
/editChange a lead's name/phone/contact person/company/email/Telegram/source
/leads [...]List leads
/todayWhat needs doing today
/tasksAll your unfinished tasks
/findSearch for a lead
/noteA note on a lead
/filesAttach a file to a lead
/notes [leads]Notes feed: personal or across all leads
/remindA reminder on a lead
/taskA reminder with no lead
/logA diary of tasks with no lead
/amountA deal's amount
/paymentRecord a received payment
/statsLead statistics
/chartA chart across all leads or one
/export [week|month]Export to Excel
/paySubscription payment
/settingsLanguage, timezone, auto-renewal management
/templatesMessage templates
/teamTeam (owner only)
/automationAutomation rules (owner only)
/helpCommand list with explanations
/cancelCancel the current dialog