Package Version Wizard Demo de integración con n8n

Prueba el roundtrip persistido entre SvelteKit, Postgres y tu workflow de n8n.

Esta landing sigue siendo demo-first, pero ahora cada corrida vive en Postgres, se expone en una URL estable y queda lista para evolucionar a historial, uploads reales y automatizaciones.

1. Trigger

La app construye el payload demo, crea el análisis y sus dependencias en Postgres, y luego dispara el webhook privado de n8n.

2. Espera

La UI redirige a una URL persistida del análisis y hace polling contra la API real hasta que llegue el callback.

3. Brief

El callback firmado se valida, se deduplica y queda guardado como un brief premium recuperable en `/analysis/[id]`.

El payload demo incluye upgrades mixtos, un paquete deprecated y suficiente contexto para que n8n devuelva un brief interesante y quede persistido como análisis.

Readiness

Estado de la integración

Single-node demo

Postgres persistido

`DATABASE_URL`

Listo

Webhook privado de n8n

`N8N_ANALYSIS_WEBHOOK_URL` + token

Listo

Validación del callback

`N8N_CALLBACK_SECRET`

Listo

Callback fijo

https://hackaton.jamesjh.top/api/internal/n8n/callback

n8n ya puede llamar este endpoint. La app valida `x-n8n-signature`, registra `x-idempotency-key`, deduplica retries y persiste el resultado del callback en Postgres.

Persistencia real

Qué queda guardado

Proyecto

Slug lógico reutilizable para que esta demo pueda crecer a historial y rechecks.

Análisis

Estado, payload enviado, callback crudo, brief renderizado y timestamps terminales.

Dependencias

Snapshot normalizado por análisis para que luego puedas comparar corridas.

Receipts de callback

Idempotency keys persistidas para que retries de n8n no reescriban el análisis.

Ruta final

/analysis/[id]

Después del trigger, la app redirige a una URL estable del análisis. Desde ahí verás el polling corto, el callback firmado y el brief renderizado, todo leyendo desde Postgres.

Stack de esta slice

SvelteKit SSR + Bun SQL nativo + Postgres + webhook privado a n8n + callback idempotente.