Что не так со Slack и как починить это с помощью ботов
Боты в «не рабочих» мессенджерах могут многое: оформить заявку, найти и подсказать информацию и не только. А что там в корпоративном мире? Давайте разбираться.
В начале года мы рассказали о юном разработчике, который трудится в ИТ Skyeng вместе со 160 взрослыми коллегами. Сегодня Жора хочет поделиться результатами своей работы — возможно, его идеи пригодятся вам, чтобы удобно организовать общение всех со всеми, отделов с отделами, команд между собой. И не только.
Люди спрашивают все подряд и делятся субъективно «важными» вещами в основном канале
Где спросить, когда не знаешь? Где поделиться радостью или новостью? Конечно же там, где больше человек: ведь так выше вероятность, что подскажут и оценят. Так зайди скорее в #general и тегни всех!
В этот момент сотни и тысячи человек по ту сторону экрана получат ваше сообщение. Многие настроили Slack так, чтобы уведомления приходили только, когда их отмечают, — и будут думать, что их ждет важная информация.
Одно время «левым» сообщениями ставили раздраженное эмодзи. Но язык яростных эмодзи понимают не все, а если не остановить поток сообщений, со временем станет только хуже. Поэтому мы завели каналу ограниченное число модераторов с правом прямого постинга, а для остальных ввели бота-цензора:
- При попытке написать в #general бот моментально удаляет сообщение из канала — но автору кажется, что бот просто «не дает» опубликовать текст. При этом робот сохраняет текст и данные об авторе.
- Бот напоминает, зачем нужен канал и предлагает подумать, стоит ли писать именно в него. Если автор уверен, бот отправляет текст на проверку модератору.
- Дальше модератор — обычно в течение пары часов — или публикует текст в канале, указав автора оригинала, или пишет автору в личку с рекомендацией, в каком канале лучше публиковать такие запросы или новости.
Никто не читает закреп с правилами канала перед тем, как написать в него
Окей, мы отбили #general — но у нас еще много каналов. Названия некоторых могут сильно совпадать. Например, мы заводим по каждому продукту линейку публичных каналов с единым корнем (название продукта или отдела) и суффиксами (каналы подкоманд). В результате, вы можете встретить в выдаче каналы:
- #mobile
- #mobile-marketing
- #mobile-dev-ios
В какой из них делиться замечанием, наблюдением или предложением по работе одного из приложений?
Если у вас несколько каналов с похожими названиями, поверьте, очень многие будут задавать вопросы не в том, в котором задумано.
Раньше мы указывали типы запросов, которые можем обработать, в закрепе канала. Но его никто не читал. Теперь у нас есть бот, которого можно подключить к любому каналу: он будет отслеживать добавления и слать новичкам эфемерное (это которое «Only you can see this message») сообщение с правилами.
Иногда это работает: )
По крайней мере лучше, чем жить просто с закрепом.
Задают вопросы, которые детально расписаны во внешних wiki
Ооо, на этот счет мы написали целый «взвод» ботов. Каждый помогает в своем кейсе.
Началось все с учителей — они как подрядчики Skyeng получают доступ к Slack и могут координироваться там с поддержкой. При этом у преподавателей есть довольно подробная и обновляемая wiki — целый сайт. Отдельный раздел на нем посвящен внештатным ситуациям на уроке: от организационных до технических («отвалилась» камера или микрофон ученика, «отвалился» сам ученик и т.д.).
Когда люди были немного в панике, то обычно забывали про отдельный FAQ — и писали просьбы о помощи в привычный канал.
Мы поступили просто: если человек не идет в вики, то она должна прийти к нему. Так как вопросы часто типовые, написали бота, который:
- Отправлял запрос из Slack (только ключевые слова, а разные «привет», «помогите» легко отсечь) в строку поиска на внешней вики.
- Приносил преподавателю топ ответов — а вероятность, что в первых пяти ответах будет нужное, велика. И практика это подтвердила.
Дальше были боты, которые помогают подготовить все для заключения договоров — например, если кому-то надо заключить договор с контрагентом, он вызывает бота, а тот вызывает интерфейс со всеми нужными полями. Если чего-то не хватает при заполнении, то информация по ссылке сохраняется — можно зайти и дозаполнить заявку потом.
Один из этапов заключения договора с внешним подрядчиком — отправка заявки на согласование бюджета его держателю. Таких людей десятки — бот помогает найти нужного и отправляет ему четко оформленную и понятную заявку в виде сообщения в Slack. А заявитель получает себе напоминалку, кому и когда ушла заявка, — чтобы знать, куда писать, если что.
Не любят создавать таски руками во внешних системах (например, в Jira)
Поэтому у нас есть бот, который берет рутину создания задач в таск-трекере на себя. Например, он подключен к каналу инфраструктуры, в котором ребята принимают по 30-50 репортов в день. Любое сообщение в таком канале — это или запрос, или отчет о проблеме. Бот автоматически создает таски из постов, стараясь отсечь «привет», «пожалуйста» и прочие формальности.
Когда по заявке есть движение, инфраструктура ставит эмодзи под слак-репортом, бот реагирует и на основе эмодзи автоматически ставит правильные статусы в основной задаче.
За этим ботом следит другой бот — мы зовем его Прокопий. Он считает обращения за день и смотрит на реакции под ними. Утром следующего дня он присылает дайджест: какие таски закрыли, какие нет, а авторы обращений получают просьбу оценить работу команды инфраструктуры. Некоторые команды сегодня делают себе похожих по сути, но отличных по механике ботов: например, в одном из каналов есть бот Фиона, которая лично опрашивает каждого автора обращения в треде к исходному запросу.
Тратят время на ручную выгрузку и визуализацию данных из внешних систем
Так, у руководителей команд есть боты, которые:
- формируют диаграмму сгорания спринтов,
- присылают разную развернутую статистику,
- а также экономят время на сбор повестки для следующего спринта.
Один из наших ботов — мы зовем его Jake, помогает быстро создавать голосовалки за задачи, которые хочет обсудить команда: тимлид вызывает интерфейс, бот формирует сообщение с данными о задачах и следит, чтобы команда поставила темам оценку важности/интересности — теми же же эмодзи.
Если хочешь воздержаться, ставишь эмодзи “кирпич”. И бот не будет напоминать, что ты не проголосовал.
А у саппорта есть бот, который читает почту. Точнее, он пересылает письма: запускается раз в минуту, применяет правила парсинга, перемещает письмо в ящик visited — и затем отправляет его контент в Slack. Ведь в мессенджере можно сразу посоветоваться с лидом или быстро запросить дополнительную информацию у нужного отдела.
Делают «бесячие» ошибки в сообщениях
Когда большая часть коммуникаций основана на тексте, начинаешь больше ценить правильный русский язык. Поэтому мы сделали из Slackbot «граммар-наци” бота, который, например, поправлял людей, регулярно писавших “в течении» о сроках.
Правда, вскоре бота отключили по просьбам трудящихся. Вывод — не бесите людей в ответ.
P.S. А еще все хотят своего бота для слэка
Все наши боты самописные. И когда мы начали автоматизировать процессы с их помощью, к нам постоянно стали приходить с просьбой «А напишите и нам такого». Поэтому мы сделали шаблон на частые случаи: заказчик приносит сценарий, мы описываем конфигурацию — и отдаем готового помощника. Не надо даже программировать.