Skip to content

Webhooks ​

Reflex sends outbound notifications to configured notification channels when deployments change state.

Configuring channels ​

Navigate to Settings → Notification channels in your dashboard. Each channel requires:

  • URL or destination — HTTPS webhook, Slack, email, or GitHub status, depending on channel type
  • Events — Which deployment event types to subscribe to
  • Secret — A shared secret for signature verification when the channel type supports it

Event types ​

These are the events the product actually emits (App\Enums\DeploymentNotificationEvent):

EventDescription
deployment.startedA deployment has begun
deployment.succeededA deployment completed successfully
deployment.failedA deployment failed

Outbound notification channels only emit the three deployment events above. cPanel alert hooks are a separate team setting, not this channel list.

Payload format ​

Channel payloads vary by destination (Slack blocks, GitHub status, generic JSON). Treat the dashboard “send test” as the source of truth for your channel type. A generic JSON body looks like:

json
{
  "type": "deployment.succeeded",
  "deployment_id": "dep_xyz789",
  "server_id": "srv_def456"
}

Signature verification ​

Signed webhook channel types include a signature header. Always verify the signature before processing any webhook payload.

Retry policy ​

Failed webhook deliveries (non-2xx response) are retried with backoff according to the channel implementation. Check the notification delivery log in the dashboard for failures.

Best practices ​

  • Respond quickly — Return a 200 within 5 seconds and process asynchronously
  • Verify signatures — Always validate the signature header when the channel signs requests
  • Handle duplicates — The same event may be delivered more than once
  • Monitor failures — Check the delivery log in your dashboard

© Reflex by ExpertWeb. All rights reserved.