Webhook-Publishing
Schritt-für-Schritt-Anleitung, wie ein eigener Webhook — etwa ein n8n-, Make- oder selbst gebauter Endpoint — als Veröffentlichungsziel in ALLMEDIA.AI eingerichtet wird.
Voraussetzungen
Auf Kundenseite
- Eine öffentlich erreichbare HTTPS-URL, die POST-Requests annimmt
- Jemand, der den Workflow dahinter baut (n8n, Make, eigene App)
- Der Workflow kann innerhalb von 30 Minuten antworten
- Optional: eine Health-Check-URL für die tägliche Erreichbarkeitsprüfung
Auf ALLMEDIA-Seite
- Zugang zum richtigen Workspace
- Recht, Kanalverbindungen und API-Keys anzulegen
- Ein Kanal, dem die Verbindung zugewiesen wird
So funktioniert die Webhook-Veröffentlichung
Der Webhook ist eine Zwei-Wege-Integration: ALLMEDIA schickt den Beitrag, der Kunden-Workflow veröffentlicht ihn und meldet das Ergebnis zurück.
Steht ein Beitrag zur Veröffentlichung an, sendet ALLMEDIA.AI einen POST-Request an die hinterlegte Webhook-URL. Nach der Verarbeitung muss der Workflow einen POST-Request an die im Paket mitgelieferte webhookUrl zurücksenden — erst dann gilt der Beitrag als veröffentlicht.
1 Verbindung anlegen
-
Kanalverbindungen öffnen
Einstellungen → Veröffentlichung → Kanalverbindungen -
Neue Verbindung starten
Rechts oben auf „Kanal verbinden“ klicken, im Suchfeld
Webhookeingeben und die Kachel Webhook — „Benutzerdefinierte Webhook-Integration“ anklicken.
Typ-Auswahl nach der Suche nach „Webhook“. -
Namen vergeben
Im Feld Name einen sprechenden Namen eintragen, z. B.
n8n Blog-Publishing. Der Name erscheint später im Kanal-Workflow. -
Webhook-URL eintragen
Im Pflichtfeld Webhook URL die Ziel-Adresse eintragen, an die die Beiträge gesendet werden — zum Beispiel
https://n8n.example.com/webhook/allmedia-publish.
Der Dialog „Neuer Webhook Connector“: Name, Webhook-URL, Verbindungstest und cURL-Kopierfunktion. -
Format der Übertragung wählen
Bestimmt, in welcher Form der Text übergeben wird:
Option Wann verwenden HTML (empfohlen) Wird von Newsletter-Editoren und den meisten CMS korrekt dargestellt. Markdown (Originaltext) Voreinstellung. Wenn der Zielworkflow Markdown selbst weiterverarbeitet. Reiner Text Für Ziele ohne Formatierung, z. B. einfache Benachrichtigungen. 
Die drei Optionen im Feld Format der Übertragung.
2 Experten-Einstellungen (optional, aber empfohlen)
Aufklappen über „Experten-Einstellungen“. Sobald etwas hinterlegt ist, zeigt der Abschnitt das Kennzeichen Konfiguriert.
-
API-Key-Authentifizierung
Der ausgewählte API-Key wird als Header
x-allmedia-api-keybei allen Webhook-Aufrufen mitgesendet. Damit kann der Workflow prüfen, dass die Anfrage wirklich von ALLMEDIA.AI kommt.Über „Neuen Key erstellen“ wird direkt hier ein Key angelegt (z. B.
Webhook API Key (standard)). Er erscheint danach einmalig im Klartext, etwaamk_wh_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.Nur jetzt sichtbar. Den Key sofort sicher ablegen (Passwortmanager) — er kann nicht erneut angezeigt werden. Derselbe Key wird auch für den Callback zurück ins System benötigt.
Experten-Einstellungen: API-Key-Auswahl, Neuen Key erstellen und Custom Headers. -
Custom Headers
Optionale HTTP-Header, die bei allen Webhook-Aufrufen mitgesendet werden — etwa
Authorization: Bearer …, wenn der Zielendpoint eine eigene Authentifizierung verlangt. Header-Name und Wert eintragen und mit + hinzufügen. -
Health-Check-Adresse
Eigene Adresse für die wiederkehrende Erreichbarkeitsprüfung, z. B.
https://n8n.example.com/webhook/health, dazu die Methode (StandardGET).Sie wird täglich automatisch geprüft und beim Verbindungstest mitgeprüft. Antwortet die Adresse mit einem Status unter 400, gilt die Verbindung als in Ordnung. Über „Health-Check-cURL kopieren“ lässt sich der passende Befehl zum Testen kopieren.
-
SEO & schema.org
Optionale Zusatzfelder im gesendeten Paket:
SEO-Felder mitsenden — ergänzt
focus_keyword,meta_titleundmeta_description.
FAQ-Auszeichnung —Nicht mitsenden(Standard) oderschema.org FAQPage.Die Felder werden zusätzlich im Paket übertragen; pro Beitrag kann davon abgewichen werden.

Health-Check-Adresse mit Methode sowie die Schalter für SEO-Felder und FAQ-Auszeichnung.
3 Verbindung testen und speichern
-
Verbindungstest ausführen
Auf „Verbindung testen“ klicken. Der Test sendet ein Testpaket mit
"debugMode": truean die konfigurierte Adresse — es wird kein echter Beitrag veröffentlicht.{ "debugMode": true, "postId": "test-post-uuid", "title": "Testbeitrag", "content": "..." } -
Alternative: manuell per cURL prüfen
Über „cURL kopieren“ bzw. „Health-Check-cURL kopieren“ lassen sich die Befehle für beide Adressen kopieren. Der API-Schlüssel wird dabei nie eingesetzt, sondern nur als Platzhalter
$ALLMEDIA_API_KEYausgegeben.curl -X GET 'https://n8n.example.com/webhook/health'
-
Speichern
Mit „Speichern“ abschließen. Die Verbindung erscheint in der Liste der Kanalverbindungen.
4 Verbindung einem Kanal zuweisen
Eine Kanalverbindung allein veröffentlicht noch nichts — sie muss im Workflow eines Kanals als Veröffentlichungsziel hinterlegt werden.
-
Kanal öffnen
Einstellungen → Inhalte & Kanäle → Kanäle → gewünschten Kanal anklicken -
Workflow-Modus öffnen
Oben auf „Workflow“ klicken.
-
Veröffentlichung setzen
In der Station „Veröffentlichung“ auf „Ändern“ klicken und die Webhook-Verbindung auswählen.

Workflow-Modus des Kanals: Station Veröffentlichung mit der zugewiesenen Verbindung. -
Testbeitrag durchlaufen lassen
Einen Testbeitrag über den Kanal veröffentlichen und prüfen, ob der Workflow das Paket erhält und den Callback zurücksendet.
Ausgehender Request — was ALLMEDIA sendet
Wenn ein Beitrag zur Veröffentlichung ansteht, sendet ALLMEDIA.AI einen POST-Request an die Webhook-URL.

Headers
content-type: application/json
x-allmedia-global-api-key: global_xxx... // nur zur Verifizierung, dass die Anfrage von ALLMEDIA.AI kommt
x-allmedia-workspace-id: b9b49b09-e583-4f84-8b06-c3e75f22576e
Body (JSON)
{
"postId": "post-uuid",
"title": "Mein Blogpost",
"content": "Der Inhalt des Posts...",
"channelId": "channel-uuid",
"channelType": "facebook",
"channelTitle": "Marketing Facebook Page",
"workspaceId": "b9b49b09-e583-4f84-8b06-c3e75f22576e",
"scheduledAt": "2024-01-15T10:00:00Z",
"media": [
{
"id": "uuid",
"url": "https://....supabase.co/storage/v1/object/public/media/...",
"type": "image",
"mimeType": "image/jpeg"
}
],
"webhookUrl": "https://....supabase.co/functions/v1/publishing-callback"
}
Das Feld media ist ein Array und kann mehrere Mediendateien enthalten. webhookUrl ist die Adresse, an die der Callback gesendet werden muss.
Optionale SEO- und schema.org-Felder
Sind die entsprechenden Experten-Einstellungen aktiv, enthält das Paket zusätzlich:
{
"seo": {
"focus_keyword": "content marketing",
"meta_title": "Content Marketing 2026",
"meta_description": "Kurzbeschreibung für Suchmaschinen"
},
"schema_org": {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{ "@type": "Question", "name": "Frage?", "acceptedAnswer": { "@type": "Answer", "text": "Antwort." } }
]
}
}Callback — was zurückgemeldet werden muss
x-allmedia-api-key benötigt. Er ist für den Schreibzugriff zurück ins System erforderlich.
Headers
content-type: application/json x-allmedia-api-key: am_xxxx...
Erfolg
{
"postId": "uuid",
"success": true,
"publishedUrl": "https://facebook.com/posts/123456",
"platform": "facebook",
"externalId": "123456"
}
Fehler
{
"postId": "uuid",
"success": false,
"error": "Error description"
}
cURL-Beispiel
curl -X POST \
'https://....supabase.co/functions/v1/publishing-callback' \
-H 'content-type: application/json' \
-H 'x-allmedia-api-key: am_xxxx...' \
-d '{
"postId": "post-uuid",
"success": true,
"publishedUrl": "https://example.com/post/123"
}'
API-Key beschaffen
- In ALLMEDIA zu Einstellungen → API Keys gehen (oder direkt im Webhook-Dialog unter Experten-Einstellungen → „Neuen Key erstellen“).
- Einen neuen API-Key erstellen.
- Den Key sicher speichern — er wird nur einmal angezeigt.
webhookUrl aus dem eingehenden Paket und den x-allmedia-api-key für den Callback zwischenspeichern.Feldreferenz
| Feld | Bereich | Bedeutung / Standardwert |
|---|---|---|
| Name | Basis | Interner Anzeigename der Verbindung. |
| Webhook URL | Basis | Pflichtfeld. Adresse, an die die Beiträge per POST gesendet werden. |
| Format der Übertragung | Basis | HTML (empfohlen) · Markdown (Originaltext, Standard) · Reiner Text. |
| API-Key-Authentifizierung | Experten | Wird als Header x-allmedia-api-key mitgesendet. |
| Custom Headers | Experten | Optionale HTTP-Header für alle Webhook-Aufrufe. |
| Health-Check-Adresse | Experten | Eigene Adresse für die tägliche Erreichbarkeitsprüfung. |
| Methode | Experten | HTTP-Methode des Health-Checks. Standard GET. |
| SEO-Felder mitsenden | Experten | Aus (Standard). Ergänzt seo-Objekt im Paket. |
| FAQ-Auszeichnung | Experten | Nicht mitsenden (Standard) · schema.org FAQPage. |
Fehlerbehebung
| Symptom | Ursache und Lösung |
|---|---|
| Verbindungstest schlägt fehl | URL nicht öffentlich erreichbar, kein HTTPS, oder der Endpoint nimmt keine POST-Requests an. Mit dem kopierten cURL-Befehl direkt testen. |
| Beitrag bleibt „in Veröffentlichung“ hängen | Der Callback fehlt. Nach 30 Minuten wird der Beitrag automatisch als fehlgeschlagen markiert. Prüfen, ob der Workflow an die webhookUrl aus dem Paket antwortet. |
| Callback wird abgewiesen | Fehlender oder ungültiger Header x-allmedia-api-key. Der Key ist für den Schreibzugriff zurück ins System zwingend erforderlich. |
| API-Key verloren | Keys lassen sich nicht erneut anzeigen. Einen neuen Key erstellen und im Workflow ersetzen. |
| Formatierung im Ziel sieht falsch aus | „Format der Übertragung“ umstellen — für Newsletter-Editoren und CMS in der Regel HTML. |
| Verbindung wird als gestört angezeigt | Der tägliche Health-Check schlägt fehl. Health-Check-Adresse prüfen; sie muss mit einem Status unter 400 antworten. |
| Medien fehlen im Ziel | media ist ein Array — der Workflow muss alle Einträge verarbeiten, nicht nur den ersten. |
