📖 Operator Playbook
Что делать когда. Если ты тут впервые — прочти разделы 1–3. Дальше открывай по мере того как Telegram-бот пингует.
🎯 Sales workspace — рабочая страница Альтаира
https://crm.powertechexpo.kz/sales.html — основная страница для ручной работы с лидами.
Утренний ритуал (5 мин)
- Открой /sales.html
- Посмотри на 6 cards сверху:
- 🔥 Срочно — лиды только что ответили, нужен апрув AI-draft'а или ручной ответ
- 💰 К закрытию — converted клиенты + те у кого договор/счёт уже отправлен
- 🔵 Переговоры — активные обсуждения условий
- 📞 Callbacks — твой TODO "перезвонить / обзвонить"
- 🟡 В процессе — в работе, не критично сегодня
- 🟠 Re-engage — past exhibitors / past visitors для повторного приглашения
- Клик на counter → проматывает к секции. Повторный клик снимает фильтр.
Работа с лидом
- Click на строку → справа выезжает панель с инфой по лиду
- В панели можно редактировать прямо:
- Статус (dropdown): new → messaged → replied → converted (или unsubscribed/skipped)
- Стадия сделки (текст): пиши как удобно — "Перезвонить 25.05", "Договор отправил, ждём подпись"
- Заметки по предыдущим контактам: контекст из старых разговоров
- Внутренние заметки: что нужно знать команде
- Площадь м²: когда сделка закрылась — пиши размер стенда
- Изменения сохраняются автоматически когда кликаешь вне поля. Зелёная рамка = сохранилось. Никаких кнопок Save.
- Esc или клик ✕ → закрывает панель
- ↗ В полном виде → открывает /lead.html?id=X в новой вкладке (для подробной работы — manual compose, full timeline и т.д.)
Когда что делать
| Алерт в Telegram | Где смотреть | Что делать |
| 💬 Ответ от лида | /sales.html → 🔥 Срочно | Прочитай AI-draft. Если ОК — кнопка "✅ Сейчас" на /replies.html. Если нет — отредактируй. |
| 🔥 HOT LEAD | /sales.html → 🔥 Срочно (или прямая ссылка из алерта) | Бери на себя — лид готов покупать. Статус → converted, проставь paid_sqm и deal_stage. |
| 🤔 NEEDS HUMAN | /sales.html → 🔥 Срочно (карточка с красной полосой) | AI остановил автоответ — лид задал сложный вопрос (цена/скидка/договор). Напиши руками. |
| 📩 Orphan | /orphans.html | Реплай не привязан к лиду. AI предложит совпадение по домену → 🔗 Связать или ➕ Новый лид. |
Совместная работа
Все изменения в /sales.html — это источник правды для команды. Когда ты обновил deal_stage, Илья видит это после refresh страницы (auto-обновление каждые 60 сек). Никаких параллельных Excel/таблиц — всё в одном месте.
Если нужно скинуть Илье ссылку на конкретный лид — открой drawer, скопируй URL (он содержит ?lead=ID), отправь в Telegram. Он откроет ту же карточку.
Re-engagement workflow
- Открой секцию "🟠 Re-engage" → "Прошлые экспоненты"
- Видишь превью 8 кандидатов. Все они: были экспонентами 2024/2025 + не получали от нас писем за последние 14 дней + ещё не replied/converted
- Нажми "✨ Сгенерировать drafts (max 30)" — AI создаст re-invite (с context'ом "вы были у нас раньше...")
- Drafts появятся в очереди → ты или Илья апрувите через /replies.html
- Auto-dispatch отправит в течение часа
👨💻 Технические нюансы (для Ильи)
1. Утренний ритуал (5 мин) — для тех кто следит за пайплайном
- Открыть Telegram-группу — прочитать 📊 PowerTech CRM — сводка за 24ч. Она прилетает каждый день в 09:00 Алматы.
- Если в сводке есть блок ⚠️ Сегодня обрати внимание — пройди по пунктам:
- Drafts ждут ручного ответа → /replies.html (красные карточки)
- Stale draft (>1ч) → тот же экран — апрувни/отмени
- Orphan-сообщения → /orphans.html — связать с лидом или отбросить
- Bounce-rate высокий → проверь базу контактов, возможно нужна чистка
- Если "✅ Pipeline здоров" — закрой Telegram, всё работает.
2. Что значит каждый Telegram-алерт
Severity
Когда прилетает
Что делать
💬 Ответ
Лид Tier 1 ответил, или это первый реплай от любого лида.
Открой
/replies.html. AI уже сгенерил ответ — посмотри, апрувни или отредактируй.
🔥 HOT LEAD
Лид написал "пришлите договор", "готов оплатить", "send invoice" и т.п. Покупательский сигнал.
Бери на себя немедленно. AI-ответ всё равно ушёл, но дальше веди лично.
📩 Orphan
Получили реплай но не нашли лида с таким email-ом.
/orphans.html → "💡 Возможно это" → 🔗 Связать. Или ➕ Новый лид. Или ✕ Отбросить если спам.
⚠️ Stale draft
Pending draft висит >10 минут (вторая нагона через 1ч, третья через 6ч).
/replies.html — апрувни или Skip. Если канал отвалился (WA/SMTP) — алерт скажет.
🚨 SMTP send failed
Email не уходит — проблема с ps.kz сервером, auth, или rate limit.
Проверить ./scripts/crm-logs.sh | grep smtp. Если ps.kz лежит — ждать. Если auth fail — пароль сменили?
🚨 IMAP reconnect failed
Не можем читать ответы лидов в реалтайме. Они копятся в почтовом ящике.
Перезапуск: ./scripts/crm-restart.sh. Если не помогло — проверить ps.kz статус.
⚠️ Bounce spike
5+ bounces за час — повышенный риск blacklist'а домена.
Сделать паузу в рассылке, проверить базу — возможно много невалидных email. Запустить email-validation.
🔥 ABANDONED
Draft pending больше 6 часов. Лид остыл.
Открыть
/replies.html, ответить ВРУЧНУЮ через "✍️ Написать своё", извиниться за задержку.
🚨 Backup missing
Не сделался ежедневный бэкап БД в 04:00.
ssh ubuntu@213.155.20.61 'tail /var/log/powertech-backup.log' — посмотреть что упало. Запустить вручную: sudo /usr/local/bin/backup-leads-db.sh
3. Куда смотреть на каждом экране
📡 Pipeline live (на /ops.html)
Карточка обновляется каждые 3 секунды. Ключевые цифры:
- Отправлено за 60м — текущий темп. Если 0 несколько часов подряд при наличии очереди — что-то не так.
- В очереди — approved messages ожидающие отправки. Растёт = тормозит dispatch.
- Bounce за 60м — должен быть 0–2. Больше — проблема с базой.
- Pending drafts / Needs manual / Orphans — твой immediate-action TODO.
💬 /replies.html
- Жёлтая карточка (pending) — AI сгенерил ответ, ждёт твоей проверки. Можешь редактировать.
- Красная карточка (needs_manual) — AI не справился (Claude API упал или не понял контекст). Напиши руками.
- "Авто-отправка через X:XX" — таймер. Если не вмешаешься — отправится автоматически через 2 минуты.
- "Hold" — пауза. Останавливает auto-send но draft остаётся.
📩 /orphans.html
- Зелёная пилюля 💡 — AI-suggestion (домен совпал / тот же thread). Клик подставляет лида в поиск.
- Поиск — печатаешь компанию или email, выпадают лиды.
- 🔗 Связать — реплай идёт через reply-handler как будто матч был с самого начала. AI сгенерит ответ.
- ➕ Новый лид — создаёт нового с email отправителя. Дополни инфу в /lead.html потом.
- ✕ Отбросить — спам / нерелевантно. Помечает resolved=dismissed, не удаляет.
👤 /lead.html (страница одного лида)
- Timeline — все вход/исх сообщения. Индикаторы доставки:
- 📧 email: ✓ sent · ❌ bounced (с причиной во всплывающей подсказке)
- 💬 WhatsApp: ✓ отправлено · ✓✓ доставлено · ✓✓ прочитано
- "✍️ Написать сообщение лиду" — ручной compose (выбираешь канал, пишешь свой текст). Идёт в timeline.
- Pending reply drafts — если есть AI-draft, можешь апрувнуть прямо здесь без захода в /replies.html.
4. Когда что-то сломалось
Email не отправляется
ssh ubuntu@213.155.20.61 'sudo journalctl -u powertech-crm -n 50 | grep -i smtp'
- Если "wrong version number" — порт/secure mismatch (но не должно)
- Если "auth failed" — пароль сменили в Plesk
- Если "connection refused" — ps.kz инфра лежит → подождать
- Если ничего не помогло:
./scripts/crm-restart.sh
WhatsApp не отправляется
- Проверить /ops.html — карточка WhatsApp
- Если статус не "online" — токен WAMM протух или истёк подписка
- Логи:
./scripts/crm-logs.sh | grep -i wamm
IMAP не получает ответы
./scripts/crm-logs.sh | grep imap-idle
- Должно быть свежее
state=connected в течение последних 30 минут
- Если нет —
./scripts/crm-restart.sh
Восстановить БД из backup
- Бэкапы лежат в
/var/backups/powertech/leads-YYYY-MM-DD.db.gz
ssh ubuntu@213.155.20.61 'sudo systemctl stop powertech-crm'
ssh ubuntu@213.155.20.61 'sudo gunzip -c /var/backups/powertech/leads-2026-05-07.db.gz > /opt/linkedin-autoposting/data/leads.db'
ssh ubuntu@213.155.20.61 'sudo systemctl start powertech-crm'
5. Контакты и эскалация
- VPS:
ssh ubuntu@213.155.20.61
- CRM URL: http://crm.powertechexpo.kz (или http://213.155.20.61)
- Telegram-группа алертов: та же где приходят ответы лидов
- Главный mailbox: ai_manager@powertechexpo.kz через webmail.ps.kz