n8n con Shopify: Automatiza tu Tienda Online Completa

N8n con Shopify ecommerce es uno de los usos más prácticos de n8n. n8n con Shopify permite automatizar todo el ciclo de vida de tu tienda online: desde notificar al proveedor cuando se hace un pedido hasta sincronizar el inventario con tu almacén o enviar emails personalizados según el comportamiento del cliente. En esta guía aprenderás las automatizaciones más útiles para ecommerce.

Configurar la integración n8n — Shopify

Crear acceso a la API de Shopify

  1. En Shopify Admin, ve a AppsDevelop apps
  2. Activa el desarrollo de apps (solo la primera vez)
  3. Create an app con nombre "n8n Integration"
  4. En ConfigurationAdmin API access scopes, activa:
    • read_orders, write_orders
    • read_products, write_products
    • read_inventory, write_inventory
    • read_customers, write_customers
  5. Install app → copia el Admin API access token (shpat_...)

En n8n:

  1. CredentialsShopify API
  2. Shop Subdomain: tu-tienda (de tu-tienda.myshopify.com)
  3. Access Token: el token copiado

Webhooks de Shopify

Para reaccionar a eventos en tiempo real:

  1. En Shopify: ConfiguraciónNotificacionesWebhooks
  2. Crea un webhook por cada evento (ej: orders/create)
  3. URL: la URL de tu nodo Webhook en n8n
  4. Formato: JSON

Operaciones del nodo Shopify en n8n

Recurso Operaciones principales
Orders Get, List, Fulfil, Cancel
Products Create, Read, Update, Delete
Product Variants Create, Update (precio, stock)
Customers Create, Read, Update, Get All
Inventory Adjust (stock), Get Level
Draft Orders Create, Complete

Caso de uso 1: Notificación al proveedor cuando se agota el stock

Cuando un producto baja de cierto nivel de stock, envía un email automático al proveedor:

Schedule Trigger (cada 2 horas) →

  1. Shopify — Get All Products
  2. Code — filtra los que tienen inventory_quantity < 5
  3. Loop — por cada producto con stock bajo
  4. Gmail — email al proveedor con los detalles

Filtrar en código:

return $input.all()
  .filter(item => item.json.variants.some(v => v.inventory_quantity < 5))
  .map(item => ({
    json: {
      nombre: item.json.title,
      sku: item.json.variants[0].sku,
      stock_actual: item.json.variants[0].inventory_quantity,
      proveedor: item.json.vendor
    }
  }));

Caso de uso 2: Sincronizar pedidos con hoja de Google Sheets

Para el equipo de logística que trabaja con Google Sheets:

Shopify Trigger (orders/create)
  → Google Sheets — Append Row

Campos a añadir:

Número pedido: {{ $json.order_number }}
Cliente: {{ $json.shipping_address.first_name }} {{ $json.shipping_address.last_name }}
Email: {{ $json.email }}
Total: {{ $json.total_price }}€
Productos: {{ $json.line_items.map(i => i.name + ' x' + i.quantity).join(', ') }}
Estado: {{ $json.fulfillment_status || 'pendiente' }}
Dirección: {{ $json.shipping_address.address1 }}, {{ $json.shipping_address.city }}

Caso de uso 3: Email de seguimiento post-compra con IA

7 días después de una compra, envía un email personalizado según los productos comprados:

Shopify Trigger (orders/create)
  → Delay (7 días)
  → OpenAI — Generar email personalizado
  → Gmail — Enviar al cliente

Prompt para el email:

Escribe un email de seguimiento post-compra en español para un cliente de una tienda de [sector].

El cliente compró: {{ $json.line_items.map(i => i.name).join(', ') }}

El email debe:
- Preguntar si está satisfecho con el producto
- Incluir una recomendación de producto complementario
- Pedir una reseña con un enlace
- Ser cálido y personalizado, no genérico

Firma como el equipo de [nombre tienda].

Caso de uso 4: Actualizar precios desde un Excel

Tu equipo comercial actualiza precios en un Excel cada semana. Sincronízalos en Shopify automáticamente:

Google Sheets Trigger (cambios en la hoja de precios)
  → Loop
    → Shopify — Get Product (busca por SKU)
    → Shopify — Update Product Variant (actualiza precio)

Buscar producto por SKU:
El nodo Shopify — Search Products acepta el campo query con el SKU.

Actualizar solo la variante con ese SKU:

// Nodo Code: encuentra la variante correcta
const product = $json;
const sku = $('Google Sheets').item.json.SKU;
const variant = product.variants.find(v => v.sku === sku);
return [{ variant_id: variant?.id }];

Caso de uso 5: CRM automático de clientes VIP

Identifica automáticamente a los clientes que más compran y créalos en HubSpot como VIP:

Schedule Trigger (primer día de cada mes) →

  1. Shopify — Get All Customers (ordenados por total gastado)
  2. Code — filtra los que superan cierto umbral
  3. HubSpot — Create/Update Contact (con etiqueta "VIP")
  4. Gmail — Email especial para clientes VIP

Abandono de carrito con n8n

Shopify envía el evento checkouts/create cuando alguien abandona el carrito. Puedes configurar un flujo de recuperación:

Shopify Trigger (checkouts/create)
  → Wait (1 hora)
  → Shopify — Check si el checkout se completó
  → IF (no completado)
    → Gmail — Email de recuperación de carrito
  → Wait (24 horas adicionales)
  → IF (aún no completado)
    → Gmail — Email con descuento del 10%

Conclusión

La integración n8n con Shopify automatiza las partes más repetitivas de gestionar una tienda online. Desde sincronizar datos con tu equipo hasta reaccionar a cada pedido con las acciones correctas, n8n conecta Shopify con todos los demás sistemas de tu negocio. El resultado es menos trabajo manual y una mejor experiencia para tus clientes.