Webhook (Zapier, Make, n8n, personalizado)
Receba cada artigo finalizado como um webhook JSON assinado — payload exato, cabeçalhos, verificação de assinatura e um passo a passo do Zapier.
Para qualquer site sem integração nativa, o Climb AI entrega cada artigo finalizado como um único POST HTTPS assinado para uma URL que você controla — em HTML, Markdown e campos simples, para que um zap do Zapier, um cenário do Make, um workflow do n8n ou a sua própria rota possam pegar o que precisam.
- 1Crie um endpointUm gatilho "Catch Hook" do Zapier, um gatilho de webhook do Make/n8n ou uma rota no seu próprio site — somente HTTPS público; o Climb AI rejeita
http://e hosts internos/privados. - 2Adicione no Climb AINa configuração do site, escolha Webhook e cole a URL. Deixe o segredo em branco para que um seja gerado (mostrado uma vez, começa com
whsec_), ou cole o seu próprio. - 3Verifique com um pingO Climb AI envia um evento
pingassinado e exige uma resposta 2xx antes de salvar a conexão.
O que é enviado
| Cabeçalho | Valor |
|---|---|
| Content-Type | application/json |
| X-ClimbAI-Event | article.published (ou ping para o teste de verificação) |
| X-ClimbAI-Delivery | Um ID estável por artigo — art_<articleId> — para você poder deduplicar as tentativas |
| 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);
}O que retornar
Retorne um status 2xx em até 15 segundos. Opcionalmente responda com { "url": "https://yoursite.com/the-post" } se souber a URL ao vivo — o Climb AI a registra como a URL publicada do artigo; qualquer outro corpo 2xx serve, ele só não saberá a URL.
Passo a passo do Catch Hook do Zapier
- 1Crie um ZapEscolha Webhooks by Zapier como gatilho e o evento Catch Hook.
- 2Copie a URLCole a URL de webhook gerada pelo Zapier na configuração da integração Webhook do Climb AI.
- 3Teste e monteDispare um envio de teste a partir do Climb AI; o Zapier captura o JSON como dados de amostra que você pode mapear para o resto do Zap usando
data.html,data.markdownou os campos de SEO.
Perguntas frequentes
Somente para artigos de um site conectado via Webhook, na data de publicação agendada — o mesmo momento em que uma integração nativa publicaria.
- Exportar artigos (HTML, Markdown, JSON) — Baixe qualquer artigo como HTML, Markdown ou JSON direto do editor — o JSON é o mesmo objeto que seu webhook recebe.
- Conecte seu site — O que cada etapa do onboarding pede, o que é preenchido automaticamente e onde escolher uma plataforma de publicação.
- Notificações — Quais eventos notificam você no app ou por e-mail e como ativar ou desativar cada categoria.
Teste grátis de 5 dias, nada é cobrado até o dia 6, reembolso em 30 dias depois disso.
5 dias de teste grátis · 30 dias de garantia de reembolso · preço travado para sempre
Ainda preso? hello@climbai.io