Caso práctico / Almacén y reposición de tienda

04 · Almacén: envía un resumen diario de stock bajo

Construye un aviso de reposición que lea el inventario de una tienda, detecte existencias bajas y envíe un correo con los artículos que hay que revisar.

50–70 minutosNivel inicial
Qué vas a construir
Un flujo diario que convierte el inventario en un informe de reposición por correo.
Herramientas
SharePoint · Power Automate · Microsoft 365 Outlook
En esta página · 8 apartados

El encargo del negocio

La persona que abre Barrio Demo revisa cada mañana qué productos necesita reponer. Hoy recorre una hoja a mano; tu solución debe enviarle solo los artículos cuyas existencias sean menores o iguales al mínimo.

Vas a construir un informe, no una compra automática. No modificarás cantidades ni enviarás pedidos a proveedores. Este caso es independiente de Dataverse y de los laboratorios 01–03.

1. Preparar el inventario

Descarga el CSV de esta página. Sus ocho filas representan el catálogo de una tienda pequeña; son datos ficticios.

En un sitio de SharePoint de prácticas, abre Contenido del sitio → Nuevo → Lista → Lista en blanco. Llámala LAB Stock Almacen. Renombra la columna visible Título a SKU: su nombre interno seguirá siendo Title.

Añade estas columnas con los nombres exactos, sin espacios ni tildes:

ColumnaTipoConfiguración
ProductoUna línea de textoObligatoria
ExistenciasNúmeroCero decimales; mínimo 0
MinimoNúmeroCero decimales; mínimo 0
PrecioNúmeroDos decimales; mínimo 0; euros en este caso
UbicacionUna línea de textoCódigo de estantería

Introduce las ocho filas con Editar en vista de cuadrícula, respetando el orden de las columnas. Puedes pegarlas desde una hoja de cálculo; si la configuración regional cambia el separador decimal, adapta el formato del precio. También puedes introducirlas individualmente. El CSV es la referencia de datos, no una orden para reemplazar la lista.

Comprueba 101 unidades en total. El café tiene 4 unidades, el aceite 0 y la leche 12.

2. Programar el aviso

En Power Automate, selecciona Crear → Flujo de nube programado. Nombre: LAB Barrio Demo Reposicion. Frecuencia: 1 día.

En Recurrencia, selecciona la zona horaria de Madrid y las 09:00. En las listas que muestran identificadores de Windows, corresponde a Romance Standard Time. Comprueba la zona elegida para que se aplique el cambio estacional.

Añade SharePoint → Obtener elementos / Get items. Antes de usar expresiones, renombra la acción a Leer_stock. Selecciona tu sitio y la lista; establece Recuento superior / Top Count = 100.

Esta lectura está dimensionada para las ocho filas del caso. Un inventario grande requiere revisar filtros del servidor, paginación y límites; no copies este límite sin adaptar la solución.

3. Identificar productos que hay que reponer

Añade Operaciones de datos → Filtrar matriz / Filter array, con nombre Filtrar_stock.

En Desde / From, utiliza value de Leer_stock. En el modo avanzado del filtro escribe:

@lessOrEquals(int(item()?['Existencias']), int(item()?['Minimo']))

Si utilizas el editor de expresiones para construir una condición, introduce las funciones sin la @ inicial. La expresión avanzada anterior incluye ese prefijo porque representa el filtro completo.

La igualdad es deliberada: LEC-1L, con 12 unidades y mínimo 12, también necesita revisión. Las columnas de cantidades deben estar informadas; una celda vacía debe corregirse en el origen.

4. Construir el correo

Añade una Condición: la expresión siguiente debe ser mayor que 0:

length(body('Filtrar_stock'))

En la rama Sí:

  1. Añade Seleccionar / Select, renombrado Columnas_informe. Como origen usa el cuerpo de Filtrar_stock.
  2. Crea cuatro campos: SKU con item()?['Title'], Producto con item()?['Producto'], Existencias con item()?['Existencias'] y Minimo con item()?['Minimo'].
  3. Añade Crear tabla HTML, renombrada Tabla_stock. Origen: salida de Columnas_informe; columnas automáticas.
  4. Añade Microsoft 365 Outlook → Enviar un correo electrónico (V2) a tu propio buzón de pruebas.
  5. Asunto: Reposición · Barrio Demo. Cuerpo: una breve introducción y la salida HTML de Tabla_stock. Si el editor trata el HTML como texto, insértalo desde su vista de código HTML.

Deja la rama No vacía: sin productos afectados, no se envía un informe vacío. Guarda y ejecuta Probar.

5. Demostrar que funciona

PruebaResultado esperado
Catálogo originalUn correo con CAF-250, ACE-1L, LEC-1L y GAL-200
Aceite con 0 unidadesAparece con 0; el valor no se interpreta como un error
Cambiar PAS-500 de 25 a 5 y ejecutar de nuevoAparecen cinco productos
Poner temporalmente todos los artículos por encima de su mínimoNo se envía ningún correo
Consultar el historialEl filtro y la condición coinciden con los datos leídos

Guarda una captura del correo y otra del filtro. Si recibes ocho artículos, revisa el origen de la tabla: debe usar el resultado filtrado, no la lectura completa.

Entrega y cierre

Entrega la lista con ocho productos, el flujo guardado y las evidencias de las tres situaciones: cuatro artículos, cinco artículos y ningún aviso.

Restaura el CSV original si vas a continuar con el agente de stock del caso 07. Desactiva el flujo al terminar para evitar correos diarios de pruebas.

Documentación oficial

Documentación contrastada el 18 de octubre de 2026. Ejecución en un entorno Microsoft: pendiente de verificar.

La conversación sigue aquí

Preguntas y experiencias

¿Te has atascado en un paso o has encontrado otra forma de hacerlo? Comparte lo que has probado y ayuda a quienes lleguen después.

Lee los comentarios o entra para participar.

Cargando comentarios…