Enviar un mensaje a Microsoft Teams cuando se añade un registro

Idioma: Español
Este artículo se ha traducido del inglés mediante IA y puede contener errores. Sus comentarios nos ayudarán a mejorar.

En este tutorial configuramos una automatización que publica un mensaje en un canal de Microsoft Teams cada vez que se añade un nuevo registro a un formulario, directamente desde ActivityInfo, sin ningún servicio intermediario. Utiliza el paso de webhook integrado de ActivityInfo para publicar el mensaje.

Asumimos el rol de un coordinador cuyo equipo trabaja en un canal de Teams. El equipo realiza un seguimiento de los proyectos en un formulario de Proyectos y quiere que cada nuevo proyecto enviado se anuncie en el canal a medida que llega.

Lo que necesita

  • Un formulario para supervisar. El nuestro es un formulario de Proyectos con un campo de texto Nombre del proyecto con el código NAME y un campo de referencia Asociado con el código PARTNER, pero cualquier formulario servirá; ajuste las referencias de los campos a los suyos.
  • Permiso para diseñar la base de datos en ActivityInfo.
  • Un canal de Microsoft Teams y permiso para añadirle un flujo de trabajo. Teams recibe webhooks a través de la aplicación Workflows (los antiguos conectores "Incoming Webhook" de Office 365 han sido retirados por Microsoft).

Hacemos referencia a los campos por su código en todo momento (NAME en lugar de [Nombre del proyecto]). Si sus campos | aún no tienen códigos, tómese un minuto para añadirlos en el diseñador de formularios: los códigos mantienen las plantillas legibles y | sobreviven a los cambios de etiqueta.

Paso 1: Crear un flujo de trabajo de webhook en Microsoft Teams

  1. En Teams, vaya al canal que debe recibir los mensajes y haga clic en (Más opciones) junto al nombre del canal y seleccione Workflows.

    Workflows
    Workflows
  2. Elija la plantilla de webhook, llamada "Send webhook alerts to a channel" o "Post to a channel when a webhook request is received", dependiendo de su versión de Teams.

    Send webhook alerts to a channel
    Send webhook alerts to a channel
  3. Seleccione el "Equipo" y el "Canal".

    Team and Channel
    Team and Channel
  4. Copie el enlace del webhook.

    Copy webhook link
    Copy webhook link

Paso 2: Añadir la automatización

  1. En ActivityInfo, abra la base de datos, seleccione la Configuración de la base de datos.

    Database Settings
    Database Settings
  2. Seleccione el formulario Proyectos y, a continuación, seleccione Automatizaciones en el panel de detalles del formulario.

    Automations
    Automations
  3. Seleccione Añadir automatización y póngale el nombre "Anunciar nuevos proyectos en el chat de Teams".

    Add automation
    Add automation
  4. Seleccione Haga clic aquí para empezar y elija el desencadenador Cuando se añade un registro.

    On record added trigger
    On record added trigger
  5. Etiquete el desencadenador y Seleccionar formulario.

    Label the trigger
    Label the trigger
  6. Elija el formulario Proyectos y Seleccionar formulario.

    Select Projects form
    Select Projects form
  7. Seleccione Está hecho.

    Done
    Done

Paso 3: Añadir el paso de webhook

  1. Seleccione Añadir paso.

    Add new step
    Add new step
  2. Seleccione Acción.

    Action
    Action
  3. Seleccione Ejecutar webhook.

    Fire webhook
    Fire webhook
  4. Ponga una etiqueta al paso, por ejemplo "Publicar en el canal de Teams".

  5. Pegue la URL del flujo de trabajo de Teams en el campo URL de webhook.

  6. Establezca el Formato de carga útil en Personalizado, para que podamos escribir exactamente el cuerpo del mensaje que espera el flujo de trabajo de Teams.

    Label, webhook and payload format
    Label, webhook and payload format

Paso 4: Escribir el mensaje

  1. Seleccione Editar carga útil.

    Edit payload
    Edit payload
  2. Ingrese el cuerpo del mensaje. El flujo de trabajo de Teams acepta Tarjetas Adaptables, que pueden contener encabezados, texto en negrita, datos, columnas y botones que enlazan de nuevo con ActivityInfo. Diseñe la tarjeta, luego péguela en el editor de carga útil envuelta en un sobre de mensaje, añadiendo referencias ${...} donde pertenecen los valores del registro:

    El texto de la Tarjeta Adaptable representa los **dobles asteriscos** como negrita.

    {
         "type": "message",
         "attachments": [
           {
             "contentType": "application/vnd.microsoft.card.adaptive",
             "content": {
               "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
               "type": "AdaptiveCard",
               "version": "1.4",
               "body": [
                 {
                   "type": "TextBlock",
                   "size": "Medium",
                   "weight": "Bolder",
                   "text": "Nuevo proyecto enviado"
                 },
                 {
                   "type": "TextBlock",
                   "text": "**${NAME}** por ${PARTNER.NAME}, añadido por ${_user.name}",
                   "wrap": true
                 }
               ]
             }
           }
         ]
       }
    
    Custom payload editor
    Custom payload editor
  3. Seleccione Está hecho para cerrar el editor de carga útil, y Está hecho de nuevo para cerrar el paso.

    Complete configuration
    Complete configuration
  4. Seleccione Guardar. La automatización está ahora activa.

    Save automation
    Save automation

Paso 5: Probar

  1. Añada un registro de prueba al formulario de Proyectos.

    Add record
    Add record
  2. En unos instantes, el mensaje aparece en el canal de Teams con los detalles del proyecto rellenados.

    ActivityInfo notification received in Microsoft Teams
    ActivityInfo notification received in Microsoft Teams

Para ir más allá

  • Anunciar sólo algunos proyectos: añada un paso de filtro entre el desencadenador y el webhook; por ejemplo, CONTAINS(SECTORS, "Salud") para anunciar sólo los proyectos del sector de la salud.
  • Anunciar cambios de estado en su lugar: utilice el desencadenador Cuando se edita el registro con el filtro STATUS != _previous.STATUS, e incluya ambos valores en el mensaje: ${_previous.STATUS} → ${STATUS}.

Artículos relacionados

Siguiente elemento
Desencadenador: Cuando se añade un registro