Webhook
Ein Webhook ist eine HTTP-basierte Methode zur automatischen Übermittlung von Ereignisbenachrichtigungen zwischen Anwendungen in Echtzeit. Sobald ein definiertes Ereignis eintritt, sendet die sendende Anwendung einen HTTP-POST-Request an eine vorher festgelegte URL.
Ausführliche Erklärung
Ein Webhook funktioniert nach einem einfachen Prinzip: System A registriert eine URL bei System B und definiert, bei welchen Ereignissen es benachrichtigt werden möchte. Tritt dieses Ereignis ein – etwa eine neue Bestellung, eine Statusänderung oder ein Formularabschluss –, sendet System B automatisch eine HTTP-POST-Anfrage mit den relevanten Daten an die hinterlegte URL. Die empfangende Anwendung verarbeitet diese Daten und bestätigt den Empfang typischerweise mit einem HTTP-200-Status.
Im Gegensatz zu klassischen API-Abfragen, bei denen ein System in regelmäßigen Intervallen prüft, ob neue Informationen vorliegen (sogenanntes Polling), kehrt ein Webhook die Kommunikationsrichtung um. Daher werden Webhooks auch als „Reverse APIs" oder „Push APIs" bezeichnet. Dieser Ansatz spart Ressourcen, reduziert unnötige Netzwerklast und ermöglicht nahezu sofortige Reaktionen auf relevante Ereignisse.
Für KMU sind Webhooks besonders relevant, wenn es darum geht, verschiedene Cloud-Dienste und Geschäftsanwendungen effizient miteinander zu verbinden. Sie ermöglichen automatisierte Workflows ohne manuelle Dateneingabe und schaffen Transparenz durch Echtzeit-Synchronisation. Typische Einsatzszenarien umfassen die Verknüpfung von E-Commerce-Systemen mit Warenwirtschaft, CRM-Systemen mit E-Mail-Marketing-Tools oder Zahlungsanbietern mit Buchhaltungssoftware.
Sicherheit ist bei Webhooks ein zentrales Thema, da die Endpunkte öffentlich erreichbar sein müssen. Best Practices umfassen ausschließlich HTTPS-Verbindungen, die Validierung von Webhook-Signaturen mittels HMAC, Zeitstempel zur Vermeidung von Replay-Angriffen sowie die Protokollierung aller eingehenden Anfragen. Viele moderne SaaS-Plattformen wie Stripe, GitHub, Shopify oder Slack bieten standardmäßig Webhook-Funktionalität an.
Praxisbeispiel
Eine österreichische Steuerberatungskanzlei mit 12 Mitarbeitenden nutzt Webhooks, um eingehende Mandantenanfragen über das Webformular automatisch zu verarbeiten: Sobald eine Anfrage eingeht, sendet das Content-Management-System via Webhook die Kontaktdaten an das CRM, erzeugt automatisch einen Eintrag im Aufgabenverwaltungssystem und löst eine personalisierte Bestätigungs-E-Mail aus. Was früher 10-15 Minuten manuelle Arbeit pro Anfrage bedeutete, läuft nun vollautomatisch in Sekunden ab.
Code-Beispiel
// Beispiel: Webhook-Empfang mit Signaturprüfung (Node.js)
const crypto = require('crypto');
app.post('/webhook', (req, res) => {
const signature = req.headers['x-webhook-signature'];
const secret = process.env.WEBHOOK_SECRET;
// Signatur verifizieren
const hash = crypto
.createHmac('sha256', secret)
.update(JSON.stringify(req.body))
.digest('hex');
if (hash !== signature) {
return res.status(401).send('Ungültige Signatur');
}
// Webhook verarbeiten
console.log('Ereignis:', req.body.event);
res.status(200).send('OK');
});