TUTORIAL · POWER BI · SAL

Notificación automática en Teams

Celebra cierres comerciales sin intervención manual. Extrae la información del dashboard y publica un mensaje estructurado en el canal de ventas.

Power BI INTERMEDIO SAL Power BI Pro + Power Automate
Objetivo

Crearás un flujo que detecta cierres de grandes cuentas y publica una notificación automática y registro en Teams.

Al completar este tutorial habrás implementado un sistema de análisis activo en Power BI. Los tres resultados concretos que obtendrás:

  • Notificación automática en el canal de ventas cuando una cuenta supera el umbral
  • Plantilla de mensaje con datos clave del cliente y responsable asignado
  • Registro automatizado del cierre en el repositorio de ventas

Tiempo estimado: 30-45 minutos. Requisitos previos:

Obligatorio Licencia Microsoft 365 con Power BI Pro y Power Automate habilitados.
Obligatorio Dashboard de Power BI publicado en el servicio con un dataset que incluye estado de cierre, valor de la operación y nombre de la cuenta.
Recomendado Canal de Teams y equipo (Team) dedicado a notificaciones comerciales con permisos de publicación para el creador del flujo.
Recomendado Lista de SharePoint o fichero Excel en OneDrive para registrar automáticamente los cierres.

Caso Real

El problema que resuelve este tutorial

Mercalead Distribuciones (distribución mayorista)

El equipo comercial no celebra ni registra oportunamente cierres de grandes cuentas por dependencia de procesos manuales. La información relevante (importe, responsable, fecha) se queda en el dashboard sin acción automatizada.

Solución: Un flujo programado en Power Automate consulta el dataset de Power BI, detecta cuentas cerradas por encima de un umbral y publica un mensaje enriquecido en Teams mientras registra el evento.

Power BI centraliza métricas y medidas clave que permiten filtrar cierres y valores. Power Automate orquesta consultas periódicas y publica resultados en Teams, garantizando rapidez y trazabilidad sin intervención humana.

Clave directiva

Power BI Copilot no requiere conocimientos de DAX ni de modelado de datos para obtener respuestas analíticas de alto valor. El directivo puede interrogar el modelo semántico en lenguaje natural y obtener visualizaciones y narrativas automáticas en segundos.


Contexto

Cuándo usar este análisis

Úsalo cuando... No lo uses cuando...
  • Necesitas reconocimiento inmediato y registro cuando una venta supera un valor crítico
  • Tienes un dataset consolidado en Power BI con indicadores de cierre actualizados en la nube
  • Buscas integrar notificaciones con canales de equipo y mantener un registro automático
  • No usar si los cierres requieren validación manual obligatoria antes de comunicarlos
  • No usar si tus datos están únicamente en hojas locales sin sincronización al servicio
  • No usar si prefieres notificaciones individuales por correo en lugar de comunicación de equipo

Comparativa: Copilot vs Q&A vs Smart Narratives

Función Mejor para Requiere Output
Copilot Análisis exploratorio y resúmenes ejecutivos Licencia M365 Copilot Texto narrativo + visualizaciones sugeridas
Q&A Preguntas puntuales sobre métricas específicas Modelo semántico bien etiquetado Visualización automática
Smart Narratives Comentarios automáticos en informes estáticos Power BI Pro o superior Párrafo de texto dinámico
Key Influencers Análisis causal de factores de negocio Power BI Pro o superior Árbol de factores con peso estadístico

Paso 01

Preparar dataset y tarjeta en el dashboard

Verifica que el dataset contiene las columnas necesarias y crea una visualización clara que represente cierres por cuenta. Esta preparación facilita la consulta desde Power Automate.

  • 1
    Confirmar campos clave Asegure que el dataset tiene: AccountID, AccountName, CloseDate, CloseAmount, SalesOwner y CloseStatus (o equivalente). Sin estos campos no podrá filtrarse correctamente.
  • 2
    Crear medida de importe cerrado En el modelo, cree una medida DAX como TotalCloseAmount = SUMX(FILTER(Orders, Orders[CloseStatus] = "Cerrado"), Orders[CloseAmount]) para facilitar consultas agregadas.
  • 3
    Publicar y fijar visual Publique el informe en Power BI Service y fije en un dashboard una tarjeta o tabla con los cierres recientes. Esto facilita la visibilidad y la configuración de permisos.
Checkpoint: El servicio de Power BI muestra el dashboard con la visualización publicada y los campos necesarios en el dataset.

Paso 02

Crear flujo programado en Power Automate

Construya un flujo programado que consulte el dataset en busca de cierres recientes cuyo importe supere el umbral definido. El flujo iterará cada resultado y generará la notificación en Teams.

  • 1
    Nuevo flujo — Recurrencia En Power Automate cree un flujo automatizado o programado. Use el trigger 'Recurrence' y configure la frecuencia (por ejemplo, cada 15 minutos).
  • 2
    Ejecutar consulta contra el dataset de Power BI Añada la acción 'Run a query against a dataset' (Power BI). Seleccione el workspace y dataset, e introduzca una consulta DAX o M que devuelva las cuentas cerradas en el último intervalo y cuyo CloseAmount >= [UMBRAL_VALOR].
  • 3
    Procesar resultados y publicar en Teams Añada 'Apply to each' en Power Automate para iterar los resultados. Dentro del bucle, use 'Post a message in a channel' y seleccione el Team [EQUIPO_VENTAS_TEAM_ID] y el canal [CANAL_TEAM]. Formatee el mensaje con los campos AccountName, CloseAmount y SalesOwner.
Checkpoint: El flujo programado aparece en la lista y puede ejecutar la consulta; la acción de Teams está configurada con el equipo y canal correctos.

Paso 03

Ejecutar el prompt o configuración principal

Este es el prompt/configuración central del tutorial. Cópialo completo, rellena las variables entre corchetes con los datos de tu empresa o situación, y ejecútalo.

  • 1
    Copia el prompt o configuración completa Selecciona todo el texto y cópialo. No modifiques la estructura — está diseñado para obtener el output más útil posible.
  • 2
    Rellena las variables entre corchetes Sustituye cada [VARIABLE] con información real de tu empresa. Cuanto más específico seas, mejor será el resultado.
  • 3
    Ejecuta y espera el resultado Pega el prompt en Copilot o configura el flujo en Power Automate. El resultado puede tardar entre 10 y 60 segundos.
Variables del prompt — sustituye cada [VARIABLE] con datos reales
[EQUIPO_VENTAS_TEAM_ID]ID o nombre del equipo de Microsoft Teams donde publicar la notificación
[UMBRAL_VALOR]Importe mínimo que define 'gran cuenta' (ej.: 50000)
[CANAL_TEAM]Nombre del canal dentro del equipo de Teams para las notificaciones (ej.: 'Cierres')
Prompt principal — Notificación automática en Teams Configura un flujo en Power Automate que detecte cierres de grandes cuentas y publique una notificación en Teams. Requisitos: frecuencia de ejecución configurable (ej.: 15 minutos), consulta al dataset de Power BI que devuelva cuentas con CloseStatus = "Cerrado" y CloseAmount >= [UMBRAL_VALOR], y posteo en el canal [CANAL_TEAM] del equipo [EQUIPO_VENTAS_TEAM_ID]. Pasos precisos para crear el flujo: 1) Trigger: 'Recurrence' con frecuencia [FRECUENCIA] (reemplazar por 15m, 30m, 1h). 2) Acción: 'Run a query against a dataset' (Power BI). Seleccione el workspace y dataset que contienen Orders o Deals y use esta consulta DAX de ejemplo: EVALUATE FILTER( SUMMARIZE( Orders, Orders[AccountID], Orders[AccountName], "TotalClose", SUM(Orders[CloseAmount]), "LastCloseDate", MAX(Orders[CloseDate]), "Owner", MAX(Orders[SalesOwner]) ), [TotalClose] >= VALUE("[UMBRAL_VALOR]") && [LastCloseDate] >= (UTCNOW() - TIME(0, [FRECUENCIA_MINUTOS],0)) ) Reemplace [FRECUENCIA_MINUTOS] por el intervalo de la recurrencia en minutos. 3) Acción: 'Parse JSON' si la salida requiere esquema; pegue la muestra de salida para generar el esquema. 4) Acción: 'Apply to each' para iterar cada fila devuelta. Dentro del bucle añada: - Acción 'Post a message in a channel' (Microsoft Teams). Seleccione Team = [EQUIPO_VENTAS_TEAM_ID], Channel = [CANAL_TEAM]. Use esta plantilla de mensaje (copiable): "¡Cierre confirmado! Cuenta: @{items('Apply_to_each')?['AccountName']} \nImporte: @{items('Apply_to_each')?['TotalClose']} \nResponsable: @{items('Apply_to_each')?['Owner']} \nFecha: @{items('Apply_to_each')?['LastCloseDate']} \nDetalle: [enlace al informe]" 5) Opcional: Añada 'Create item' en SharePoint o 'Add a row' en Excel para registrar el evento. Campo Fecha = utcNow(), Monto = TotalClose, Account = AccountName, Owner = Owner, ReportLink = [URL_REPORTE]. 6) Manejo de errores: configure una rama de 'Configure run after' para capturar fallos y enviar notificación al administrador por correo. 7) Pruebe el flujo manualmente y mediante datos de prueba para validar contenido y permisos. Instrucciones operativas: - Asegúrese de que el conector Power BI y Teams están autenticados con credenciales que tengan permisos de lectura en el workspace y permisos de publicación en el Team. - Ajuste el DAX para su modelo (nombres de tablas y columnas). - Verifique límites de ejecución en Power Automate y la latencia de actualización del dataset. Resultado esperado: por cada cuenta que cumpla la condición, se publicará un mensaje en el canal [CANAL_TEAM] con los campos clave y se añadirá una entrada en el registro de ventas.
Checkpoint: El sistema ha respondido con un output estructurado que incluye las secciones solicitadas.

Paso 04

Probar, refinar y registrar

Valide el flujo con casos reales o de prueba. Ajuste el contenido del mensaje y añada manejo de errores y registros para operativa estable.

  • 1
    Ejecutar pruebas controladas Insertar registros de prueba que cumplan el umbral y comprobar que el flujo publica exactamente la información esperada en Teams y en el registro.
  • 2
    Añadir manejo de errores Configure ramas de control en Power Automate para capturar fallos de conexión, resultados vacíos o límites de API, y notificar al administrador si hay errores repetidos.
Checkpoint: Mensajes en Teams claros, log con cada evento y flujo estable sin errores frecuentes.

Output

Qué vas a obtener

El output devuelve una secuencia de registros: AccountName, AccountID, TotalClose, LastCloseDate, SalesOwner, ReportLink. Además genera el cuerpo del mensaje para Teams y una entrada lista para registrar en SharePoint o Excel.

Señal de que el output es correcto: Por cada cierre válido, aparece un mensaje correctamente formateado en el canal seleccionado y una fila correspondiente en el registro.

  • El mensaje de Teams contiene AccountName, TotalClose y SalesOwner El registro en SharePoint/Excel recibe una nueva fila por evento El flujo no presenta errores en las ejecuciones de prueba Los enlaces al informe funcionan y abren la vista filtrada

Prompts de iteración

Si el primer output no es exactamente lo que necesitas, usa estos prompts de refinamiento:

Hacer el output más específico
  • cuando el output es demasiado genérico. "Reformula las notificaciones incluyendo: tipo de producto, región de la cuenta, y enlace directo a la página del cliente en el CRM. Usa la plantilla existente y añade campos CRM_Link, Region y ProductCategory cuando estén disponibles."
Cambiar el nivel de detalle
  • cuando necesitas más o menos profundidad. "Genera dos versiones del mensaje: 1) Resumen ejecutivo de una línea para el Comité; 2) Versión extendida con métricas (MRR, ARR, margen esperado) y datos de contacto del responsable comercial."
Adaptar el tono
  • cuando el tono no es el adecuado para tu audiencia. "Reescribe el mensaje en tono formal para junta directiva, manteniendo los mismos datos. Luego reescribe en tono celebratorio y breve para el canal de ventas."
Versión ejecutiva resumida
  • para compartir con el Comité de Dirección. "Extrae un resumen ejecutivo único por día que liste las 3 mayores cuentas cerradas con importe y responsable, en formato tabla y con impacto estimado en el trimestre."
Señal de calidad

Un output de calidad en Power BI Copilot incluye siempre una explicación causal (por qué ocurre la variación), no solo descriptiva (qué ha ocurrido). Si el output solo describe, refina el prompt pidiendo explícitamente el análisis de causas.


ROI

Coste y retorno de inversión

incluido en M365 con Copilot Microsoft 365 Copilot / mes
10-60 segundos por ejecución (dependiendo del tamaño de la consulta) Por ejecución
Alto ROI estimado

Automatizar estas notificaciones reduce el tiempo de seguimiento manual y acelera la asignación de recursos post-cierre. El ahorro operativo y la mejora en la coordinación comercial suelen amortizar la implementación en pocas semanas para cuentas de alto valor.


Errores

Errores frecuentes y cómo resolverlos

Síntoma Causa probable Solución
El flujo falla en la acción 'Run a query against a dataset' Credenciales del conector Power BI sin permisos para el workspace o dataset Reautenticar el conector Power BI con una cuenta que tenga permisos de lectura en el workspace; en Power BI Service, compruebe roles y acceso al dataset.
No se publican mensajes en Teams Permisos insuficientes en el Team o canal incorrecto seleccionado Verifique que la cuenta usada por Power Automate puede publicar en el Team [EQUIPO_VENTAS_TEAM_ID] y que el canal [CANAL_TEAM] existe; reconfigure la acción con el Team y canal correctos.
La consulta devuelve cero filas aunque hay cierres Error en la lógica DAX o desajuste de nombres de columna/tablas Probar la consulta DAX en Power BI Desktop / servicio y ajustar nombres de tablas y columnas; usar una consulta simple para validar datos antes de filtrar por umbral.
Mensajes con campos vacíos o nulos La acción 'Parse JSON' no tiene el esquema correcto o la salida cambia de formato Vuelva a ejecutar el flujo para obtener una muestra de salida y actualice el esquema de 'Parse JSON' con la muestra actual; use expresiones seguras para campos nulos.
Ejecuciones lentas o tiempo de espera Consulta demasiado pesada o dataset sin agregaciones adecuadas Optimice la consulta DAX agregando índices/medidas precalculadas, reduzca el intervalo de muestreo o aumente la frecuencia de actualización incremental del dataset.
Precaución

Copilot en Power BI requiere que el modelo semántico esté bien etiquetado (nombres de columna descriptivos, jerarquías de fechas correctas, medidas con nombres de negocio). Un modelo mal documentado produce respuestas incorrectas o incompletas, independientemente de la calidad del prompt.


Avanzado

Modo avanzado: llevar este tutorial más lejos

El modo avanzado usa consultas parametrizadas, llamadas a la API de Power BI y tarjetas adaptativas en Teams para maximizar la información del cierre. Permite filtrar por productos, región y cliente, y genera un informe paginado o enlace filtrado al informe principal.

Cuándo es especialmente valioso: Es especialmente valioso cuando se requiere información enriquecida (productos, margen, región) en la notificación y cuando se desea integración con CRM y trazabilidad para auditoría.

  1. 1
    Habilitar la API de Power BI y crear un registro de aplicación para autenticación con permisos de lectura
  2. 2
    Diseñar consultas DAX parametrizadas que devuelvan información extendida (productos, margen, oportunidades relacionadas)
  3. 3
    Construir tarjetas adaptativas en JSON para Teams con botones de acción (abrir informe, asignar tarea)
  4. 4
    Registrar eventos en un almacén central (SharePoint/SQL) y exponer un reporte paginado para auditoría
Configuración avanzada Actúa como ingeniero de Power BI y Power Automate. Configura un flujo avanzado que: 1) Autentique con la app registrada en Azure AD para usar la API de Power BI; 2) Ejecute una consulta DAX parametrizada que recupere AccountID, AccountName, TotalClose, ProductCategory, Region, SalesOwner y Margin estimado para registros con CloseStatus='Cerrado' y CloseAmount >= [UMBRAL_VALOR] en el periodo [PERIODO]; 3) Genere una tarjeta adaptativa JSON con campos clave y botones: 'Abrir informe filtrado', 'Asignar seguimiento' y 'Registrar nota'; 4) Publique la tarjeta en el canal [CANAL_TEAM] del Team [EQUIPO_VENTAS_TEAM_ID]; 5) Inserte un registro en la lista de SharePoint con campos normalizados; 6) Si la consulta devuelve más de 10 resultados en una ejecución, envíe un resumen ejecutivo al manager del área en lugar de múltiples tarjetas. Devuelve: a) JSON completo del flujo con acciones y expresiones necesarias; b) DAX final parametrizado listo para ejecutar; c) plantilla JSON de tarjeta adaptativa lista para pegar en la acción de Teams.

Siguiente paso: Una vez operativo, configure un informe semanal que agregue todos los cierres notificados y mida el tiempo medio entre cierre y primera acción post-venta para mejorar la experiencia del cliente.