Slack: ¿cómo integrarlo con nuestro sitio web?

Logo Slack

Slack es, sin lugar a dudas, una de las aplicaciones que más me ha sorprendido en los últimos años. Con millones de usuarios activos tras dos años de vida, ha conseguido convertirse en imprescindible para la comunicación interna de miles de empresas. Entre sus mayores fortalezas está la facilidad que proporciona para las integraciones de terceros.

Una de las razones por las que está consiguiendo tal grado de penetración en el mercado es su gran abanico de integraciones con aplicaciones de terceros, como Trello, Bitbucket, GitHub, Twitter, Google Calendar… Pero es que además su API es tan potente y sencilla que permite a cualquier desarrollador hacer integraciones a medida con su aplicación web en pocos minutos.

Slack es fundamentalmente una plataforma de intercambio de mensajes, y como tal, la principal utilidad de integrar con ella nuestras aplicaciones es la notificación de eventos en tiempo real. Eventos pueden ser cosas tan dispares como la finalización de una venta, la creación de un lead, la recepción de un mensaje a través del formulario de contacto, un error detectado en nuestro sitio web… En definitiva, cualquier evento que se os ocurra y podáis capturar en vuestro sitio web.

Caso práctico: uso de Slack para reporting en Mamicenter

Una de las primeras tareas que llevé a cabo tras entrar en el equipo de Mamicenter fue precisamente una integración con Slack. Concretamente se trataba de una integración para notificar diariamente la evolución de aquellos KPIs que consideramos más importantes para medir nuestro nivel de crecimiento. He de decir que había leído que hacer este tipo de integraciones era sencillo, pero aún así quedé sorprendido.

Lo primero que tenemos que hacer es configurar, con permisos de administración, en nuestro equipo de Slack Incoming Webhooks, que es la integración que nos proporciona la API de Slack para enviar mensajes desde fuera de la aplicación. Una vez hecho, hay que obtener la URL destino a la cual tenemos que postear los mensajes desde nuestro servidor, que se obtiene en nombredetuequipo.slack.com/services/new/incoming-webhook, seleccionando el canal en el cual queremos publicar los mensajes . La URL que obtendremos será del tipo hooks.slack.com/service/X/Y/Z, con X, Y, Z cadenas alfanuméricas.

Una vez tenemos el destino al cual realizar la petición, el siguiente paso es determinar qué información queremos enviar. La API de Slack necesita que le proporcionemos en formato json el canal en el que que queremos que dicho mensaje sea publicado, el nombre del autor del mensaje, un emoji para vincular al autor y, por supuesto, el mensaje en sí a notificar.

En el caso de mamicenter.com, tenemos un canal específico para el reporting, y es “reportBot” el encargado de contarnos día tras día  qué tal lo estamos haciendo. Tenemos tres niveles de reportes: diario, semanal y mensual, lo que nos permite tener una visión panorámica de nuestros resultados prácticamente en tiempo real, lo cual es increíblemente útil para tomar decisiones rápidas en el voluble día a día de una startup.

En mamicenter.com utilizamos PHP en nuestro backend, sin embargo se puede integrar con cualquier lenguaje de programación que nos permita hacer llamadas a una API externa. Os dejo el código de cómo lo hacemos:

El resultado, cada día recibimos un reporte personalizado como este:

reportbot

Más información, en la documentación oficial de la API de Slack: https://api.slack.com/incoming-webhooks

Uso de cookies

Este sitio web, como todos, utiliza cookies. Si continúas navegando por la web estás dando tu consentimiento para la aceptación de la política de cookies de este sitio web. ACEPTAR

Aviso de cookies