Dynamic webhook
Last updatedยท1 min read
Extract specific fields from a webhook payload to use as the notification title, body, or link. Use this when you want full control over what appears in the notification.
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 a clickable link |
| exclude | No | Comma-separated field names to exclude from the body |
Field matching
Field names are matched case-insensitively with flexible formatting. deployment_url will match Deployment Url, deployment-url, and DeploymentUrl โ spaces, underscores, and hyphens are treated as equivalent.
GitHub pull request example
https://thenotification.app/api/webhook/dynamic/?app_key=YOUR_API_KEY&title=action&url=html_url&exclude=sender,repository
When GitHub sends this payload:
{
"action": "opened",
"html_url": "https://github.com/user/repo/pull/1",
"sender": { "login": "..." },
"repository": { "name": "..." },
"pull_request": {
"title": "Add new feature",
"body": "This PR adds..."
}
}
You receive a notification with:
- Title:
opened - Body: The pull request fields, excluding
senderandrepository - Tap to open:
https://github.com/user/repo/pull/1
Payload formatting
JSON payloads are automatically formatted into clean, readable text:
- JSON syntax (braces, brackets, quotes) is removed
- Keys are converted to Title Case
- Nested objects are indented
- Arrays are displayed as bulleted lists
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
}
}