Webhooks overview

Webhooks let Aigeon push events to your server in real time rather than requiring you to poll. Whenever an email is opened, clicked, bounced, or a contact unsubscribes, Aigeon fires an HTTP POST to the endpoint URL you register — signed, so you can verify it really came from Aigeon.

Setting up a webhook

  1. Open Settings → Webhooks → Create webhook.
  2. Paste your publicly accessible HTTPS endpoint URL.
  3. Select the events you want to receive (or toggle on all events).
  4. Click Create.

Aigeon shows the signing secret once at creation time. Save it in your secret manager — you'll need it to verify incoming payloads.

Payload shape

Every webhook POST body follows this envelope:

{
  "event_name": "emailClick",
  "organization_id": "org_abc",
  "timestamp": 1745000000,
  "data": { ... }
}
  • event_name — one of the event types from the event catalog.
  • organization_id — which org the event belongs to.
  • timestamp — Unix epoch seconds when the event occurred.
  • data — event-specific payload. Shape varies per event type.

Headers

| Header | Value | | --- | --- | | Content-Type | application/json | | X-Aigeon-Signature | t=<timestamp>,v1=<hmac> | | X-Aigeon-Event | e.g. emailClick |

Retry policy

If your endpoint returns a non-200 response or times out (10-second window), Aigeon retries with exponential backoff: 30 s, 60 s, 120 s. Responses with HTTP 4xx are not retried — they indicate a permanent client-side error.

Managing webhooks via API

You can also create and manage webhooks programmatically:

# List webhooks
curl https://api.aigeon.ai/api/v1/organization/webhooks \
  -H "Authorization: Bearer <jwt>"

# Create a webhook
curl -X POST https://api.aigeon.ai/api/v1/organization/webhooks \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My endpoint",
    "url": "https://my.service/aigeon-hook",
    "event_types": ["emailOpen", "emailClick", "emailHardBounce"]
  }'

The create response includes signing_secret — this is the only time it appears. Keep it.

© Aigeon.ai 2025
All Rights Reserved