Docs/Webhooks

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 sender and repository
  • 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
  }
}