Все данные на одном экране: Опыт интеграции мессенджера Kato с IFTTT, Hubot и Stripe
Каждая компания постоянно сталкивается с огромным количеством входящей информации, на которую необходимо реагировать: твиты пользователей, новые правила в индустрии, почтовые сообщения в техподдержку, автоматические оповещения от серверов, данные о проблемах в работе от подрядчиков, уведомления от платежных сервисов, и так далее.
Всю эту информацию желательно объединять в одной точке, и эта роль традиционно отводилась электронной почте, которая не всегда является наилучшим решением.
Зачем нужны интеграции в мессенджерах
Электронная почта не обладает гибкостью, которая делала бы работу с разнообразными входящими сигналами удобной для большой компании. Даже в сравнительно небольших организациях, насчитывающих всего лишь пару десятков работников, фильтрация и правильное направление потоков электронных писем становится сложной, постоянной и трудоёмкой деятельностью. Как результат, в поисках нужной информации сотрудникам приходится продираться через большие объемы ненужных им электронных писем, что влечет за собой информационную перегрузку и снижает продуктивность.
Об удовольствии от работы в ситуации, когда почтовый ящик хронически переполнен (большей частью — нерелевантными сообщениями), говорить не приходится. Попытки решения проблемы в самих системах электонной почты требуют серьёзной тренировки и повышенной внимательности от рядового персонала, что не всегда возможно или целесообразно.
На выручку приходят мессенджеры, которые позволяют направлять информационные потоки в «правильные» специально отведённые каналы, предоставляя самим сотрудникам возможность игнорировать ненужные им данные, и настраиваться на получение нужных.
Например, в Kato можно создать специальные комнаты, которые предназначены для сообщений определенного типа — для упоминаний вашей компании в сервисе Twitter, для оповещений об успешных продажах, для сообщений о сбоях какого-то сервера, и так далее. На эти тематические комнаты могут «подписываться» те сотрудники компании, которым нужна публикуемая в них информация.
Понятно, что для реализации этой схемы мессенджер должен уметь интегрироваться с внешними сервисами, то есть иметь функциональность, позволяющую выводить в комнатах сообщения от внешних сервисов и, симметрично, посылать сообщения к внешним сервисам в результате определённых действий в мессенджере (например, создание сообщения определённого формата в определённой комнате).
Интеграция с IFTTT
Примером сервиса, интеграция с которым моментально делает мессенджер многократно более ценным рабочим инструментом, является IFTTT (название произносится как «gift» без начального звука «g» и является сокращением фразы “if this, then that”, то есть «если это, тогда то» — на «Хабре» и GT о нем неоднократно писали).
Пользователи IFTTT могут создавать так называемые «рецепты», которые определяют заданный сценарий — что «то» надо сделать, когда наступает «это» событие. Например, можно создать рецепт, который будет присылать на нужный адрес электронной почты оповещение при каждом добавлении нового файла в сетевое хранилище Google Drive.
У мессенджера Kato есть специальный IFTTT-канал, который содержит целый ряд полезных рецептов — например, с их помощью пользователи могут направлять в мессенджер уведомления из Dropbox, Evernote, календаря, или же оповещения о выходе нового комикса о программисте Дилберте. Любой пользователь Kato может использовать уже готовые рецепты или создавать свои собственные (с возможностью их публикации).
Интеграция между Kato и IFTTT работает в двустороннем режиме — можно отправлять сообщения в комнаты Kato в случае наступления какого-то внешнего события (например, появился твит с определенным хэштегом), или наоборот, осуществлять действия в подключенных сервисах с помощью сообщений в мессенджере (например, написав сообщение в Kato, создавать событие в календаре).
Альтернативой IFTTT является сервис Zapier, который, в отличие от бесплатного «ифта», является платным (и стоит довольно дорого). Тем не менее, в Kato есть интеграции реализованные с его помощью — например с Asana и Base CRM.
Автоматизации оповещений через Hubot
Еще одна полезная для работы интеграция — это связь мессенджера с «открытым» сервисом автоматизации уведомлений Hubot, созданный в компании GitHub. С его помощью можно, к примеру, отправлять в нужную комнату Kato сообщения о добавлении в JIRA описания тестировщиками только что обнаруженной проблемы в вашей программе, выводить информацию из папок Dropbox, или данные о текущем состояние серверов.
Ниже приведён пример использования версии Hubot, адаптированной в Kato (команда найти и вывести в комнату снимок заката):
Hubot поставляется с набором готовых скриптов для автоматизации самых популярных задач (некоторые примеры: перевод документов, интеграция с Google Maps, публикация изображений), но пользователи могут создавать новые скрипты или отдельные команды, «заточенные» под свои нужды.
GitHub, Raygun и Stripe
Мессенджер Kato умеет работать с десятками сервисов, и их число постоянно растет (на картинке внизу представлен небольшое подмножество этих сервисов — между буквами “D” и “K”):
В настоящий момент бесспорными лидерами по популярности среди пользователей Kato являются интеграции с GitHub и Raygun.
Интеграция с GitHub позволяет получать уведомления об основных событиях в проекте (например, о создании новой правки кода или добавления нового комментария к существующей проблеме).
Подключение сервиса Raygun, у которого есть встроенная интеграция с Kato, позволяет направлять в комнаты Kato оповещения об ошибках на сайте или в мобильных приложениях.
Одной из самых сложных в реализации интеграций стала работа с платежным сервисом Stripe — на то, чтобы совместить API этого проекта с Kato, ушло много времени и сил, но в результате пользователи могут видеть прямо в комнатах Kato уведомления от Stripe о состоянии продаж в своих онлайн-магазинах.
Интеграция с email
Как уже было сказано выше, общение сотрудников компании с внешним миром часто происходит с помощью электронной почты.
У каждой комнаты в Kato есть свой адрес электронной почты — его можно использовать для того, чтобы пересылать нужные сообщения прямо в конкретную комнату, и обсуждать это сообщение в чате уже всей командой.
Помимо этого, через email удобно осуществлять интеграции с разнообразными сервисами оповещений вроде syslog — когда генерируется очередной «сигнал тревоги», в нужную комнату поступает уведомление. Коме того, некоторые интеграции с мессенджером могут быть осуществлены исключительно через email (например, BitBucket Issues).
Как интегрировать свой проект с Kato
В Kato есть универсальный и простой интерфейс, позволяющий программно создавать сообщения в заданной комнате — HTTP POST API. С его помощью разработчики любых проектов могут написать простую «связку» своего сервиса с мессенджером Kato, и отправлять из своего сервиса сообщения прямо в комнаты Kato.
Например, сотрудники сервиса для получения обратной связи от клиентов UserEcho с помощью HTTP POST API интегрировали свой проект с Kato. В результате в комнаты Kato приходит сообщения о действиях пользователей в UserEcho.
Вся нужная информация — на одном экране
Интеграции позволяют превратить мессенджер в удобный инструмент для быстрого получения всесторонней информации о состоянии дел в организации, проекте, или команде. Пользователь Kato, получивший сообщение об ошибке на сервере прямо в чат, среагирует на него быстрее, чем если бы аналогичное уведомление было бы отправлено только по электронной почте — это подразумевается самой природой мессенджера.
Число сервисов, обладающих API для связи с другими проектами, постоянно увеличивается. Соответственно, функциональность таких мессенджеров как Kato будет постоянно расширяться за счет создания интеграций с новыми популярными инструментами. А значит, сотрудники множества компаний смогут работать более продуктивно и с бóльшим удовольствием.