
Ejercicios nivel básico
Carga de archivo Excel y lectura
* Entrar en [powerautomate.com](http://powerautomate.com) y, después de identificaros con cuenta de Microsoft, seleccionar “Mis flujos”.
Creamos el primero.
Ejemplo de nombre: **Llevar datos de un Excel a otro con condiciones y ODATA**
* Bajad este archivo de Excel de ejemplo y ponedlo en OneDrive, en alguna carpeta a la que Power Automate pueda acceder:
**Consumo\_Energetico\_Ejemplo.xlsx**
* Para ello:
* Abrid [onedrive.com](https://onedrive.com) con el mismo login que habéis abierto Power Automate
Entrad en la carpeta y subid el archivo Excel.
Resultado:
Ahí tenemos un Excel con una tabla llamada `Table1`.
Ahora abrid la pestaña donde está Power Automate y pulsad en el signo “+”.
En «Ver más» tenéis todos los bloques de Excel. Seleccionad:
Ahora configuremos el módulo:
Seleccionad OneDrive para buscar el archivo:
En “Bibliotecas de documentos” pulsamos en “Documentos”.
En “Archivo” buscamos la carpeta creada y el archivo correspondiente.
Si no detecta el valor de la `Table1`, poned el valor a mano.
Aseguraos siempre de que estáis conectados con vuestra cuenta:
Al pulsar en “Mostrar Todo”, os aparecerán opciones para filtrar, ordenar y seleccionar qué datos queréis leer del Excel.
En el campo de «Número de entradas» ponemos 20, ya que para hacer pruebas solo se usarán los 20 primeros registros (así irá más rápido).
Pulsamos en “Guardar”, esperamos y después en “Probar”, para verificar que no hay errores y todo sale bien:
Todo OK, vuelvo a editar:
Incluimos un módulo “Redactar” (*Compose*, en inglés) para leer el valor de las variables que voy teniendo en el flujo:
Le digo qué variable quiero leer:
Selecciono **consumo**:
Al hacerlo, se añade automáticamente un **for each**:
Flujo paralelo con condición simple
Ahora creamos un flujo paralelo en este punto, con el botón derecho del ratón:
Y añadimos de nuevo el componente de Excel, pero sin filtro ODATA:
Añadimos un elemento de control, el de Condición:
Se añadirá un For Each automáticamente, y me permitirá seleccionar con el rayo la variable que quiero condicionar:
Selecciono Tipo de Energía y pongo el valor Gas Natural así:
El segundo flujo lee los 256 registros de la primera página para buscar la condición; el primero ya había filtrado antes los 171.
Si queremos que lo lea todo, no solo los primeros 256, hay que activar la paginación:
Y termina antes, claro:
Si añadimos variables Redactar (Compose) para ver lo que se lee en cada registro, aparece el dato correcto:
Escritura de una tabla a otra
Ahora eliminamos el flujo de la derecha y nos quedamos solo con el de ODATA,
para escribir en otra tabla (Tabla2) los resultados.
En el Excel hay una segunda tabla:
En nuestro flujo eliminamos el de la derecha con el botón derecho del ratón:
Nos quedamos así:
Añadimos el módulo Agregar filas a una tabla:
Pero esta vez seleccionamos la Tabla2:
Pulsamos en Mostrar todo e identificamos los campos de la nueva tabla:
Ahora pulsamos en el rayo y seleccionamos las fuentes de los datos
(la Tabla 1, ya filtrada con el ODATA de antes):
Guardamos, probamos, y veremos cómo nuestro Excel se va rellenando:
También podemos pedir que haga la copia de 20 en 20, en lugar de en uno en
uno; para ello hay que ir a la configuración del For EACH:
Condiciones múltiples (Switch)
Eliminamos el filtro ODATA para que lo lea todo (los 256 registros; no hace
falta leer los 500, por lo que, si tenéis la configuración de Enumerar
filas para leerlo todo, quitadla).
Seleccionamos, dentro de Control, el bloque Modificador:
Le decimos que use como fuente de datos la variable adecuada del Excel
superior:
Pulsamos en Agregar caso y definimos qué queremos que ocurra cuando
se cumpla:
Seleccionamos en el primer caso Gas Natural (sin comillas) y
arrastramos el componente inferior con la acción deseada:
Cambiamos el nombre del componente para que quede claro lo que hace y añadimos
dos casos más (por ejemplo, con un componente Redactar / Compose):
Tras configurar todos los casos, el flujo quedará así:
Al ejecutarlo obtenemos el siguiente resultado:
Podemos verificar con un componente Redactar que los valores
procesados son correctos:
Formulario de entrada a Excel
Creamos un nuevo flujo instantáneo:
En el primer paso definimos los campos de entrada tomando como referencia una tabla existente en Excel:
Ponemos las entradas de la Tabla 2, por ejemplo:
Si no aparecen las columnas, pulsa en Ver más para desplegar todas las opciones.
Añade ahora un componente Agregar una fila a una tabla y, con el icono del rayo, mapea cada campo con su correspondiente columna de la Tabla 2:
Guarda y ejecuta el flujo; aparecerá un formulario de entrada para introducir los datos:
Introduce los valores y verás cómo se guardan automáticamente en el Excel, aplicando el formato de fecha correcto:
Añadimos una variable de consumo extra:
Y otra de coste extra; después añadimos una segunda fila con esos valores:
Ahora vamos a añadir un registro con la suma de dos datos usando función de suma
Añadimos esta función, o se la pedimos a copilot:
Si todo está bien, verás los valores sumados sin errores:
Con esto queda añadida la lógica adicional al formulario:
Explicado en vídeo:
Ejercicios:
- 1 – Haz una calculadora que sume, reste, multiplique y divida dos números, pero ten en cuenta que para dividir, hay que transformar las variables en tipo decimal (float)
- En el formulario de entrada podemos especificar variables de tipo true/false. Haz una calculadora que, en caso de que se indique «sumar» sume dos variables, pero en caso de que no sea así, haga la resta.
Ejercicios nivel Intermedio
De Microsoft forms a Excel
El proceso es muy parecido al anterior, pero ahora la fuente no es el formulario de un flujo instantáneo, es un flujo que se activa solo cuando entra un formulario de Microsoft
Mirad cómo funciona en este vídeo:
Ahora haced un flujo que meta los resultados de un Microsoft Forms a una tabla de excel
Copia de archivos
hacer una copia de dicho archivo en otra carpeta, avisar por email que la copia se ha realizado, y si el nombre del archivo subido es «finanzas», guardar los datos del archivo en un excel (nombre, ruta de acceso, hora…)
Automatización de solicitudes y aprobaciones
- Disparador: Cuando se recibe una nueva respuesta en un formulario de Microsoft Forms llamado «Solicitud de Compra».
- El formulario debe incluir campos como: Nombre del solicitante, Email del solicitante, Departamento, Producto solicitado, Cantidad y Justificación.
- Acciones:
- Inicializar una variable de tipo string llamada EstadoSolicitud y asignarle el valor «Pendiente».
- Obtener los detalles de la respuesta del formulario.
- Registrar la solicitud en una tabla de Excel Online. El archivo de Excel debe contener columnas para todos los campos del formulario, además de una columna para el Estado de la solicitud y la Fecha de solicitud.
- Usar una condición:
- Si la Cantidad es mayor a 10, enviar un correo de aprobación por correo electrónico a un gerente (puedes usar tu propio correo para la prueba).
- Si el gerente aprueba:
- Actualizar la fila correspondiente en el Excel a «Aprobado».
- Enviar un correo de notificación al solicitante informando que su compra fue aprobada.
- Si el gerente rechaza:
- Actualizar la fila en Excel a «Rechazado».
- Enviar un correo de notificación al solicitante indicando el rechazo y el motivo (extraído de los comentarios de la aprobación).
- Si la cantidad es 10 o menos (la condición inicial es falsa), se aprueba automáticamente:
- Actualizar la fila en Excel a «Aprobado automáticamente».
- Enviar un correo de notificación al solicitante.
Gestión de comentarios de clientes
- Disparador: Al recibir una nueva respuesta en un formulario de Microsoft Forms de «Feedback de Cliente».
- Campos: Nombre del cliente, Correo electrónico, Tipo de feedback (menú de opciones: «Queja», «Sugerencia», «Felicitación»), y Comentario.
- Acciones:
- Inicializar una variable de tipo entero (integer) llamada NivelPrioridad.
- Obtener los detalles de la respuesta.
- Guardar la respuesta en una tabla de Excel Online para tener un registro histórico.
- Usar una condición «Switch» (Modificador) basada en el campo Tipo de feedback:
- Caso «Queja»:
- Establecer la variable NivelPrioridad en 1.
- Enviar un correo electrónico urgente al equipo de «Soporte» (usa un alias o tu correo) con el asunto: «Nueva Queja Recibida – Prioridad Alta».
- Caso «Sugerencia»:
- Establecer la variable NivelPrioridad en 2.
- Enviar un correo al equipo de «Producto» con el asunto: «Sugerencia de Cliente para Revisión».
- Caso «Felicitación»:
-
- Establecer la variable NivelPrioridad en 3.
- Enviar un correo al equipo de «Marketing» con el asunto: «¡Hemos recibido una felicitación de un cliente!».
Ejercicios nivel Avanzado
Registro de horas de proyecto
- Disparador: Cuando un usuario completa un Microsoft Form para «Registro de Horas».
- Campos: Nombre del empleado, Proyecto, Fecha de inicio (formato fecha), Hora de inicio (formato texto), Fecha de fin y Hora de fin.
- Acciones:
- Inicializar dos variables de tipo string: InicioCompleto y FinCompleto.
- Inicializar una variable de tipo decimal (float) llamada HorasTrabajadas.
- Obtener detalles de la respuesta.
- Usar la acción «Redactar» (Compose) para concatenar la fecha y hora de inicio en una sola cadena con formato yyyy-MM-ddTHH:mm:ssZ. Repetir para la fecha y hora de fin.
- Pista:
-
concat(formatDateTime(outputs(‘Obtener_los_detalles_de_la_respuesta’)?[‘body/r700cbd130fdc453091c7a1385cacb7b1’], ‘yyyy-MM-dd’),‘T’,formatDateTime(outputs(‘Obtener_los_detalles_de_la_respuesta’)?[‘body/r4fecf57ca75b417787b0bc1f5ad5b419’], ‘HH:mm:ss’),‘Z’)
- Calcular la diferencia de tiempo. Puedes usar la expresión div(div(sub(ticks(variables(‘FinCompleto’)), ticks(variables(‘InicioCompleto’))), 600000000), 60) para obtener las horas. Almacenar el resultado en la variable HorasTrabajadas.
div(
div(
sub(
ticks(outputs(‘Redactar-copy’)), // Fecha de fin
ticks(outputs(‘Redactar’)) // Fecha de inicio
),
600000000 // Pasa de ticks a minutos (1 min = 60 seg = 600 millones de ticks)
),
60 // Pasa de minutos a horas
)
- Añadir una fila a una tabla de Excel Online llamada «Registro de Proyectos» con las columnas: Empleado, Proyecto, Fecha, Horas Calculadas.
Enviar un correo de confirmación al empleado con un resumen de su registro y el total de horas calculadas.
De botón a Certificado
¡Excelente pregunta\! Integrar JavaScript en Articulate Storyline es la manera perfecta de hacer esto. El proceso es diferente a editar HTML directamente, pero es muy potente.
No usarás `onclick` en el código. En su lugar, crearás un **desencadenador (trigger)** en Storyline que ejecute el código JavaScript cuando el usuario haga clic en tu botón.
Aquí tienes la guía paso a paso.
—–
### Paso 1: Crea o Selecciona tu Botón
En tu diapositiva de Storyline, asegúrate de tener el objeto que quieres que funcione como botón. Puede ser una forma, un botón de la biblioteca, una imagen, etc. Selecciónalo.
### Paso 2: Crea un Desencadenador (Trigger)
1. Con el botón seleccionado, ve al panel de **Desencadenadores (Triggers)**, que normalmente está a la derecha.
2. Haz clic en el icono de «Crear un nuevo desencadenador» (el papel con una chispa).
### Paso 3: Configura el Desencadenador
Se abrirá el Asistente de Desencadenadores (Trigger Wizard). Aquí es donde ocurre la magia. Configúralo de la siguiente manera:
1. **Acción (Action):** Elige `Ejecutar JavaScript` (Execute JavaScript).
2. **Script:** Haz clic en el botón `…` para abrir el editor de JavaScript.
3. **Cuándo (When):** Elige `El usuario hace clic` (User clicks).
4. **Objeto (Object):** Asegúrate de que tu botón esté seleccionado.
La ventana del asistente se verá así:
### Paso 4: Pega el Código JavaScript
En la ventana del editor de JavaScript que se abrió, **pega el siguiente código**:
«`javascript
// La URL de destino (la misma que en el ‘action’ de tu formulario)
const url = ‘https://prod-172.westeurope.logic.azure.com:443/workflows/c7882f29c34147a2-9b5161bac3f28aef/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=vh4GDGP_b6I0zimTEPhqzargF8IJ-X366DN80GIph6k’;
// Los datos que quieres enviar
const datos = new FormData();
datos.append(‘nombre_del_curso’, ‘Curso PA’);
datos.append(‘id_del_curso’, ‘CURSO-101’);
datos.append(‘nombre’, ‘Juan Diego Polo’);
// Se envía la petición POST en segundo plano
fetch(url, {
method: ‘POST’,
body: datos
})
.then(response => {
if (response.ok) {
// Si la petición fue exitosa, puedes mostrar un mensaje
alert(‘¡Certificado generado con éxito!’);
} else {
// Si hubo un error en el servidor
alert(‘Hubo un error al generar el certificado.’);
}
})
.catch(error => {
// Si hubo un error de red
alert(‘Error de conexión. Revisa tu conexión a internet.’);
console.error(‘Error:’, error);
});
«`
Haz clic en **OK** para cerrar el editor de JavaScript y de nuevo en **OK** para guardar el desencadenador.
**Resumen de tu desencadenador:**
* **Acción:** `Ejecutar JavaScript`
* **Script:** `[El código que acabas de pegar]`
* **Cuándo:** `El usuario hace clic`
* **Objeto:** `Tu Botón`
—–
### ?? ¡Muy Importante\! Pruebas y Publicación
El código JavaScript **NO se ejecutará** cuando previsualices el proyecto **dentro de Storyline**. Para que funcione, debes:
1. **Publicar** tu curso para **Web** o **LMS**.
2. **Subir los archivos publicados a un servidor web** o a tu plataforma LMS.
3. Probar el curso abriéndolo desde esa ubicación web.
Al hacer clic en el botón en el curso publicado, se ejecutará el `fetch` y se enviarán los datos a tu URL de Azure, exactamente igual que lo hacía tu formulario original. El `alert()` te dará una confirmación visual inmediata de que funcionó.
### ???? Nivel Avanzado: Usar Variables de Storyline
Si quieres que los datos (como el nombre del alumno) sean dinámicos, puedes usar las variables de Storyline.
1. Supongamos que tienes una variable en Storyline llamada `NombreAlumno`.
2. Puedes acceder a ella en tu código JavaScript.
Modifica el código JavaScript de esta manera:
«`javascript
// 1. Obtiene el reproductor de Storyline
const player = GetPlayer();
// 2. Obtiene el valor de la variable «NombreAlumno» de Storyline
// ¡Asegúrate de que el nombre «NombreAlumno» coincida EXACTAMENTE con tu variable!
const nombreDinamico = player.GetVar(«NombreAlumno»);
// El resto del código es igual…
const url = ‘https://prod-172.westeurope.logic.azure.com:443/workflows/c7882f29c34147a2-9b5161bac3f28aef/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=vh4GDGP_b6I0zimTEPhqzargF8IJ-X366DN80GIph6k’;
const datos = new FormData();
datos.append(‘nombre_del_curso’, ‘Curso PA’);
datos.append(‘id_del_curso’, ‘CURSO-101’);
// 3. Usa la variable dinámica en lugar del valor fijo
datos.append(‘nombre’, nombreDinamico);
fetch(url, {
method: ‘POST’,
body: datos
})
// …el resto del código de .then() y .catch() no cambia
.then(response => {
if (response.ok) {
alert(‘¡Certificado para ‘ + nombreDinamico + ‘ generado con éxito!’);
} else {
alert(‘Hubo un error al generar el certificado.’);
}
})
.catch(error => {
alert(‘Error de conexión. Revisa tu conexión a internet.’);
console.error(‘Error:’, error);
});
«`
El botón está aquí:
https://www.juandiegopolo.com/boton/
Al pulsar el botón se activa este componente:
Extraemos los datos del formulario de esta forma:
Qué hace cada parte
-
string(outputs('Compose'))
? se asegura de tratar el contenido como texto. -
split( … , '&')
? lo divide en las tres parejas:<br>[0] nombre_del_curso=…
[1] id_del_curso=…
[2] nombre=…
-
[n]
? elige la pareja que toca (0, 1 o 2). -
split( … , '=')
? separa clave y valor. -
[1]
? escoge el valor. -
decodeUriComponent()
(opcional) convierte los + en espacios.
Campo que necesitas |
---|
nombre_del_curso | decodeUriComponent(split(split(string(outputs('Compose')),'&')[0],'=')[1]) |
id_del_curso | split(split(string(outputs('Compose')),'&')[1],'=')[1] |
nombre | decodeUriComponent(split(split(string(outputs('Compose')),'&')[2],'=')[1]) |
Iniciadores
Instantáneos
1. Desencadenar un flujo manualmente
- Servicio: Power Automate
- ¿Para qué sirve? Es el disparador más directo. Permite iniciar un flujo con solo pulsar un botón en la app móvil o web de Power Automate.
- Uso: Ideal para tareas repetitivas que realizas bajo demanda, como notificar a tu equipo que vas a comer o bloquear tu calendario para una hora de concentración.
- Ejemplo: Creas un botón llamado «Fin de jornada». Al pulsarlo, envía un correo a tu supervisor con un resumen de tus tareas (si lo configuras para pedir texto) y publica un mensaje de «Hasta mañana» en el canal de Teams del equipo.
2. Clic en botón de Power BI
- Servicio: Power BI
- ¿Para qué sirve? Permite ejecutar una automatización directamente desde un botón dentro de un informe de Power BI.
- Uso: Conecta el análisis de datos con la acción. Un usuario puede ver una métrica y actuar sobre ella inmediatamente sin salir del informe.
- Ejemplo: Un informe muestra productos con bajo stock. El usuario filtra para ver los más críticos y pulsa un botón «Generar orden de compra». El flujo toma los datos de los productos filtrados y crea un borrador de orden de compra en el sistema ERP.
Disparadores desde Aplicaciones de Microsoft 365
3. Para una fila seleccionada – Excel Online (Empresas)
- Servicio: Excel Online
- ¿Para qué sirve? Ejecuta un flujo para una fila específica que selecciones en una hoja de cálculo de Excel.
- Uso: Se activa desde el complemento de Power Automate en Excel. Permite procesar los datos de una fila concreta.
- Ejemplo: En un Excel con una lista de candidatos, seleccionas la fila de un candidato y ejecutas un flujo llamado «Enviar prueba técnica». El flujo toma el email y nombre de la fila y le envía un correo con las instrucciones.
4. Para un archivo seleccionado / Para un elemento seleccionado – SharePoint
- Servicio: SharePoint
- ¿Para qué sirve? Permite ejecutar un flujo sobre un archivo o elemento de lista específico que se seleccione manualmente en SharePoint.
- Uso: En una lista o biblioteca de SharePoint, seleccionas un ítem, vas al menú «Automatizar» y eliges el flujo.
- Ejemplo: Seleccionas un documento «Contrato_V5.docx» y ejecutas un flujo «Iniciar aprobación». El flujo envía el documento a un ciclo de aprobación en Teams y, una vez aprobado, lo convierte a PDF y lo mueve a la carpeta «Contratos Firmados».
5. Para un archivo seleccionado – OneDrive para la Empresa
- Servicio: OneDrive para la Empresa
- ¿Para qué sirve? ?? Similar al de SharePoint, pero para archivos en tu OneDrive personal de empresa.
- Uso: Seleccionas un archivo en tu OneDrive y desde el menú de opciones ejecutas el flujo.
- Ejemplo: Seleccionas un conjunto de imágenes de un evento y ejecutas un flujo «Crear presentación». El flujo crea una nueva presentación de PowerPoint y añade cada imagen a una diapositiva diferente.
6. Para un mensaje seleccionado (V2) – Microsoft Teams
- Servicio: Microsoft Teams
- ¿Para qué sirve? ?? Inicia un flujo a partir de un mensaje de chat o de canal en Teams.
- Uso: Pasas el cursor sobre un mensaje, vas a «Más acciones» (…) y seleccionas tu flujo. El contenido del mensaje se puede usar en la automatización.
- Ejemplo: Un cliente informa de un error por un mensaje en Teams. Seleccionas el mensaje y ejecutas un flujo «Crear ticket de soporte». El flujo crea un nuevo ticket en tu sistema de soporte (como Zendesk o Jira) con el contenido del mensaje.
7. Desde el cuadro de redacción (V2) – Microsoft Teams
- Servicio: Microsoft Teams
- ¿Para qué sirve? ?? Permite iniciar un flujo desde el área donde escribes los mensajes en Teams, ideal para acciones estructuradas.
- Uso: Haces clic en el icono del flujo debajo del cuadro de texto, lo que suele abrir un formulario.
- Ejemplo: Haces clic en un flujo «Encuesta Rápida», se abre un formulario donde pones una pregunta y opciones. Al enviarlo, el flujo publica la encuesta como una tarjeta bonita en el canal.
8. Cuando alguien responde a una tarjeta adaptativa – Microsoft Teams
- Servicio: Microsoft Teams
- ¿Para qué sirve? Se activa cuando un usuario interactúa con una Tarjeta Adaptable (un mini-formulario con botones) que un flujo ha publicado previamente en Teams.
- Uso: Es la continuación de una acción. Un flujo envía una tarjeta (p.ej., una aprobación) y espera la respuesta del usuario para continuar.
- Ejemplo: Un flujo publica una solicitud de vacaciones con botones «Aprobar» y «Rechazar». Cuando el manager pulsa «Aprobar», este disparador se activa y el flujo procede a registrar la aprobación y notificar al empleado.
Disparadores desde Aplicaciones Empresariales (Dataverse, Dynamics, Power Platform)
9. Cuando Power Apps llame a un flujo
- Servicio: Power Apps
- ¿Para qué sirve? Permite que una acción dentro de una aplicación de Power Apps (como pulsar un botón) inicie una automatización.
- Uso: Es la forma estándar de dar «poder» a tus aplicaciones para que hagan más que solo guardar datos, como enviar correos o manipular archivos.
- Ejemplo: En una app para inspecciones de campo, el técnico pulsa «Finalizar Inspección». El botón llama a un flujo que toma las fotos y datos de la app, genera un informe en PDF y lo envía por correo al cliente.
10. Cuando se seleccione una fila – Microsoft Dataverse
- Servicio: Microsoft Dataverse / Model-Driven Apps
- ¿Para qué sirve? Permite a un usuario ejecutar un flujo sobre uno o más registros (filas) seleccionados en una aplicación basada en modelos (como Dynamics 365).
- Uso: El usuario selecciona registros en una vista y ejecuta el flujo desde la barra de comandos.
- Ejemplo: Un comercial selecciona varias «Cuentas» en Dynamics 365 y ejecuta un flujo «Enviar catálogo de novedades». El flujo envía un email personalizado a cada contacto principal de las cuentas seleccionadas.
11. Cuando se ejecuta un paso de flujo – Microsoft Dataverse
- Servicio: Microsoft Dataverse (Flujos de Proceso de Negocio)
- ¿Para qué sirve? Se activa como una etapa dentro de un «Flujo de Proceso de Negocio» (la barra de progreso que guía a los usuarios en procesos como una venta o un caso de soporte).
- Uso: Automatiza tareas que deben ocurrir cuando un proceso alcanza una etapa determinada.
- Ejemplo: En un proceso de «Onboarding de empleado», al llegar a la etapa «Crear credenciales», se dispara un flujo que llama al sistema de TI para que provisione automáticamente la cuenta y licencia del nuevo empleado.
12. Para un registro seleccionado (V3) – Dynamics 365 Business Central
- Servicio: Dynamics 365 Business Central
- ¿Para qué sirve? ERP Permite ejecutar un flujo para un registro específico (como un cliente, un producto o una factura) directamente desde la interfaz de Business Central.
- Uso: Similar a los disparadores de «fila seleccionada», pero específico para el entorno del ERP de Microsoft.
- Ejemplo: Un contable está viendo una factura de proveedor en Business Central. La selecciona y ejecuta un flujo «Notificar aprobación de factura», que envía los detalles de la factura al jefe de departamento para su visto bueno.
13. Cuando un agente llama al flujo – Aptitudes
- Servicio: Dynamics 365 (Customer Service, etc.)
- ¿Para qué sirve? Permite a un agente de servicio al cliente o ventas ejecutar automatizaciones predefinidas («Aptitudes») para ayudarle en su trabajo diario.
- Uso: El agente, desde su consola, selecciona una «aptitud» para realizar una tarea compleja con un solo clic.
- Ejemplo: Un agente está hablando con un cliente y necesita enviarle la base de conocimiento sobre un producto. Ejecuta la aptitud «Enviar artículo de conocimiento», y el flujo encuentra el artículo correcto y lo envía al cliente.
14. Cuando Power Virtual Agents llame… (V1 y V2)
- Servicio: Power Virtual Agents
- ¿Para qué sirve? Permite que un chatbot creado con Power Virtual Agents ejecute un flujo para realizar acciones o buscar datos en otros sistemas.
- Uso: Dentro de un tema de conversación del bot, se llama al flujo como si fuera una acción más.
- Ejemplo: Un usuario pregunta a un chatbot: «¿Cuál es mi saldo de vacaciones?». El bot llama a un flujo de Power Automate que consulta el sistema de RRHH y devuelve el número de días, que el bot muestra al usuario.
Disparadores Técnicos (HTTP/Webhooks)
15. Cuando se recibe una solicitud HTTP
- Servicio: HTTP
- ¿Para qué sirve? Es un disparador universal. Crea una URL única que puede ser llamada por casi cualquier servicio o aplicación externa para iniciar el flujo.
- Uso: Se usa para integrar Power Automate con sistemas que no tienen un conector nativo. La aplicación externa debe poder hacer una llamada web (POST).
- Ejemplo: Un formulario de «Contacto» en tu sitio web de WordPress se configura para que, al enviarse, llame a esta URL del flujo, pasando los datos del formulario en formato JSON. El flujo recibe los datos y los guarda en una lista de SharePoint.
16. Webhook de HTTP
- Servicio: HTTP
- ¿Para qué sirve? Es un disparador HTTP más avanzado. No solo recibe una llamada, sino que también se registra en el servicio de origen y espera a que ocurra un evento.
- Uso: Es más eficiente que sondear constantemente un servicio. El servicio de origen notifica activamente al webhook cuando hay algo nuevo. Se usa para suscripciones a eventos.
- Ejemplo: Quieres que un flujo se ejecute cada vez que se crea un nuevo archivo en un servicio de almacenamiento en la nube que no tiene conector de Power Automate pero sí soporta webhooks. El flujo se suscribe al evento «archivo creado» de ese servicio.
17. Cuando se recibe una solicitud de webhook – Webhook de Microsoft Teams
- Servicio: Webhook de Microsoft Teams
- ¿Para qué sirve? Específico para interactuar con «webhooks salientes» de Microsoft Teams. Permite que Teams llame a tu flujo cuando se menciona el webhook en un canal.
- Uso: Configuras un webhook saliente en Teams y le proporcionas la URL que genera este disparador.
- Ejemplo: Creas un webhook saliente llamado «@WeatherBot». Cuando un usuario escribe «@WeatherBot Barcelona» en un canal, Teams llama a tu flujo. El flujo toma la palabra «Barcelona», consulta una API del tiempo y publica la previsión meteorológica como respuesta en el canal.
Disparadores de Administración
18. Cuando un sitio ha solicitado unirse… – SharePoint
- Servicio: SharePoint
- ¿Para qué sirve? Es un disparador administrativo que se activa cuando un usuario pide acceso a un sitio de SharePoint al que no tiene permisos.
- Uso: Permite crear un proceso de aprobación de acceso personalizado en lugar de usar el predeterminado de SharePoint.
- Ejemplo: En lugar de que la solicitud de acceso solo vaya al email del dueño, este flujo la publica en un canal de Teams para administradores, donde pueden discutir y aprobar/rechazar con botones.
Automatizados
Correo Electrónico (Outlook, Gmail)
1. Cuando llega un nuevo correo electrónico
- Servicios: Office 365 Outlook, Outlook.com, Gmail.
- ¿Para qué sirve? Es uno de los disparadores más comunes. Inicia un flujo en el momento exacto en que llega un correo nuevo a tu bandeja de entrada o a una carpeta específica.
- Uso: Puedes configurar filtros muy potentes: que solo se active si el correo es de una persona concreta, si el asunto contiene una palabra clave (como «Factura» o «Urgente») o si tiene archivos adjuntos. La versión de Office 365 a menudo permite usarlo en buzones compartidos.
- Ejemplo: Creas un flujo que vigila tu bandeja de entrada. Cuando llega un correo con la palabra «Factura» en el asunto y tiene un archivo PDF adjunto, el flujo guarda automáticamente ese PDF en una carpeta específica de OneDrive llamada «Facturas para Pagar».
2. Cuando se marca un correo electrónico
- Servicios: Office 365 Outlook, Outlook.com.
- ¿Para qué sirve? Activa una automatización cuando marcas un correo electrónico con una bandera (usualmente para seguimiento).
- Uso: Te permite convertir un correo en una acción de forma manual y sencilla, sin tener que moverlo o reenviarlo. Simplemente lo marcas y el flujo se encarga del resto.
- Ejemplo: Estás revisando tu correo en el móvil y ves una solicitud de un cliente. La marcas. Un flujo se activa y crea automáticamente una nueva tarea en Microsoft Planner o To Do con el asunto del correo como título, para que no se te olvide gestionarla.
Archivos y Documentos (OneDrive, SharePoint)
3. Cuando se crea un archivo
- Servicios: OneDrive, OneDrive para la Empresa, SharePoint.
- ¿Para qué sirve? El flujo se inicia en el momento en que se añade un nuevo archivo a una carpeta específica. La opción
(solo prop.)
o(solo propiedades)
es una optimización que solo recupera los metadatos del archivo (nombre, tamaño, etc.), no el contenido, siendo más rápida si solo necesitas esa información. - Uso: Es la base para automatizar cualquier proceso que comience con la llegada de un documento: procesar facturas, imágenes, informes, etc.
- Ejemplo: Tienes una carpeta de SharePoint donde los comerciales suben sus informes de visita en formato .docx. Cuando se crea un nuevo archivo, un flujo lo recoge, lo convierte a PDF y lo archiva en otra biblioteca de «Informes Finales».
4. Cuando se modifica un archivo
- Servicios: OneDrive, OneDrive para la Empresa, SharePoint.
- ¿Para qué sirve? Se dispara cada vez que el contenido o las propiedades de un archivo existente en una carpeta específica son modificados y guardados.
- Uso: Muy útil para flujos de aprobación o notificación donde el estado de un documento cambia con el tiempo.
- Ejemplo: Un documento de «Propuesta Comercial» está en una carpeta de OneDrive. Cuando un compañero lo edita y guarda los cambios, se activa un flujo que publica un mensaje en un canal de Teams: «Atención: La propuesta para [Nombre del Cliente] ha sido actualizada por [Nombre del Usuario]».
5. Cuando se elimina un archivo (solo prop.)
- Servicio: OneDrive.
- ¿Para qué sirve? Inicia un flujo en el momento en que un archivo es eliminado de una carpeta específica.
- Uso: Se utiliza principalmente para tareas de registro, auditoría o para mantener sincronizados diferentes sistemas de almacenamiento.
- Ejemplo: Si un archivo se elimina de una carpeta crítica de proyectos, un flujo se activa y envía una notificación de alta prioridad al administrador del sistema, registrando qué archivo se eliminó y a qué hora.
6. Cuando se crea un elemento / Cuando se crea o se modifica un elemento
- Servicio: SharePoint.
- ¿Para qué sirve? Estos se aplican a las listas de SharePoint (no a las bibliotecas de documentos).
Cuando se crea un elemento
: Se ejecuta una sola vez, cuando se añade una nueva fila a la lista.Cuando se crea o se modifica un elemento
: Se ejecuta tanto al crear una nueva fila como cada vez que una fila existente se edita.
- Uso: Son la base de la automatización en SharePoint. El primero es para procesos de «bienvenida» (registrar una nueva solicitud). El segundo es para seguir el ciclo de vida de un elemento (actualizar su estado).
- Ejemplo (
crea o modifica
): Tienes una lista para seguir el estado de incidencias, con una columna «Estado» (Abierta, En Proceso, Cerrada). Un flujo se activa cada vez que el elemento cambia. Si el estado se actualiza a «Cerrada», el flujo envía automáticamente un correo al creador de la incidencia para notificarle.
Gestión de Tareas y Proyectos (Planner, Azure DevOps)
7. Cuando se crea una tarea nueva / se me asigna una tarea / se completa una tarea
- Servicio: Microsoft Planner.
- ¿Para qué sirve? Permite automatizar acciones basadas en el ciclo de vida de las tareas en Planner.
Se crea
: Reacciona a cualquier tarea nueva en un plan.Se me asigna
: Reacciona solo cuando una tarea (nueva o existente) te es asignada a ti.Se completa
: Se activa cuando alguien marca una tarea como finalizada.
- Uso: Ayuda a integrar Planner con otras herramientas y a mantener a todos informados.
- Ejemplo (
se me asigna
): Cuando tu jefe te asigna una nueva tarea en Planner, un flujo se activa y crea automáticamente un evento de 1 hora en tu calendario de Outlook para el día siguiente, recordándote que debes trabajar en ella.
8. Disparadores de Azure DevOps (Varios)
- Servicio: Azure DevOps.
- ¿Para qué sirve? Integran Power Automate profundamente con los procesos de desarrollo de software y gestión de proyectos en Azure DevOps. Se activan por eventos como:
Cuando se crea/actualiza/asigna/cierra un elemento de trabajo
: Reacciona a cambios en Tareas, Bugs, Historias de Usuario, etc.Cuando se crea/cierra una solicitud de incorporación (Pull Request)
: Automatiza acciones relacionadas con las revisiones de código.Cuando se complete una compilación (Build)
: Reacciona al resultado de un proceso de integración continua.Cuando se inserte código (Push)
: Se activa cuando un desarrollador sube código nuevo a un repositorio.
- Uso: Sirve para notificar a los equipos, sincronizar estados con otras herramientas o iniciar procesos posteriores.
- Ejemplo (
se complete una compilación
): Después de que una compilación nocturna del software se complete con éxito, se activa un flujo que publica un mensaje en el canal de Teams de los desarrolladores con la nota «? La compilación nocturna v2.3.1 se ha completado correctamente» y un enlace a los registros. Si falla, envía un mensaje de error con «?».
Aplicaciones y Datos (Dataverse, Power BI, Forms)
9. Cuando se agrega, modifica o elimina una fila / se realiza una acción
- Servicio: Microsoft Dataverse.
- ¿Para qué sirve? Es el equivalente de los disparadores de SharePoint pero para el motor de datos de la Power Platform.
Se agrega, modifica o elimina
: Reacciona a cualquier cambio de datos en una tabla. Puedes filtrar por tipo de cambio (crear, editar, borrar).Se realiza una acción
: Es más avanzado. Se dispara cuando se ejecuta una «Acción de Proceso» personalizada en Dataverse, permitiendo lógicas de negocio complejas.
- Uso: Es fundamental para crear automatizaciones robustas en aplicaciones basadas en modelos (Dynamics 365) y procesos de negocio complejos.
- Ejemplo (
agrega una fila
): Cuando se agrega un nuevo registro de «Cliente Potencial» en la tabla de Oportunidades de Dynamics 365, un flujo se dispara y busca información pública de esa empresa en internet a través de una API para enriquecer el registro automáticamente.
10. Cuando se envía una respuesta nueva
- Servicio: Microsoft Forms.
- ¿Para qué sirve? Inicia un flujo inmediatamente después de que alguien envíe una respuesta a un formulario que has creado.
- Uso: Es la forma estándar de procesar los resultados de encuestas, registros, cuestionarios, etc. Nota: El disparador solo te dice que se ha enviado una respuesta; necesitas una segunda acción («Obtener los detalles de la respuesta») para ver lo que la persona escribió.
- Ejemplo: Creas un formulario de registro para un evento. Cuando alguien lo rellena, el flujo se activa, toma los detalles de la respuesta (nombre, email) y los añade a una lista de asistentes en SharePoint, además de enviar un correo de confirmación al inscrito.
11. Cuando alguien agrega o edita un registro
- Servicio: Power BI.
- ¿Para qué sirve? Este es un disparador de «Alerta Basada en Datos». No se activa por cualquier edición, sino cuando una métrica (KPI) en un panel de Power BI cruza un umbral que tú has definido.
- Uso: Vas a un panel de Power BI, seleccionas un mosaico (tile), y creas una alerta (p.ej., «notifícame si las ventas bajan de 1000»). Luego, en Power Automate, usas este disparador para que reaccione a esa alerta.
- Ejemplo: Creas una alerta en Power BI que se dispara si el «Número de tickets de soporte abiertos» supera los 50. Un flujo se activa por esa alerta y envía una notificación de alta prioridad al móvil del jefe de soporte.
Comunicación y Colaboración (Teams, OneNote)
12. Cuando se agrega un nuevo mensaje / se me menciona en un mensaje
- Servicio: Microsoft Teams.
- ¿Para qué sirve?
Se agrega un nuevo mensaje
: Se activa con cada nuevo mensaje en un canal específico.Se me menciona
: Se activa solo cuando alguien usa@tunombre
en cualquier canal del que seas miembro.
- Uso: El primero es bueno para monitorizar la actividad de un canal (p.ej., para análisis de sentimiento). El segundo es para crear recordatorios o acciones personales.
- Ejemplo (
se me menciona
): Creas un flujo personal. Si alguien te menciona en un canal de Teams, el flujo evalúa si el mensaje contiene la palabra «urgente». Si es así, te envía una notificación push al móvil para asegurarse de que no te lo pierdes.
13. Cuando se crea una sección nueva
- Servicio: OneNote (Empresa).
- ¿Para qué sirve? Inicia una automatización cuando se crea una nueva sección dentro de un bloc de notas específico de OneNote.
- Uso: Ideal para estandarizar la estructura de proyectos o reuniones que se gestionan a través de OneNote.
- Ejemplo: En un bloc de notas compartido para «Proyectos de Clientes», cuando se crea una nueva sección con el nombre de un nuevo cliente, un flujo se activa y crea automáticamente dentro de esa sección tres páginas estándar: «Acta de Reunión Inicial», «Requisitos» y «Tareas Pendientes».
Servicios Externos y Conectividad (Google, RSS)
14. Cuando se publica un elemento de fuente RSS
- Servicio: RSS.
- ¿Para qué sirve? Monitoriza una fuente RSS (de un blog, un periódico, etc.) y activa el flujo cada vez que se publica un nuevo artículo.
- Uso: Es una forma excelente de mantenerse informado y de compartir noticias relevantes automáticamente.
- Ejemplo: Monitorizas la fuente RSS del blog de tu competidor principal. Cuando publican un nuevo artículo, un flujo lo resume usando IA (con una acción de Azure AI o similar) y publica el resumen en un canal de Teams de «Inteligencia de Mercado».
15. Cuando se agrega un evento a un calendario
- Servicio: Google Calendar (también existe para Outlook Calendar).
- ¿Para qué sirve? Se dispara en el momento en que se crea un nuevo evento en un calendario de Google que tú especifiques.
- Uso: Permite sincronizar calendarios entre distintas plataformas o crear acciones basadas en tus próximas citas.
- Ejemplo: Tienes un calendario personal de Google y uno profesional de Outlook. Creas un flujo que, cada vez que se añade un evento en tu calendario de Google, lo replica en tu calendario de Outlook, añadiendo «[Personal]» al título para diferenciarlo.