Automatización con IA

Gestión de Inventario con Alertas

Monitoriza stock en tiempo real y activa pedidos automáticamente

Gestión de Inventario con Alertas

El problema

El stock se agota en silencio. Un producto lleva tres días en cero unidades mientras los pedidos siguen llegando, el cliente recibe un email de "producto no disponible", y la venta se pierde. O peor: alguien detecta el problema, envía un email al proveedor, pero nadie sabe si llegó, si respondieron, o cuándo llega el restock. El inventario es uno de esos procesos donde un sistema simple salva miles de euros mensuales.

Este flujo revisa el stock cada mañana, identifica productos bajo umbral, y dispara automáticamente: alerta al equipo en Slack y email de pedido al proveedor.

Herramientas necesarias

  • n8n (self-hosted o cloud)
  • Schedule Trigger — ejecución diaria a las 8am
  • Google Sheets (node nativo n8n) — leer niveles de stock actuales
  • IF — filtrar productos por debajo del umbral mínimo
  • Slack (node nativo n8n) — alerta al equipo de operaciones
  • Gmail (node nativo n8n) — email automático al proveedor
  • Credenciales: Google OAuth2 (Sheets), Slack Bot Token, Gmail OAuth2
  • Requisito: hoja de cálculo con columnas: SKU, Nombre, Stock_Actual, Stock_Minimo, Email_Proveedor, Nombre_Proveedor

Configuración paso a paso

Nodo 1 — Schedule Trigger

  • Trigger: Cron
  • Expression: 0 8 * * 1-5 (lunes a viernes a las 8:00am)
  • Timezone: Europe/Madrid

Nodo 2 — Google Sheets (Read Rows)

  • Operation: Read Rows
  • Spreadsheet ID: ID de tu hoja (de la URL de Google Sheets)
  • Sheet Name: Inventario
  • Return All: true
  • First Row as Header: true

Nodo 3 — IF (filtro de stock bajo)

  • Condition: {{ $json.Stock_Actual }} menor o igual a {{ $json.Stock_Minimo }}
  • Ambos campos son numéricos — asegúrate de que en Sheets estén como número, no texto
  • Rama TRUE → productos que necesitan pedido
  • Rama FALSE → descartados (no hacer nada)

Nodo 4 — Slack (Send Message)

  • Channel: #inventario-alertas
  • Text:
⚠️ *Stock bajo detectado*
*Producto:* {{ $json.Nombre }} (SKU: {{ $json.SKU }})
*Stock actual:* {{ $json.Stock_Actual }} unidades
*Mínimo requerido:* {{ $json.Stock_Minimo }} unidades
*Proveedor:* {{ $json.Nombre_Proveedor }}
_Pedido automático enviado al proveedor._
  • Si hay múltiples productos, el IF en n8n itera sobre cada item: cada producto bajo mínimo genera su propio mensaje

Nodo 5 — Gmail (Send Email al proveedor)

  • From: tu email de empresa
  • To: {{ $json.Email_Proveedor }}
  • Subject: Pedido de reposición — {{ $json.Nombre }} ({{ $now.format('DD/MM/YYYY') }})
  • Body HTML: email profesional con datos del producto, cantidad solicitada (puedes calcularla: Stock_Maximo - Stock_Actual si tienes esa columna), y datos de entrega
  • Añade campo Cantidad_Pedido a tu hoja de Sheets para que el email incluya la cantidad exacta

Nodo 6 — Google Sheets (Update Row)

  • Operation: Update Row
  • Actualiza columna Pedido_Enviado a SI y Fecha_Pedido a {{ $now.toISO() }}
  • Esto evita que el próximo día se envíe el mismo pedido si no ha llegado el stock aún

Ejemplo de prompt IA

Este flujo no usa IA por defecto, pero puedes añadir un nodo Claude antes del email al proveedor para personalizar el mensaje:

Redacta un email profesional de pedido de reposición de inventario.

DATOS:
- Proveedor: {{ $json.Nombre_Proveedor }}
- Producto: {{ $json.Nombre }}
- SKU: {{ $json.SKU }}
- Cantidad a pedir: {{ $json.Cantidad_Pedido }} unidades
- Urgencia: {{ $json.Stock_Actual === 0 ? 'URGENTE - producto agotado' : 'Normal - stock bajo mínimo' }}

Tono: profesional y conciso. Incluye referencia al número de pedido automático: PED-{{ $now.format('YYYYMMDD') }}-{{ $json.SKU }}. Máximo 150 palabras.

Ahorro estimado

  • Revisión diaria de stock: 20 min/día eliminados
  • Emails manuales a proveedores: 10 min/pedido eliminados
  • Productos agotados no detectados: prácticamente eliminados
  • Total: 2-3 horas semanales + prevención de ventas perdidas por falta de stock