Pipedream+DiffHook

Pipedream-Webhook-Trigger — angetrieben von DiffHook

Klemmen Sie eine DiffHook-Webhook-Zustellung an eine Pipedream-HTTP-Trigger-URL, und der Workflow läuft nur, wenn die beobachtete Seite, JSON-API oder der Feed tatsächlich eine Änderung hat. Keine Scheduled Source, kein selbstgebauter Diff, keine verschwendeten Workflow-Credits.

Pipedream ist ein großartiger Host für Node- oder Python-Workflow-Logik, aber „wenn sich diese Seite ändert" in einen Pipedream-Trigger zu verwandeln heißt meist Scheduled Source + HTTP-Request + Diff-im-Code + $.service.db für den Zustand. Viel JavaScript zur Pflege, nur damit der Workflow nicht jede Minute läuft. DiffHook schiebt das Monitoring aus Pipedream heraus — der Workflow wacht nur beim echten Signal auf.

Workflow

DiffHook in 5 Schritten in Pipedream einbauen

Keine Scheduled Source, kein State-Key, kein Diff-Code. Ein POST erschafft die Pipeline.

01

Pipedream-Workflow mit HTTP-Trigger anlegen

Starten Sie in Pipedream einen neuen Workflow und wählen Sie den HTTP-/Webhook-Trigger. Pipedream liefert eine Endpoint-URL vom Typ https://eoXXX.m.pipedream.net — kopieren Sie sie für Schritt 3.

02

Quelle wählen, die DiffHook beobachtet

Entscheiden Sie, was sich bewegt: URL mit CSS-Selektor, JSON-API mit JSONPath oder RSS-Feed. DiffHook kümmert sich um Fetch, Cache und Diff — Pipedream empfängt nur noch Events.

03

Monitor mit einer Pipedream-Zustellung POSTen

Registrieren Sie den Monitor mit einer Webhook-Zustellung, deren URL Ihr Pipedream-Endpoint ist. DiffHook startet die Checks im gewählten Intervall und POSTet nur bei echten Änderungen.

04

HMAC-Signatur in einem Code-Step prüfen

Fügen Sie einen Node.js-Code-Step hinzu, der HMAC-SHA256 über steps.trigger.event.body mit Ihrem DiffHook-Signing-Secret berechnet, mit dem X-DiffHook-Signature-Header vergleicht und den Workflow bei Abweichung beendet.

05

Eigentliche Workflow-Logik ausführen

Jetzt sind Sie in normalem Pipedream: Datenbank abfragen, LLM aufrufen, Slack pushen, CRM aktualisieren. Der Workflow läuft nur, wenn DiffHook sagt, dass sich etwas bewegt hat — kein Throttling, keine Leerausführungen.

API-Beispiel

Ein Pipedream-gestützter Monitor in einem POST

Der Pipedream-Endpoint landet direkt in deliveries[0].url. DiffHook übernimmt Retry, Replay und Cross-Region-Zustellung.

POST /v1/monitors
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"
    }
  ]
}

Importierbarer Workflow

Mit einem fertigen Pipedream-Workflow starten

Ein GitHub-Gist mit HMAC-Prüfung, JSON-Body-Parser und Slack-/Discord-Ziel. Forken, DiffHook-Signing-Secret einfügen, deployen.

FAQ

Pipedream-Webhook — häufige Fragen

Warum nicht Pipedreams Scheduled Source nehmen und die URL selbst pollen?
Können Sie — aber Sie bauen DiffHook dann im Code-Step nach. State (zum Deduplizieren), Retry (bei 5xx), Backoff (bei 429) und Diff-Logik (für „was hat sich wirklich geändert") werden Ihre Aufgabe. DiffHook macht das in einem POST. Der Pipedream-Workflow bleibt auf die nachgelagerte Business-Logik konzentriert.
Wie verifiziere ich die HMAC-Signatur in Pipedream?
Ein sechs-zeiliger Node.js-Code-Step: berechnen Sie crypto.createHmac('sha256', secret).update(steps.trigger.event.body).digest('hex') und vergleichen mit steps.trigger.event.headers['x-diffhook-signature']. Bei Abweichung $.flow.exit() aufrufen. Das Pipedream-Template auf GitHub enthält den exakten Code.
Was steht im Webhook-Body?
Ein flaches JSON-Objekt: monitor_id, event ("change"), url, selector oder json_path, previous_value, current_value, detected_at und delivery_id. Für gerenderte Monitore auch render_engine und render_status. Das vollständige Schema ist versioniert und dokumentiert.
Kann Pipedream den Burst beim Anlegen eines Monitors verkraften?
DiffHook drosselt die erste Zustellung, damit ein frisch angelegter Monitor Pipedream nicht beim Initial-Baseline-Fetch flutet. Änderungen nach der Baseline werden geliefert, sobald sie entstehen — Sie können in DiffHook jederzeit einen Delivery-Filter setzen, um sie stundenweise zu batchen, falls der Workflow Durchsatzlimits hat.
Funktioniert das mit Pipedream Connect / serverseitigen Workflows?
Ja — der DiffHook-Webhook ist ein signierter HTTP-POST, jedes Pipedream-Produkt mit HTTP-Endpoint akzeptiert ihn. Connect, Sources und Workflows verhalten sich identisch; fügen Sie einfach die Endpoint-URL in deliveries[0].url am Monitor ein.

Verwandte Workflows

Auch großartig mit DiffHook

Hören Sie auf, Diff- und Dedup-Code in Pipedream zu schreiben

Kostenloser Tarif, HMAC-signierte Webhooks, 60-Sekunden-Checks, vollständige REST-API. Der Pipedream-Workflow läuft nur bei echten Änderungen.