Skip to content

Webhook Management

Webhooks are created and managed entirely through the GamifyHost dashboard. There are no public API endpoints for webhook management.

  1. Sign up for a GamifyHost account at dashboard.gamifyhost.com
  2. Create an app from the dashboard — webhooks are scoped per-app
  3. Navigate to your app’s Settings → Webhooks section

From the Webhooks section of your app:

  1. Click Add Webhook
  2. Enter the HTTPS URL where you want to receive events
  3. Select the events you want to subscribe to:
    • points.awarded — fired when points are awarded to a user
    • game.played — fired when a user plays a game
  4. Click Create

After creation, you’ll be shown a webhook secret (prefixed with whsec_). Copy and store it securely — it is only displayed once. You’ll need this secret to verify webhook signatures.

The dashboard lists all webhooks for your app, showing:

  • URL — the delivery endpoint
  • Events — which events are subscribed
  • StatusACTIVE or DISABLED
  • Secret prefix — first few characters of the secret (for identification)
  • Last triggered — when the webhook last received an event
  • Failure count — consecutive failed deliveries

Click on any webhook to edit:

  • Change the delivery URL
  • Add or remove event subscriptions
  • Disable or re-enable the webhook

Click Delete on any webhook to permanently remove it along with all its delivery history.

Click Send Test to dispatch a test payload to your URL. This verifies that your endpoint is reachable and responding correctly. The test payload looks like:

{
"event": "test",
"data": {
"message": "This is a test webhook from GamifyHost"
},
"timestamp": "2025-07-15T10:00:00Z"
}

The test has a 10-second timeout. Check your server logs to confirm receipt.

The dashboard provides a delivery log for each app, showing every webhook attempt:

  • Event type and payload sent
  • HTTP status code returned by your server
  • Response body from your server
  • Duration of the round-trip
  • StatusSUCCESS or FAILED (with error details for failures)
  • Attempt number — retries are numbered 1 through 5

You can filter deliveries by event type or status (SUCCESS / FAILED).

Failed deliveries are retried automatically:

  • Up to 5 attempts per event
  • 3-minute intervals between retries
  • A delivery is considered failed if your server doesn’t respond with a 2xx status within 10 seconds
  • Consecutive failures increment the webhook’s failureCount