Title
Webhook Integration Guide - SEOengine
Use Case
Learn how to integrate SEOengine with Webhook to automate your content publishing workflow.
SEOengine sends two types of events:
Event 1 — webhook.verify
This event is sent when you add a webhook in SEOengine. Purpose: Confirm that you correctly installed the webhook endpoint.
Payload:
{ "event": "webhook.verify", "challenge": "random-string" }
Expected Response:
{ "success": true, "challenge": "random-string" }
If your handler responds correctly → webhook is verified → you can publish blogs.
Event 2 — blog.publish
Sent when you publish a generated blog.
Payload:
{ "event": "blog.publish", "documentId": "64e9b...", "slug": "my-first-blog", "title": "My First Blog", "content_html": "<h1>My First Blog</h1><p>...</p>", "content_markdown": "# My First Blog\n\n...", "excerpt": "My first blog summary...", "images": ["https://..."], "seo": { "meta_title": "", "meta_description": "", "keywords": [] }, "createdAt": "2025-01-01T00:00:00.000Z" }
Expected Response:
{ "success": true, "url": "https://yourdomain.com/blog/my-first-blog" }
SEOengine will show this URL in the dashboard.
Example Webhook Handler
JavaScript
const crypto = require('crypto'); const http = require('http'); const SECRET = process.env.SEOENGINE_SECRET; const server = http.createServer((req, res) => { if (req.method === 'POST' && req.url === '/webhook') { let body = ''; req.on('data', chunk => { body += chunk.toString(); }); req.on('end', () => { const signature = req.headers['x-seoengine-signature']; const expected = crypto .createHmac('sha256', SECRET) .update(body) .digest('hex'); if (signature !== expected) { res.writeHead(401); res.end(JSON.stringify({ success: false, error: 'Invalid signature' })); return; } const data = JSON.parse(body); if (data.event === 'webhook.verify') { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ success: true, challenge: data.challenge })); return; } if (data.event === 'blog.publish') { // Save blog post saveBlogPost(data.slug, data.content_html); res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ success: true, url: `https://yoursite.com/blog/${data.slug}` })); return; } res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ success: true })); }); } }); server.listen(3000);
Powerful capabilities to streamline your Webhook workflow
Automatically publish your SEO-optimized content to Webhook without manual intervention.
Keep your content synchronized in real-time between SEOengine and Webhook.
Maintain your brand's formatting and styling preferences across all published content.
Transform your content workflow with seamless automation
Reduce manual publishing time by up to 90% with automated content distribution.
Ensure consistent content quality and formatting across all your platforms.
Publish to multiple platforms simultaneously without additional overhead.
Leverage AI-optimized content to improve your search engine rankings.
See how different teams leverage this integration
Content teams can publish blog posts, articles, and updates to Webhook automatically, focusing on creation rather than distribution.
Agencies can manage content for multiple clients efficiently, ensuring timely delivery and consistent quality across all accounts.
E-commerce businesses can automatically publish product descriptions, updates, and SEO content to drive more organic traffic.
Integrate Webhook with SEOengine today and automate your content publishing workflow.
Smart tools to analyze, optimize, and grow your online presence.
India Address:
TinyCheque Ventures Private Limited
Floor No.: 9 Floor, Tower-B3, Unit No-935, Spaze I Tech Park, Sohna Road, Gurugram, Haryana, 122018
US Address:
TinyCheque, Inc.
131 Continental Dr, Suite 305, Newark, Delaware 19713
© 2025 SEOengine.ai by TinyCheque Ventures. All rights reserved.