Back to Documentation
Dynamic Webhook
Extract specific fields from your webhook payload to use as the notification title, body, or link. Field matching is case-insensitive and handles spaces, underscores, and hyphens interchangeably.
Endpoint
POST https://thenotification.app/api/webhook/dynamic/Query Parameters
| Parameter | Required | Description |
|---|---|---|
| app_key | Yes | Your application API key |
| title | No | Field name to extract as notification title |
| body | No | Field name to extract as notification body |
| url | No | Field name to extract as clickable link |
| exclude | No | Comma-separated field names to exclude from body |
GitHub Pull Request Example
# GitHub webhook URL with field extraction:
https://thenotification.app/api/webhook/dynamic/?app_key=YOUR_API_KEY&title=action&url=html_url&exclude=sender,repository
# When GitHub sends:
{
"action": "opened",
"html_url": "https://github.com/user/repo/pull/1",
"sender": { ... },
"repository": { ... },
"pull_request": {
"title": "Add new feature",
"body": "This PR adds..."
}
}
# You receive a notification with:
# Title: "opened"
# Body: Pull Request: Title: Add new feature, Body: This PR adds...
# Tap to open: https://github.com/user/repo/pull/1Field Matching
Field names are matched case-insensitively with flexible formatting. For example, deployment_url will match Deployment Url, deployment-url, or DeploymentUrl.
Response
{
"success": true,
"message": "Notification sent to 1 device(s)",
"devices_sent": 1,
"failed_count": 0,
"extracted": {
"title": "opened",
"body_length": 156,
"has_link": true
}
}Notification Format
JSON payloads are automatically formatted into clean, readable text:
- Removes JSON syntax (braces, brackets, quotes)
- Converts keys to Title Case
- Formats nested objects with indentation
- Displays arrays as bulleted lists
Use Cases
GitHub Events
Track pushes, pull requests, and issues
Custom Automations
Any service that sends webhooks with specific fields