Integrations
Integration Details
Title
Webhook Integration Guide - SEOengine
Use Case
Integrate SEOengine with Webhook to automate content publishing. Complete setup guide with code examples for Node.js, Python, PHP, and Go.
Webhook Handler Examples
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);
Key Features
Powerful capabilities to streamline your Webhook workflow
Automated Publishing
Automatically publish your SEO-optimized content to Webhook without manual intervention.
Real-time Sync
Keep your content synchronized in real-time between SEOengine and Webhook.
Custom Formatting
Maintain your brand's formatting and styling preferences across all published content.
Why Choose This Integration?
Transform your content workflow with seamless automation
Save Time & Resources
Reduce manual publishing time by up to 90% with automated content distribution.
Improve Consistency
Ensure consistent content quality and formatting across all your platforms.
Scale Effortlessly
Publish to multiple platforms simultaneously without additional overhead.
Boost SEO Performance
Leverage AI-optimized content to improve your search engine rankings.
Perfect For
See how different teams leverage this integration
Streamline Publishing
Content teams can publish blog posts, articles, and updates to Webhook automatically, focusing on creation rather than distribution.
Manage Multiple Clients
Agencies can manage content for multiple clients efficiently, ensuring timely delivery and consistent quality across all accounts.
Product Updates
E-commerce businesses can automatically publish product descriptions, updates, and SEO content to drive more organic traffic.
Ready to Connect?
Integrate Webhook with SEOengine today and automate your content publishing workflow.