Skip to content

Set Up Webhooks for Alerts

By the end of this guide, you’ll know how to set up webhooks to receive real-time notifications about important SEO events.

Prerequisites: Schedule reports to have your reporting workflow in place.

What are webhooks?

Webhooks are HTTP notifications that SEOJuice sends to your server when specific events happen. Instead of checking the dashboard manually, webhooks push updates to you — so you can integrate SEOJuice with Slack, email automation, custom dashboards, or any other tool that accepts HTTP requests.

Step 1: Create a webhook endpoint

From the dashboard, navigate to your Organization Settings > Webhooks. Click Create Webhook and configure:

  • Endpoint URL — the HTTPS URL where SEOJuice should send notifications
  • Events — which events you want to subscribe to
  • Secret key — automatically generated for verifying webhook authenticity

Step 2: Choose your events

Select which events trigger notifications:

EventWhen it fires
Report completedA new audit report has finished generating
Analysis finishedWebsite analysis/crawl has completed
Links generatedNew internal links have been created
Accessibility issues detectedNew accessibility issues found during crawl
Content gap identifiedNew content opportunities discovered
Competitors updatedCompetitor analysis data has been refreshed

Step 3: Verify webhook signatures

Every webhook request includes an HMAC-SHA256 signature in the headers. Always verify this signature to ensure the request is genuinely from SEOJuice:

import hmac
import hashlib
def verify_signature(payload_body, signature_header, secret):
expected = hmac.new(
secret.encode('utf-8'),
payload_body,
hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature_header)

The webhook secret is displayed when you create the endpoint and can be viewed in your webhook settings at any time.

Delivery and retries

SEOJuice expects your endpoint to respond with a 2xx status code within 30 seconds. If delivery fails, SEOJuice retries up to 3 times with exponential backoff:

  1. 1st retry — after 1 minute
  2. 2nd retry — after 5 minutes
  3. 3rd retry — after 30 minutes

After 3 failed attempts, the delivery is marked as failed. You can view delivery history and inspect payloads from the webhook detail page.

What to expect

Webhook events fire in real-time as SEOJuice processes your site. You can test your endpoint by sending a test event from the webhook settings page. Monitor your delivery history to ensure your endpoint is receiving and processing events correctly.


You’ve set up monitoring across the board. For any issues, check Troubleshooting.