What it does
Posts a JSON payload to any public external URL. Supports optional HMAC-SHA256 signing via a shared secret. The signed hash is attached as X-Hub-Signature-256, matching the GitHub/Stripe webhook convention. SSRF-protected — private IP ranges and metadata endpoints are blocked. Use for integrating with Zapier, Make, IFTTT, or any webhook-based automation.
When to use it
- Trigger a Zapier or Make workflow from within an agent task
- Notify an external service when a condition is met
- Dispatch a verified webhook to an IFTTT applet
Request schema
{
"target_url": "https://hooks.zapier.com/hooks/catch/...",
"payload": {
"event": "task_complete",
"items": 14
},
"secret": "optional-signing-key"
} Response schema
{
"delivered": true,
"status_code": 200
} Code example — TypeScript via MCP
Install the MCP server once; all 16 services become tool calls.
// Configure @melis-ai/x402-tools-mcp in your MCP client
// Then call the tool:
const result = await mcpClient.callTool("notifyrelay_webhook", {
"target_url": "https://hooks.zapier.com/hooks/catch/...",
"payload": {
"event": "task_complete",
"items": 14
},
"secret": "optional-signing-key"
});
console.log(result);
// ["delivered","status_code"]... → MCP setup guide Code example — Python via direct HTTP
import requests
# x402 payment header must be set by your wallet client
# See x402.org for client libraries
headers = {
"Content-Type": "application/json",
"x-payment": "<signed-x402-payment-header>",
}
resp = requests.post(
"https://notify.melis.ai/webhook",
json={
"target_url": "https://hooks.zapier.com/hooks/catch/...",
"payload": {
"event": "task_complete",
"items": 14
},
"secret": "optional-signing-key"
},
headers=headers,
)
print(resp.json()) Code example — curl with internal key bypass
For testing with an issued internal key (skips x402 payment flow):
curl -X POST https://notify.melis.ai/webhook \
-H "Content-Type: application/json" \
-H "x-internal-key: YOUR_KEY" \
-d '{"target_url":"https://hooks.zapier.com/hooks/catch/...","payload":{"event":"task_complete","items":14},"secret":"optional-signing-key"}' FAQ
Does it work without an account?
Yes. x402 is account-less. Your agent's wallet signs the payment and retries automatically. No registration, no API key, no subscription.
What happens on failure?
Returns HTTP 422 for private IPs, file:// URIs, or missing fields. Returns delivered: false with error message if the target URL returns a non-2xx.
What is the rate limit?
10 requests per minute per IP.
Is this open-source?
The service code is closed-source for security reasons. The MCP wrapper that calls it is open-source and MIT-licensed: github.com/mizukaizen/x402-tools-mcp .
Who built this?
Part of the melis.ai agent infrastructure stack. Running on a dedicated Helsinki VPS since early 2026. Contact sean@melis.ai.