Skip to main content
Help Center

Developer

Webhooks & Integrations

Set up webhooks, Slack, Discord, and CMS integrations.

Webhooks

Receive real-time notifications when events happen on ReachSurge. Available on Growth+ plans.

Setting Up Webhooks

  1. Go to SettingsWebhooks
  2. Click Add Endpoint
  3. Enter your webhook URL
  4. Select which events to subscribe to
  5. Save. We don't send a test ping. The endpoint stays quiet until a real event fires

Webhook Events

  • new_citation: AI engine cited your content
  • backlink_verified: A backlink was confirmed live
  • crawl_complete: Website crawl finished
  • content_refreshed: Content was updated
  • competitor_alert: Competitor ranking changed

Security

All webhook payloads are signed with HMAC-SHA256 via the X-ReachSurge-Signature header. Verify signatures to ensure authenticity.

Slack Integration

  1. Go to SettingsIntegrationsSlack
  2. Create an Incoming Webhook in your Slack workspace
  3. Paste the webhook URL
  4. ReachSurge sends formatted Block Kit messages for all notification events

Discord Integration

  1. Go to SettingsIntegrationsDiscord
  2. Create a webhook in your Discord channel settings
  3. Paste the webhook URL
  4. ReachSurge sends formatted embed messages

CMS Auto-Publishing

Publish generated content directly to your CMS:

  • WordPress: via REST API + Application Passwords
  • Shopify: via GraphQL Admin API
  • Webflow: via CMS API v2
  • Ghost: via Admin API + JWT

Set up in SettingsIntegrations.

FAQ

What format are webhook payloads? JSON with id, type, created_at and data fields, signed with HMAC-SHA256. Note the event name is in type (not event) and the timestamp is created_at (not timestamp). The signature header value is prefixed: sha256=<hex>.

Can I filter which events trigger webhooks? Yes, you select specific events when creating the endpoint.

Do Slack/Discord notifications respect my notification preferences? No. Slack and Discord currently fire for every notification event regardless of your Settings → Notifications preferences. Those preferences apply to email and in-app only. To stop a channel entirely, disconnect it in Settings → Integrations.