Saltar al contenido principal

Aplicación de Slack

Su agente en un espacio de trabajo de Slack, respondiendo en el hilo. Cada evento se verifica antes de convertirse en una ejecución.

Una conexión de Slack sirve a un solo agente y responde con la versión fijada en el despliegue de Slack live de ese agente. Las menciones y los mensajes directos llegan por la Events API de Slack, el agente responde en el hilo y la conversación se queda donde el equipo ya trabaja. La integración con Slack forma parte de la edición Community.

Conectar un espacio de trabajo​

Rikoo es autoalojado, así que no existe una aplicación central de Rikoo que instalar: cada empresa declara su propia aplicación de Slack. Slack debe poder alcanzar su instancia en una dirección HTTPS pública.

  1. Cree una aplicación de Slack para su espacio de trabajo, instálela y guarde su token de bot (xoxb-…) y su secreto de firma en la pantalla Secrets.
  2. En la página del agente, abra la pestaña Deploy y haga clic en Manage the connection (gestionar la conexión) en la tarjeta Slack. Elija Manual token (token manual), seleccione los dos secretos y guarde.
  3. El diálogo muestra entonces la dirección que debe declararse en Slack (Event Subscriptions, Request URL). Es propia de esta conexión. Configúrela en su aplicación, junto con los alcances y los eventos del manifiesto que ofrece el diálogo (App manifest, ready to paste).
  4. Haga clic en Check the connection (comprobar la conexión). El worker comprueba el token, y el estado pasa a connected, con el nombre del espacio de trabajo.
  5. Invite al bot a los canales en los que debe responder (/invite @su-bot). Slack no entrega nada de un canal del que el bot no sea miembro.
  6. Con el entorno live seleccionado, active el interruptor Slack de la pestaña Deploy.

El diálogo solo guarda referencias a los secretos de la bóveda, y el servidor de API nunca los descifra. Un bot habla en nombre de un solo agente: un segundo agente necesita una segunda aplicación de Slack.

Slack solo se sirve desde live

Un espacio de trabajo no tiene un entorno de pruebas propio, así que un despliegue de Slack test no tiene efecto. Lo que responde en Slack es siempre la versión fijada en live, la que ha evaluado un control de publicación cuando los controles están en uso. Pruebe una versión en el Playground.

A quién responde el bot​

El despliegue de Slack lleva el comportamiento del bot. Por defecto, el bot responde a las menciones en los canales y a los mensajes directos, en todos los canales a los que se le ha invitado, e ignora a los demás bots, ya que dos bots que se responden entre sí entrarían en un bucle sin fin. Una vez que el bot ha respondido en un hilo, el hilo continúa sin una nueva mención.

Verificado a la entrada​

Cada petición se verifica

Slack firma cada entrega. El endpoint público acusa recibo de inmediato y entrega el cuerpo en bruto al worker, que comprueba la firma y una ventana de marca de tiempo de cinco minutos, y luego descarta los eventos ya vistos. Una petición que no supera la comprobación nunca se convierte en una ejecución. El endpoint responde igual exista o no la conexión, así que no revela nada a quien lo sondee.

Una nota sobre la limitación de tasa​

El endpoint de entrada nunca se limita por la dirección que llama. En Slack, una dirección lleva el tráfico de miles de clientes: limitarla cortaría tráfico legítimo, y Slack marca como defectuoso un endpoint que responde 429 de forma repetida. El límite se indexa sobre la conexión a la que se llama, de modo que un identificador falsificado solo agota su propio presupuesto.

Lo que recibe el agente​

Texto, y los archivos publicados en la conversación. Los archivos pasan por la misma política de admisión que el widget y la API, con los mismos tipos y los mismos límites de tamaño. Un archivo rechazado se le indica al agente, que se lo dice al usuario. Todo lo que viene de Slack es contenido no confiable y se enmarca como tal: un mensaje de un colega es un dato, no una instrucción. Las respuestas son solo texto, sin botones interactivos.