Webhook (Zapier, Make, n8n, personalizado)
Recibe cada artículo terminado como un webhook JSON firmado — payload exacto, encabezados, verificación de la firma y una guía paso a paso de Zapier.
Para cualquier sitio sin integración nativa, Climb AI entrega cada artículo terminado como un único POST HTTPS firmado a una URL que tú controlas — como HTML, Markdown y campos planos, para que un zap de Zapier, un escenario de Make, un flujo de trabajo de n8n o tu propia ruta puedan tomar lo que necesiten.
- 1Crea un endpointUn trigger "Catch Hook" de Zapier, un trigger de webhook de Make/n8n o una ruta en tu propio sitio — solo HTTPS público; Climb AI rechaza
http://y los hosts internos o privados. - 2Añádelo en Climb AIEn la configuración del sitio, elige Webhook y pega la URL. Deja el secreto en blanco para que se genere uno (se muestra una sola vez, empieza por
whsec_) o pega el tuyo. - 3Verifica con un pingClimb AI envía un evento
pingfirmado y exige una respuesta 2xx antes de guardar la conexión.
Qué se envía
| Encabezado | Valor |
|---|---|
| Content-Type | application/json |
| X-ClimbAI-Event | article.published (o ping para la prueba de verificación) |
| X-ClimbAI-Delivery | Un ID estable por artículo — art_<articleId> — para que puedas deduplicar los reintentos |
| X-ClimbAI-Signature | t=<unix timestamp>,v1=<HMAC-SHA256 hex digest> |
{
"id": "art_66f1c2...",
"event": "article.published",
"createdAt": "2026-09-13T10:15:00.000Z",
"data": {
"id": "66f1c2...",
"title": "How to Choose a Climbing Harness",
"slug": "how-to-choose-a-climbing-harness",
"html": "<h1>...</h1><p>...</p>",
"markdown": "# How to Choose a Climbing Harness\n\n...",
"excerpt": "A quick guide to fit, weight and gear loops.",
"seo": { "metaTitle": "...", "metaDescription": "...", "focusKeyword": "climbing harness" },
"featuredImageUrl": "https://.../featured.webp",
"ogImageUrl": "https://.../og.webp",
"scheduledFor": null,
"website": { "id": "...", "url": "https://example.com", "name": "Example Co" }
}
}function verify(secret, rawBody, header) {
const { t, v1 } = Object.fromEntries(header.split(',').map(kv => kv.split('=')));
if (Math.abs(Date.now() / 1000 - t) > 300) return false; // 5-min tolerance
const expected = require('crypto').createHmac('sha256', secret).update(`${t}.${rawBody}`).digest('hex');
const a = Buffer.from(expected, 'hex'), b = Buffer.from(v1, 'hex');
return a.length === b.length && require('crypto').timingSafeEqual(a, b);
}Qué devolver
Devuelve un estado 2xx en un plazo de 15 segundos. De forma opcional, responde con { "url": "https://yoursite.com/the-post" } si conoces la URL publicada — Climb AI la registra como la URL publicada del artículo; cualquier otro cuerpo 2xx sirve, simplemente no conocerá la URL.
Guía paso a paso de Zapier Catch Hook
- 1Crea un ZapElige Webhooks by Zapier como trigger y el evento Catch Hook.
- 2Copia la URLPega la URL de webhook generada por Zapier en la configuración de la integración Webhook de Climb AI.
- 3Prueba y construyeLanza un envío de prueba desde Climb AI; Zapier captura el JSON como datos de ejemplo que puedes asignar al resto del Zap usando
data.html,data.markdowno los campos de SEO.
Preguntas frecuentes
Solo para artículos de un sitio conectado mediante Webhook, en su fecha de publicación programada — el mismo momento en que publicaría una integración nativa.
- Exportar artículos (HTML, Markdown, JSON) — Descarga cualquier artículo en HTML, Markdown o JSON directamente desde el editor: el JSON es el mismo objeto que recibe tu webhook.
- Conecta tu sitio — Qué pide cada paso de la incorporación, qué se rellena automáticamente y dónde elegir una plataforma de publicación.
- Notificaciones — Qué eventos te notifican en la aplicación o por correo, y cómo activar o desactivar cada categoría.
Prueba gratuita de 5 días, no se cobra nada hasta el día 6, y devolución del dinero durante 30 días a partir de ahí.
5 días de prueba gratuita · 30 días de reembolso garantizado · precio fijo de por vida
¿Sigues atascado? hello@climbai.io