Например, вы можете сделать себе бота, который
Мы строили исходно распределенную компанию и успели пройти по многим граблям настройки общения и обмена данными почти только через мессенджер. Практика показала, что боты то, что доктор прописал.
1. Люди спрашивают все подряд и делятся субъективно важными вещами в основном канале
Даже в 2019-м сотрудники компаний все еще массово попадали в почтовые апокалипсисы это когда одно неосторожное ответить всем в корпоративной рассылке на тысячи человек приводит к хаосу на полдня. Хотя вы всего лишь задали невинный и актуальный, в общем-то, вопрос: А как получать меньше уведомлений?
Все портреты и имена обращающихся сгенерированы, все совпадения случайны.
В Slack есть своя версия этого греха зайти в канал #general и спросить что-нибудь почти личное. Плюс вишенка на торте тегнуть всех.
Cидите вы спокойно, работаете, слушаете что-нибудь любимое фоном, а тут вас дергает уведомление. Наверняка это что-то важное думаете вы, ведь вы настроили Slack так, чтобы оно приходило, только когда вас отмечают. Но затем вы видите левое сообщение и ставите ему раздраженное эмодзи. Эмодзи ничему людей не учат, поверьте. А если не остановить поток сообщений, он лишь возрастет теория разбитых окон, куда без нее.
Поэтому мы завели каналу ограниченное число модераторов постить туда прямо могут только они, а для остальных ввели бота-цензора:
- При попытке написать в #general бот моментально удаляет пост из канала но для автора это незаметно: кажется, что тебе просто не дают опубликовать сообщение. При этом робот сохраняет текст и данные об авторе.
- Бот напоминает, зачем нужен канал и предлагает подумать, стоит ли писать именно в него.
- Если автор упорствует, бот отправляет текст на проверку модератору.
- Дальше модератор обычно это кто-то из внутреннего PR или опубликует текст в канале, указав автора оригинала, или напишет автору в личку, объяснит, почему его сообщение нерелевантно каналу, и где лучше публиковать такие запросы или новости.
А для частых вопросов мы завели канал с говорящим названием #faq кстати, отвечают в нем уже люди, а не боты.
2. Никто не читает закреп перед тем, как написать в канал
Окей, мы отбили #general. Но наверняка в Slack осталось еще под сотню-другую важных источников информации и у некоторых названия сильно совпадают. Например, у нас по каждому продукту существует целая линейка публичных каналов с единым корнем (название продукта или отдела) и суффиксами (каналы подкоманд, например).
Скажем, вы вбиваете в поиске что-то вроде #mobile, чтобы найти, где поделиться замечанием или предложением по работе одного из приложений. И видите примерно такой список:
С недавних пор завели правило неактивные в течение 90 дней каналы архивируются.
Если у вас несколько каналов с похожими названиями, поверьте, большинство будет задавать вопросы не в том, в котором стоило бы.
Раньше мы указывали типы запросов, которые можем обработать, в закрепленном сообщении. Но (surprise!) его никто не читал.
Теперь у нас есть бот, который присоединяется к каналу и при добавлении любого новичка отправляет ему эфемерное (это которое 'Only you can see this message') сообщение с правилами.
Иногда это работает по крайней мере, лучше, чем жить просто с закрепом.
3. Задают вопросы, которые есть во внешнем FAQ. И вообще не любят
выходить во внешние информационные системы
На этот счет мы написали целый взвод ботов. Каждый помогает в своем кейсе.
Началось все с преподавателей у них есть довольно подробная и обновляемая wiki, целый сайт. Отдельный раздел на нем посвящен внештатным ситуациям на уроке: отвалилась камера или микрофон ученика, отвалился сам ученик и т.д. Но, конечно же, у людей есть свои каналы а дальше вы поняли.
Когда человек немного в панике, он обычно забывает про отдельный бездушный FAQ и пишет просьбы о помощи в привычный канал, где сидят люди.
Мы поступили просто: если кто-то не идет в вики, то она должна прийти к нему. Так как вопросы часто типовые, написали бота, который:
- Отправлял запрос из Slack (только ключевые слова, разные привет, помогите легко отсечь) ко внешней вики.
- Приносил топ ответов а вероятность, что в первых, скажем, пяти строках выдачи будет нужное, велика. И практика это подтвердила.
Дальше были боты, которые помогают подготовить и ускорить все для заключения договоров формирование пакета документов, его согласование и отправка в другие службы тоже решается прямо в мессенджере И тогда мы замахнулись на Jira.
4. Никто не любит рутину, да и не всегда можно быстро переносить
данные руками во внешние системы
Общение команд разработки и инфраструктуры идет через канал, в который за день падают по 30-50 сообщений. Ребятам из инфры есть чем заняться, помимо создания тикетов в Jira. Поскольку любое сообщение в канале #infra будет или запросом, или отчетом о проблеме, есть бот, который автоматически создает таски из сообщений вида привет, вот-что-случилось-или-нужно, помогите, пожалуйста.
Реакции под сообщениями это не просто так. Это статусы тикетов в общей системе управления задачами.
Когда по заявке есть движение, инфраструктура ставит новую реакцию под слак-репортом, а бот реагирует и на основе эмодзи автоматически ставит правильные статусы в основной задаче.
Если вы спрашивали себя, кто будет
5. Тратят время на ручную выгрузку и визуализацию данных из внешних
систем
Целый выводок ботов, наоборот, помогает доставать данные из сторонних систем. Так, у тимлидов в ходу три помощника:
Slack-burndown-bot берет спринт в Jira и формирует диаграмму сгорания: вот сколько всего задач, вот сколько вы сделали, вот сколько осталось.
А команда может по вечерам вместе любоваться на
Бот Арсений присылает в канал команды более развернутую статистику: у кого назначены ревью, какие из текущих задач сжирают больше запланированного, кто заполнил ворклоги и т.д.
Jakebot помогает тимлиду сэкономить полчаса и быстро собрать пул тикетов для следующего спринта, которые он хочет обсудить с командой. Быстро выбираем задачи через интерфейс, бот формирует сообщение с данными о задачах, команда голосует теми же эмодзи.
Если хочешь воздержаться ставишь кирпич, чтобы бот потом не тыркал, что ты не проголосовал.
6. Говорят, ну я же написал вот там... или Бот, который может
разбудить CTO
Иногда бывает такое, что что-то легло. Особенно, ночью.
Для критичных падений мы завели отдельный канал и подключили к нему бота, который дублирует дежурного. Мы используем сервис Opsgenie для алертинга: говоришь ему следить за набором серверов и, если какой-то упал, то сервис
Процесс на гифке ускорен, но отражает суть.
Если человек не поднял трубку или не нажал 1, это эскалирует звонок до его тимлида.
А если и тимлид недоступен, звонок может эскалироваться вплоть до технического директора.
У Opsgenie есть кастомный триггер, так что вы можете настроить поведение и список обзвона, исходя из канала, к которому подключен бот таких каналов может быть несколько.
7. А еще все хотят своего бота для слэка
Когда вы начнете автоматизировать все с помощью ботов, поверьте, к вам постоянно будут приходить с просьбой А напишите и мне вооот такого. Тогда вам откроется правда: очень часто это будет что-то вроде бот, который показывает кнопки, а если нажимаешь на одну кнопку, приходит такое сообщение (если на другую другое)". В общем, бот, реализующий дерево сообщений, популярен и применим во многих кейсах бизнеса.
Мы сделали шаблон для такого случая: заказчик приносит нам сценарий, мы описываем конфиг какие сообщения и какие куда ведут. И все, оно работает. Не надо даже программировать.
P.S. Недавно победили еще одну проблему, которая бесила многих: сделали бота, который разворачивает ссылки на внешние скриншотилки в полноценные картинки не надо никуда переходить и отвлекаться на кучу баннеров и поп-апов, которыми часто обвешаны внешние файлохранилища.