Problemas Comunes
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:
- Usar un proxy:
https://cors-anywhere.herokuapp.com/https://api.example.com - 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(); }); - Usar servidor proxy propio
Problemas con Make (Integromat)
Scenario no se ejecuta
Checklist de Verificación:
Debugging:
- Ve al History del scenario
- Busca ejecuciones con errores (ícono rojo)
- Click en la ejecución para ver detalles
- Revisa el log de cada módulo
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:
- URL correcta: Copia la URL del webhook node completamente
- Método HTTP: Verifica GET vs POST
- Firewall: Puerto 5678 debe estar abierto
- 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:
- Ir a Settings → Credentials
- Editar la credencial problemática
- Click en "Test" para verificar conexión
- 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:
- Ve a tu Google Sheet
- Click en "Compartir"
- Agrega el email de servicio:
tu-servicio@proyecto.iam.gserviceaccount.com - 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:
- Logging: Guarda logs de todas las transacciones
- Error handling: Configura qué hacer cuando falla
- Backups: Exporta workflows regularmente
- 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
