Problemas Comunes

Solución de problemas

Guía de Solución de Problemas

Esta sección contiene soluciones a los problemas más comunes que puedes encontrar al implementar automatizaciones. Los problemas están organizados por categoría y herramienta.

Problemas con APIs

Error 401: Unauthorized

Síntomas:

  • Mensaje: "401 Unauthorized" o "Authentication failed"
  • No puedes acceder a los recursos de la API
  • Las llamadas anteriores funcionaban pero ahora no

Causas Comunes:

  • API key incorrecta o expirada
  • Token de autenticación vencido
  • Permisos insuficientes
  • Headers de autorización mal formateados

Soluciones:

1
Verificar API Key Authorization: Bearer YOUR_API_KEY_HERE

Asegúrate de copiar la key completa sin espacios

2
Regenerar Token

Ve al dashboard de la API y genera una nueva key

3
Revisar Permisos

Verifica que tu key tenga los scopes necesarios

Error 429: Too Many Requests

Síntomas:

  • Mensaje: "Rate limit exceeded"
  • Las primeras llamadas funcionan, luego fallan
  • Error aparece después de múltiples requests

Causas:

  • Excediste el límite de llamadas por hora/minuto
  • Bucle infinito en tu automatización
  • No hay delays entre requests

Soluciones:

// Implementar delay entre requests
async function makeRequestWithDelay(url, delay = 1000) {
  await new Promise(resolve => setTimeout(resolve, delay));
  return fetch(url);
}

// O usar una librería de rate limiting
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 minutos
  max: 100 // límite de requests
});
Tip: Revisa los headers de respuesta para ver cuándo se resetea el límite: X-RateLimit-Reset

CORS Error

Síntomas:

  • Error en consola: "Access to fetch at ... from origin ... has been blocked by CORS policy"
  • La API funciona en Postman pero no en el navegador

Soluciones:

  1. Usar un proxy: https://cors-anywhere.herokuapp.com/https://api.example.com
  2. Configurar servidor backend:
    // Express.js
    app.use((req, res, next) => {
      res.header('Access-Control-Allow-Origin', '*');
      res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
      next();
    });
  3. Usar servidor proxy propio

Problemas con Make (Integromat)

Scenario no se ejecuta

Checklist de Verificación:

Debugging:

  1. Ve al History del scenario
  2. Busca ejecuciones con errores (ícono rojo)
  3. Click en la ejecución para ver detalles
  4. Revisa el log de cada módulo
Make debugging

Error de Mapeo de Datos

Problema:

Los datos no llegan correctamente de un módulo a otro

Soluciones:

1. Usar Data Structure

Define la estructura de datos esperada en Make

2. Test con datos reales

Usa "Run once" con datos de prueba reales

3. Verificar tipos de datos

Asegúrate que números sean números, no strings

4. Usar funciones de transformación
{{parseNumber(1.text)}}

Problemas con n8n

n8n no arranca

Docker:

# Ver logs
docker logs n8n

# Verificar que el contenedor esté corriendo
docker ps

# Reiniciar con logs verbose
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e N8N_LOG_LEVEL=debug \
  n8nio/n8n

NPM:

# Limpiar caché
npm cache clean --force

# Reinstalar
npm uninstall -g n8n
npm install -g n8n

# Verificar permisos en .n8n
chmod -R 755 ~/.n8n

Webhook no recibe datos

Verificaciones:

  1. URL correcta: Copia la URL del webhook node completamente
  2. Método HTTP: Verifica GET vs POST
  3. Firewall: Puerto 5678 debe estar abierto
  4. HTTPS: Si usas HTTPS, necesitas certificado válido

Test con cURL:

curl -X POST http://localhost:5678/webhook/test \
  -H "Content-Type: application/json" \
  -d '{"test": "data"}'

Credenciales no funcionan

Pasos para resolver:

  1. Ir a Settings → Credentials
  2. Editar la credencial problemática
  3. Click en "Test" para verificar conexión
  4. Si falla, verificar:
    • API key/secret correctos
    • OAuth redirect URL configurada
    • Permisos/scopes necesarios
Tip: Para OAuth, la redirect URL debe ser: http://localhost:5678/rest/oauth2-credential/callback

Problemas de Integración

Google Sheets: Sin permisos

Error común:

"The caller does not have permission"

Solución:

  1. Ve a tu Google Sheet
  2. Click en "Compartir"
  3. Agrega el email de servicio: tu-servicio@proyecto.iam.gserviceaccount.com
  4. Dale permisos de "Editor"

Slack: Mensaje no se envía

Verificar:

  • Bot tiene permisos en el canal
  • Canal es público o bot fue invitado
  • Formato del mensaje es válido

Formato correcto:

{
  "channel": "#general",
  "text": "Mensaje de prueba",
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*Título*\nContenido del mensaje"
      }
    }
  ]
}

Problemas Generales

Automatización muy lenta

Optimizaciones:

Procesamiento en paralelo

Usa split/merge en Make o parallel processing en n8n

Batch processing

Procesa múltiples items a la vez en lugar de uno por uno

Filtros tempranos

Filtra datos lo antes posible en el workflow

Caché de datos

Guarda resultados que no cambian frecuentemente

Pérdida de datos

Prevención:

  1. Logging: Guarda logs de todas las transacciones
  2. Error handling: Configura qué hacer cuando falla
  3. Backups: Exporta workflows regularmente
  4. Testing: Prueba con datos de prueba primero

Recuperación:

  • Revisa logs de ejecución
  • Busca en cola de errores
  • Verifica webhooks perdidos
  • Re-ejecuta manualmente si es necesario

Video: Debugging de Automatizaciones

Mejores Prácticas

  • Siempre prueba con datos de ejemplo antes de producción
  • Implementa manejo de errores en cada paso
  • Documenta tus workflows para futuras referencias
  • Monitorea activamente tus automatizaciones
  • Ten un plan B para cuando las cosas fallen