Für FortgeschritteneKanalverbindung einrichten

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.

Dauer ca. 15 MinutenRollen: ALLMEDIA-Admin + Entwickler/AutomatisiererStand 15.09.2026

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.

ALLMEDIA.AI
POST
Ihr Webhook
Callback
ALLMEDIA.AI

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.

Timeout: Beiträge werden nach 30 Minuten ohne Callback automatisch als fehlgeschlagen markiert. Der Workflow muss innerhalb dieses Zeitfensters antworten.

1 Verbindung anlegen

  1. Kanalverbindungen öffnen

    Einstellungen → Veröffentlichung → Kanalverbindungen
  2. Neue Verbindung starten

    Rechts oben auf „Kanal verbinden“ klicken, im Suchfeld Webhook eingeben und die Kachel Webhook — „Benutzerdefinierte Webhook-Integration“ anklicken.

    Typ-Auswahl nach der Suche nach „Webhook“.
    Typ-Auswahl nach der Suche nach „Webhook“.
  3. Namen vergeben

    Im Feld Name einen sprechenden Namen eintragen, z. B. n8n Blog-Publishing. Der Name erscheint später im Kanal-Workflow.

  4. 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.
    Der Dialog „Neuer Webhook Connector“: Name, Webhook-URL, Verbindungstest und cURL-Kopierfunktion.
  5. Format der Übertragung wählen

    Bestimmt, in welcher Form der Text übergeben wird:

    OptionWann verwenden
    HTML (empfohlen)Wird von Newsletter-Editoren und den meisten CMS korrekt dargestellt.
    Markdown (Originaltext)Voreinstellung. Wenn der Zielworkflow Markdown selbst weiterverarbeitet.
    Reiner TextFür Ziele ohne Formatierung, z. B. einfache Benachrichtigungen.
    Die drei Optionen im Feld Format der Übertragung.
    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.

  1. API-Key-Authentifizierung

    Der ausgewählte API-Key wird als Header x-allmedia-api-key bei 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, etwa amk_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.
    Experten-Einstellungen: API-Key-Auswahl, Neuen Key erstellen und Custom Headers.
  2. 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.

  3. Health-Check-Adresse

    Eigene Adresse für die wiederkehrende Erreichbarkeitsprüfung, z. B. https://n8n.example.com/webhook/health, dazu die Methode (Standard GET).

    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.

  4. SEO & schema.org

    Optionale Zusatzfelder im gesendeten Paket:

    SEO-Felder mitsenden — ergänzt focus_keyword, meta_title und meta_description.
    FAQ-AuszeichnungNicht mitsenden (Standard) oder schema.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.
    Health-Check-Adresse mit Methode sowie die Schalter für SEO-Felder und FAQ-Auszeichnung.

3 Verbindung testen und speichern

  1. Verbindungstest ausführen

    Auf „Verbindung testen“ klicken. Der Test sendet ein Testpaket mit "debugMode": true an die konfigurierte Adresse — es wird kein echter Beitrag veröffentlicht.

    {
      "debugMode": true,
      "postId": "test-post-uuid",
      "title": "Testbeitrag",
      "content": "..."
    }
  2. 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_KEY ausgegeben.

    curl -X GET 'https://n8n.example.com/webhook/health'
  3. 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.

  1. Kanal öffnen

    Einstellungen → Inhalte & Kanäle → Kanäle → gewünschten Kanal anklicken
  2. Workflow-Modus öffnen

    Oben auf „Workflow“ klicken.

  3. 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.
    Workflow-Modus des Kanals: Station Veröffentlichung mit der zugewiesenen Verbindung.
  4. 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.

Die eingebaute Doku „Webhook-Integration für Publishing“ — Abschnitt Ausgehender Request.
Die eingebaute Doku „Webhook-Integration für Publishing“ — Abschnitt Ausgehender Request.

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

Für den Callback wird ein gültiger x-allmedia-api-key benötigt. Er ist für den Schreibzugriff zurück ins System erforderlich.
Abschnitt Callback-Anforderungen mit Header und den Antwortformaten für Erfolg und Fehler.
Abschnitt Callback-Anforderungen mit Header und den Antwortformaten für Erfolg und Fehler.

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

  1. In ALLMEDIA zu Einstellungen → API Keys gehen (oder direkt im Webhook-Dialog unter Experten-Einstellungen → „Neuen Key erstellen“).
  2. Einen neuen API-Key erstellen.
  3. Den Key sicher speichern — er wird nur einmal angezeigt.
Tipp für n8n-Nutzer: Den „Webhook“-Trigger-Node verwenden, um eingehende Requests zu empfangen. Am Ende des Workflows den „HTTP Request“-Node nutzen, um den Callback zu senden. Die webhookUrl aus dem eingehenden Paket und den x-allmedia-api-key für den Callback zwischenspeichern.

Feldreferenz

FeldBereichBedeutung / Standardwert
NameBasisInterner Anzeigename der Verbindung.
Webhook URLBasisPflichtfeld. Adresse, an die die Beiträge per POST gesendet werden.
Format der ÜbertragungBasisHTML (empfohlen) · Markdown (Originaltext, Standard) · Reiner Text.
API-Key-AuthentifizierungExpertenWird als Header x-allmedia-api-key mitgesendet.
Custom HeadersExpertenOptionale HTTP-Header für alle Webhook-Aufrufe.
Health-Check-AdresseExpertenEigene Adresse für die tägliche Erreichbarkeitsprüfung.
MethodeExpertenHTTP-Methode des Health-Checks. Standard GET.
SEO-Felder mitsendenExpertenAus (Standard). Ergänzt seo-Objekt im Paket.
FAQ-AuszeichnungExpertenNicht mitsenden (Standard) · schema.org FAQPage.

Fehlerbehebung

SymptomUrsache und Lösung
Verbindungstest schlägt fehlURL 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ängenDer 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 abgewiesenFehlender oder ungültiger Header x-allmedia-api-key. Der Key ist für den Schreibzugriff zurück ins System zwingend erforderlich.
API-Key verlorenKeys 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 angezeigtDer tägliche Health-Check schlägt fehl. Health-Check-Adresse prüfen; sie muss mit einem Status unter 400 antworten.
Medien fehlen im Zielmedia ist ein Array — der Workflow muss alle Einträge verarbeiten, nicht nur den ersten.
Weiterführend: Die vollständige Referenz zu Payload, Authentifizierung, Medien und Callback steht in der Entwickler-Dokumentation: Publishing-API — im Webhook-Dialog direkt verlinkt, mehrsprachig und als PDF speicherbar.
Support: Auf der Seite „Kanalverbindungen“ unten über „Etwas hakt bei der Einrichtung?“„Hilfe anfordern“ kurz beschreiben, wo es klemmt.