Webhooks

Webhook Updates

Want issue updates sent directly to your own workflow?

Webhook delivery is live for automation targets like Slack, Teams, Telegram bots, and custom endpoints.

Supported event types

  • issue.published

Payload shape

{
  "event": "issue.published",
  "occurred_at": "2026-03-01T00:00:00.000Z",
  "issue": {
    "title": "AI Adjacent - Weekly Briefing (Feb 28, 2026)",
    "slug": "weekly-briefing-2026-02-28",
    "url": "https://aiadjacent.com/issue/weekly-briefing-2026-02-28",
    "issue_type": "weekly",
    "date": "2026-02-28"
  }
}

Delivery model

  • Per-subscriber destination URL
  • Signed requests via HMAC header
  • Retry with backoff for transient failures

Quickstart

1) Subscribe an endpoint

curl -X POST https://aiadjacent.com/api/webhooks/subscribe \
  -H "Content-Type: application/json" \
  -d '{
    "destinationUrl": "https://example.com/incoming/aiadjacent",
    "events": ["issue.published"]
  }'

Response includes id and secret. Save both.

2) Verify signatures

Every delivery includes:

  • X-AIAdjacent-Event
  • X-AIAdjacent-Timestamp
  • X-AIAdjacent-Signature

Signature base string is:

<timestamp>.<raw_request_body>

Use HMAC-SHA256 with your webhook secret, then compare to the X-AIAdjacent-Signature header.

3) Unsubscribe

curl -X POST https://aiadjacent.com/api/webhooks/unsubscribe \
  -H "Content-Type: application/json" \
  -d '{
    "id": 123,
    "secret": "<your-secret>"
  }'

If you need help connecting a specific integration, email hello@aiadjacent.com.