Connect Any Platform via Webhook
Universal integration for any CMS, platform, or custom endpoint
Quick Setup Overview
Settings
→
Integrations
→
API Webhook
→
Configure & Test
Takes about 3 minutes to configure your custom webhook endpoint.
What is a Webhook Integration?
A webhook allows SEOMate to send your generated blog posts to any custom API endpoint you control. This makes it possible to integrate with:
- •Custom-built CMS platforms
- •Internal content management systems
- •Automation platforms (Make.com, Zapier, n8n)
- •Any platform with a REST API
- •Multiple destinations simultaneously
Prerequisites
✓ A webhook endpoint URL (HTTPS recommended)
✓ API credentials (if your endpoint requires authentication)
✓ Ability to receive HTTP POST requests
Webhook Payload Format
When SEOMate publishes to your webhook, it sends a JSON payload with the following structure:
{
"event": "post.published",
"timestamp": "2025-01-13T10:30:00.000Z",
"post": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Your Blog Post Title",
"content": "# Full markdown content here...",
"description": "Post description/excerpt",
"cover_image": "https://example.com/image.jpg",
"tags": ["seo", "marketing"],
"published_at": "2025-01-13T10:30:00.000Z",
"canonical_url": "https://seomate.ai/blog/articlehub/550e8400..."
},
"user_id": "user-uuid-here",
"seomate_url": "https://seomate.ai/blog/articlehub/550e8400..."
}Your endpoint should respond with a 2xx status code to indicate success. Any other status will trigger a retry if you have retries enabled.
Step-by-Step Setup
Step 1: Prepare Your Webhook Endpoint
Before configuring SEOMate, ensure your webhook endpoint is ready:
- Set up an HTTPS endpoint that can receive POST requests
- Implement JSON parsing to handle the webhook payload
- Add authentication handling if you want to secure the endpoint
- Test your endpoint with tools like Postman or curl
Always use HTTPS for production webhooks and implement authentication to prevent unauthorized access to your endpoint.
Step 2: Access SEOMate Integrations
- Log in to your SEOMate dashboard
- Navigate to Settings → Integrations
- Find the API Webhook card
- Click Connect
Step 3: Configure Webhook Settings
Fill in the webhook configuration form:
Basic Settings
- Integration Name: A friendly name (e.g., "My Custom CMS")
- Webhook URL: Your endpoint URL (e.g.,
https://api.example.com/webhooks/seomate)
Authentication Method
Choose one of four authentication options:
None
No authentication. Use only for testing or if your endpoint is secured by other means (IP whitelist, etc.)
Bearer Token
Adds
Authorization: Bearer YOUR_TOKEN
header. Common for modern APIs.
Basic Auth
Standard HTTP Basic Authentication with username and password. Encoded as Base64.
Custom Header
Send any custom header with your request (e.g.,
X-API-Key)
Step 4: Advanced Settings (Automatic)
These settings are pre-configured for optimal performance:
- Retry Attempts: 3 attempts with exponential backoff
- Timeout: 30 seconds per request
- Content-Type:
application/json - User-Agent:
SEOMate-Webhook/1.0
Step 5: Test Your Webhook
- Click Test Webhook button
- SEOMate sends a test payload to your endpoint
- Wait for the response
The test sends a sample blog post with event type "test" to verify your endpoint is working correctly.
Step 6: Save Integration
- Once the test succeeds, click Save Integration
- Your webhook is now active and ready to receive blog posts!
Integration Complete!
Your custom webhook is now connected to SEOMate. Every time you publish a blog post, it will be automatically sent to your endpoint.
Common Use Cases
1. Integration with Automation Platforms
Connect SEOMate to Make.com, Zapier, or n8n:
- Create a webhook trigger in your automation platform
- Copy the webhook URL
- Use it as your SEOMate webhook endpoint
- Build workflows to process and distribute content
2. Custom CMS Integration
For custom-built content management systems:
// Example Express.js endpoint
app.post("/webhooks/seomate", async (req, res) => {
const { event, post } = req.body;
if (event === "post.published") {
// Save to your CMS database
await db.posts.create({
title: post.title,
content: post.content,
published_at: post.published_at,
});
res.json({ success: true, id: "your-post-id" });
}
});3. Multi-Destination Publishing
Set up multiple webhooks to publish to different platforms simultaneously:
- Production website
- Staging environment
- Content backup system
- Analytics tracking
Troubleshooting
Webhook test failing?
• Verify your endpoint is publicly accessible
• Check authentication credentials are correct
• Ensure your server returns 2xx status codes
• Validate your endpoint can parse JSON
Publish failing but test works?
• Check your endpoint timeout settings (30s default)
• Review publishing logs in Settings → Publishing
• Verify your endpoint handles larger payloads
Delivery Tracking
All webhook deliveries are automatically tracked in your SEOMate dashboard:
- Go to Settings → Publishing
- View the Publishing Logs tab
- Filter by platform = "webhook"
- See delivery status, attempts, and error messages
If delivery fails, SEOMate automatically retries up to 3 times with exponential backoff (2s, 4s, 8s delays).
Security Headers
SEOMate sends these headers with every webhook request:
Content-Type: application/jsonUser-Agent: SEOMate-Webhook/1.0X-SEOMate-Event: post.published- Your configured authentication header
You can use these headers to validate requests are coming from SEOMate.
Ready to Connect Your Webhook?
Set up your custom webhook endpoint and start publishing AI-generated content to any platform you want.