Skip to content

Generic Webhook

Send JSON payloads to any HTTP endpoint. Use for custom integrations with PagerDuty, Uptime Kuma, or any service that accepts HTTP requests.

Configuration

FieldDescriptionDefaultRequired
Webhook URLTarget HTTP endpoint URL-
HTTP MethodPOST, PUT, or PATCHPOST
Content-TypeContent-Type header valueapplication/json
AuthorizationAuthorization header value (e.g., Bearer token)-
Custom HeadersAdditional headers (one per line, Key: Value)-
Payload TemplateCustom JSON with placeholders-

Setup Guide

  1. In DBackup: NotificationsAdd NotificationGeneric Webhook
  2. Enter the target URL
  3. (Optional) Configure method, auth header, custom headers, and payload template
  4. Click TestSave

Default Payload

When no custom template is set, DBackup sends:

json
{
  "title": "Backup Successful",
  "message": "Job 'Production MySQL' completed successfully",
  "success": true,
  "color": "#00ff00",
  "timestamp": "2026-02-20T14:30:00.000Z",
  "eventType": "backup_success",
  "fields": [
    { "name": "Job", "value": "Production MySQL", "inline": true }
  ]
}

Custom Payload Templates

Use placeholders to create your own payload structure:

VariableDescriptionExample
Event titleBackup Successful
Summary messageJob 'Production' completed
Boolean (as string)true / false
Status hex color#00ff00
ISO 8601 timestamp2026-02-20T14:30:00.000Z
Event type identifierbackup_success
JSON array of fields[{"name":"Job","value":"Prod"}]

INFO

Variable names must match the pattern [a-zA-Z0-9_]+ - no hyphens or special characters.

Template examples (PagerDuty, Uptime Kuma, Simple Text)

PagerDuty:

json
{
  "routing_key": "YOUR_ROUTING_KEY",
  "event_action": "trigger",
  "payload": {
    "summary": "{{title}}: {{message}}",
    "severity": "critical",
    "source": "dbackup"
  }
}

Uptime Kuma (Push): No template needed - use the push URL directly:

https://uptime.example.com/api/push/TOKEN?status=up&msg={{message}}

Simple Text:

json
{ "text": "[{{title}}] {{message}}" }

Authentication

  • Bearer Token: Set Authorization to Bearer your-token
  • API Key: Use Custom Headers: X-API-Key: your-key
  • Basic Auth: Set Authorization to Basic <base64> (generate with echo -n "user:pass" | base64)

Troubleshooting

401 - Unauthorized

Verify the Authorization header value. Check that the token hasn't expired and has the required permissions.

400 - Bad Request

Verify your custom template is valid JSON. Check the target service's expected payload format. Ensure Content-Type matches what the service expects.

Template Variables Not Replaced

Check for typos - variable names are case-sensitive. Only the documented variables above are supported.

Released under the GNU General Public License. | Privacy · Legal Notice