Pipedream webhook trigger — powered by DiffHook
Drop a DiffHook webhook delivery onto a Pipedream HTTP trigger URL and the workflow runs only when the watched page, JSON API, or feed actually changes. No Scheduled Source, no hand-rolled diff, no wasted workflow credits.
Pipedream is a great host for Node or Python workflow logic, but turning "when this page changes" into a Pipedream trigger usually means a Scheduled Source + HTTP request + some diff-in-code + $.service.db for state. That's a lot of JavaScript to maintain just to avoid running the workflow every minute. DiffHook moves the monitoring out of Pipedream so the workflow only wakes up for the real signal.
Workflow
Wire DiffHook into Pipedream in 5 steps
No Scheduled Source, no state key, no diff code. One POST creates the pipeline.
Create a Pipedream workflow with an HTTP trigger
In Pipedream, start a new workflow and pick the HTTP / Webhook trigger. Pipedream gives you an endpoint URL like https://eoXXX.m.pipedream.net — copy it for step 3.
Pick the source DiffHook should watch
Decide what moves: a URL with a CSS selector, a JSON API with a JSONPath, or an RSS feed. DiffHook handles the fetch, the cache, and the diff — Pipedream only needs to receive events.
POST a monitor with a Pipedream delivery
Register the monitor with a webhook-type delivery whose URL is your Pipedream endpoint. DiffHook starts checking on the interval you pick and POSTs only on real changes.
Verify the HMAC signature in a code step
Add a Node.js code step that recomputes HMAC-SHA256 over steps.trigger.event.body using your DiffHook signing secret, compares it to the X-DiffHook-Signature header, and ends the workflow if it doesn't match.
Run your actual workflow logic
Now you're in normal Pipedream territory: query a database, call an LLM, push to Slack, update a CRM. The workflow only runs when DiffHook says something moved — no throttling, no idle executions.
API example
A Pipedream-backed monitor in one POST
The Pipedream endpoint goes straight into deliveries[0].url. DiffHook handles retry, replay, and cross-region delivery for you.
POST https://api.diffhook.com/v1/monitors
Authorization: Bearer $DIFFHOOK_API_KEY
Content-Type: application/json
{
"type": "html_css",
"url": "https://target.example.com/changelog",
"css_selector": ".entry:first-child",
"interval_seconds": 300,
"deliveries": [
{
"type": "webhook",
"url": "https://eoabc123.m.pipedream.net"
}
]
}Importable workflow
Start from a ready-made Pipedream workflow
A GitHub Gist with the HMAC check step, a JSON-body parser, and a Slack / Discord destination. Fork, paste your DiffHook signing secret, deploy.
FAQ
Pipedream webhook — common questions
Why not use Pipedream's Scheduled Source to poll the URL myself?
How do I verify the HMAC signature in Pipedream?
What's in the webhook body?
Can Pipedream handle the burst when I create a monitor?
Does this work with Pipedream Connect / server-side workflows?
Related workflows
Also great with DiffHook
n8n webhook
Same pattern for n8n — drop the n8n Webhook URL into the monitor's delivery.
Zapier webhook
Prefer Zapier? The same DiffHook payload lands cleanly in a Zap Catch Hook.
API endpoint monitoring
Watching a JSON API instead of HTML? Same webhook pattern with a JSONPath selector.
Make.com web scraping
Low-code alternative with the same webhook ergonomics — useful when a non-dev teammate owns the workflow.
RSS to webhook
If the source is an RSS feed, the same DiffHook core fires a webhook per new item into Pipedream.
n8n web scraping
Need HTML scraping with structured extraction? Same monitor, n8n webhook on the receiving side.
Stop writing diff-and-dedupe code in Pipedream
Free tier, HMAC-signed webhooks, 60-second checks, full REST API. Pipedream workflow only runs on real changes.