Bots para Workplace

Crear bots para Workplace en grupos y en chats

Información general

Gracias a las integraciones personalizadas para Workplace, ahora es posible crear bots potentes que pueden interactuar con las personas en grupos y chats.

Puedes crear un bot que publique automáticamente contenido en grupos, que brinde información adicional al responder preguntas, o que realice acciones cuando se lo menciona en los comentarios de una publicación. También puedes crear bots que conversen con las personas de Work Chat, que brinden información en tiempo real y que gestionen solicitudes con elementos de conversación estructurados como, por ejemplo, respuestas rápidas y menús persistentes.

Necesitarás un rol de administrador del sistema a fin de crear un bot para tu comunidad.

Si no eres administrador de tu comunidad de Workplace, es necesario que trabajes con un administrador para crear un bot.

Bots representados como páginas

Como sucede en la plataforma de Messenger, los bots se representan en Workplace como páginas. Se crea automáticamente una app de integración personalizada. Las personas de tu comunidad de Workplace pueden descubrir tu bot e interactuar con él a través de esta página.

Las páginas de bots son públicas, por lo que cualquier miembro de la comunidad de Workplace puede ver, etiquetar y enviar mensajes al bot. Sin embargo, según el nivel de permiso que seleccionas al crear tu bot, es posible que no pueda ver e interactuar con todo el contenido de Workplace.

Por ejemplo: si tu bot tiene un permiso Leer contenido del grupo, podrá ver el contenido de los grupos. No obstante, si no tiene el permiso para publicar en grupos, el bot no podrá responder al contenido de ningún grupo.

Asimismo, las personas solo podrán encontrar tu bot y enviarle mensajes en Work Chat si cuenta con permiso Enviar mensajes a cualquier miembro.

Bots en grupos

En los grupos, los bots pueden hacer muchas de las cosas que pueden hacer las personas. Puedes construir bots que publiquen contenido nuevo, comenten el contenido proporcionando información nueva e indiquen que les gusta una publicación para expresar reconocimiento o aprobación.

Los bots también pueden @mencionar gente para atraer su atención y ser @mencionados para dar inicio a un flujo de trabajo específico o responder una pregunta.

Por último, los bots pueden suscribirse a grupos y @mencionar a webhooks, que permiten supervisar el contenido e interactuar con los usuarios de manera flexible.

Bots en chats

Cuando los bots están en grupos, pueden consumir y compartir información de forma asíncrona con un grupo de personas; los bots en chats son ideales para lograr una interacción directa en tiempo real con una persona en particular o con un determinado grupo de personas.

Por ejemplo: Se puede utilizar un bot de chat para enviar a alguien recordatorios o notificaciones importantes en referencia a un evento próximo como una entrevista o una reunión. También pueden utilizarse los bots en Work Chat para entablar una conversación con un usuario y tomar medidas de seguimiento según los comentarios recibidos.

Este modelo de interacción se basa en los mismos conceptos implementados en la plataforma de Messenger. En consecuencia, los bots de Work Chat pueden utilizar funciones como, por ejemplo, menús persistentes, respuestas rápidas y plantillas para mejorar la experiencia del usuario.

Bot para chat de usuarios

Si un bot tiene permiso de enviar mensajes a cualquier miembro, podrá enviar mensajes directos a cualquier persona en Workplace mediante su dirección de correo electrónico o a su identificador de Workplace mediante la API de envío de Messenger.

Un bot en el cuadro de sugerencias de un nuevo mensaje

El permiso Enviar mensajes a cualquier miembro también permite que el bot aparezca en los cuadros de sugerencias en las áreas de chat de Workplace.

Un bot en el cuadro de sugerencias de un nuevo mensaje

Al suscribirse a webhooks de mensaje de la página, tu bot también recibirá una notificación cuando el usuario envíe un mensaje al bot, lo que te permitirá entablar una conversación fluida combinando el envío y la recepción de mensajes.

Un bot para conversaciones con usuarios

Bot para chat de grupo

Cuando un bot tiene los permisos Enviar un mensaje a cualquier miembro y Bot de chat en grupo, puede crear, administrar y agregarse a las conversaciones de chat en grupo de varios personas. Los bots pueden crear nuevas conversaciones en grupo especificando la lista de destinatarios y pueden cambiar el nombre de las conversaciones para armar debates por chat con determinadas personas sobre temas específicos.

Una conversación con nombre con personas determinadas creada por un bot.

Al activar la asistencia del chat de grupo, tu bot se mostrará en los cuadros de sugerencias Agregar personas de una conversación del chat de grupo existente. Luego el bot recibirá webhooks para cada mensaje que haya enviado la gente en esa conversación y podrá responder a esa conversación usando su thread ID.

Agregar un bot a un chat de grupo y luego @mencionar al bot.

Crear nuevas conversaciones con nombre

Para crear una nueva conversación con destinatarios específicos, realiza una solicitud POST al punto de conexión /me/messages y especifica un matiz de recipient IDs y una carga inicial message como se indica a continuación:

POST /me/messages
{
  "recipient": {
    "ids": [<user_ids>]
  },
  "message": <message_payload>
}

Recibirás una respuesta de carga que incluye un thread ID, que puedes utilizar para los mensajes de seguimiento.

Se creará una nueva conversación si vuelves a utilizar el mismo punto de conexión con la misma lista de destinatarios. Para enviar mensajes de seguimiento en una conversación ya creada, haz una solicitud POST en el punto de conexión /me/messages utilizando un thread_id en la carga recipient, como se describe a continuación:

POST /me/messages
{
  "recipient": {
    "thread_key": <thread_id>
  },
  "message": <message_payload>
}

Para cambiar el nombre de una conversación creada con un bot, haz una solicitud POST en el perímetro /{thread}/threadname de la siguiente manera:

POST /t_<thread_id>/threadname
{
  "name": "new name"
}

Recuerda que es necesario agregar al thread_id el prefijo "t_" en la ruta del perímetro.

También puedes agregar y eliminar participantes de las conversaciones con POST o con solicitudes DELETE en el perímetro /{thread}/participants de la siguiente manera:

POST t_<thread_id>/participants
{
  "to": [<user_ids>]
}

DELETE t_<thread_id>/participants
{
  "to": [<user_ids>]
}

Ten en cuenta que las operaciones en el perímetro /{thread}/participants están disponibles para las conversaciones que creó la integración.

Menciones en una conversación

Cuando se menciona un bot en un mensaje, nuestros webhooks enviarán la lista de miembros etiquetados en dicho mensaje como se muestra en la siguiente carga:

{
    "object":"page",
    "entry":[{
        "id":"746230239054322",
        "time":1539281406974,
        "messaging":[{
            ...
            "message":{
                "mid":"<message id>",
                "seq":2192,
                "text":"@Edu Gomes @Example Bot What's 2+2?"
            },
            "mentions":[{
                "offset":0,
                "length":10,
                "id":"100017376437045"
            },
            {
                "offset":11,
                "length":12,
                "id":"746230239054322"
            }]
        }]
    }]
} 

Socios de plataformas de bots

Workplace cuenta con un variedad de socios de plataformas de bots, que le brindan asistencia a los bots en Workplace. Puedes ver una lista de estos socios aquí. Puedes utilizar alguna de estas plataformas para crear un bot potente sin necesidad de escribir ni una sola línea de código.

Prácticas recomendadas

Utilizar el canal adecuado

Cuando debas decidir si es preferible crear interacciones en un grupo o en un chat para tu bot, es importante que consideres cuál será el lugar en el que el bot resultará de mayor utilidad.

  • Si creas un bot con el que interactuarán varias personas al mismo tiempo o uno que publique contenido para vean muchas personas, lo más recomendable será crear un bot que publique en grupos y que responda a los comentarios y a las menciones que se hagan en las publicaciones en grupos.
  • Si creas un bot que debe alertar a alguien de algo inmediato, algo que probablemente requiera de seguimiento, o algo con lo que la gente debe interactuar en privado, deberías brindar asistencia a tu bot en las conversaciones en Work Chat.

Una única app puede gestionar ambos canales. Es posible que haya veces en las que, por ejemplo, se necesita que tu bot del servicio de ayuda tome mensajes en Work Chat, y otras, en las que es necesario publicar en grupos y recopilar las respuestas.

Enlaces profundos a bots

Usa el formato de enlace https://w.m.me/{page-id} para crear un enlace directo a un bot de chat en Workplace. Se encuentra disponible en estos momentos en Workplace Chat cuando se usa la web, Android e iOS. En plataformas para celulares en las que está instalada la app de Workplace Chat, el enlace se abrirá directamente en la app.

Parámetros de referencia

También se puede usar un parámetro de referencia para incorporar más información al enlace. Esto podría, por ejemplo, permitir al bot realizar acciones personalizadas basadas en qué usuario hizo clic el usuario para llegar al bot.

Para usar esta función, utiliza el formato de enlace https://w.m.me/{page-id}?ref={referral_parameter}. Se implementó esta función de la misma manera que en la plataforma de Messenger. Para obtener más detalles, consulta los documentos de la plataforma de Messenger.

El campo de webhook correspondiente es messaging_referrals y requiere de una nueva suscripción. Anteriormente, no era un campo de webhook que estaba disponible para las apps con Workplace, pero ahora así puedes suscribirte de la forma habitual.

La carga del webhook presenta el mismo formato que Messenger, con las diferencias comunes: Workplace utiliza identificadores específicos para la app y no para la página. Asimismo, Workplace proporciona un campo "Comunidad", que lleva el identificador de la comunidad.

Interacciones con grupos

Una vez que tu app esté suscripta a webhooks, tu bot recibirá notificaciones cuando se lo mencione en una publicación o en un comentario de un grupo. Es importante que el bot responda a las menciones de manera oportuna. Si debe procesar una solicitud antes de responder, resulta útil indicar que te gusta el comentario para indicarle a la persona que el bot sabe que se lo mencionó.

Luego, si brindas información después de que te mencionaron en un comentario, agrega una respuesta en cadenas para mantener fluido el resto de la conversación en grupo.

Si tu bot necesita proporcionar información a la persona que hizo la publicación, agrega un comentario en la misma publicación para que también reciba una notificación.

Interacciones en chats

Las interacciones de bots en Work Chat admiten una funcionalidad similar a la de la plataforma de Messenger. Por ejemplo, botones y plantillas de respuesta rápida que te ayudan a implementar árboles de decisiones en conversaciones de bots.

Esto simplifica la creación de flujos de trabajo útiles y reduce la cantidad de texto que debe escribir la gente, sin que sea necesario, además, un procesamiento sofisticado de lenguajes naturales, lo que hace más simple la internacionalización si se necesitan crear bots para empleados de todo el mundo.