Beschreibung
Mit den eingehenden WebHooks lassen sich Informationen ohne Umwege direkt an Stackfield übermitteln. Die Schnittstelle nutzt HTTP-Anfragen mit JSON-Payloads, worüber beispielsweise Nachrichten, Aufgaben oder ähnliche Inhalte in Stackfield erstellt werden. Aufgaben lassen sich außerdem auslesen, aktualisieren und gezielt filtern; einzelne WebHooks können optional per JWT abgesichert werden. Um Daten an Stackfield zu senden, müssen zunächst POST-URLs generiert werden.
Wo finde ich die POST-URL?
POST-URL zum Senden von Daten
Die POST-URL zum Senden von Daten an einen Raum kann über die Raum-Einstellungen abgerufen werden. Öffne dazu die Einstellungen des gewünschten Raumes und wechsle zum Reiter „Integrationen“.
Über die Schaltfläche „Neuen WebHook hinzufügen“ kannst Du auswählen, welche Art von Inhalt Du an Stackfield senden möchtest. Anschließend wird die entsprechende POST-URL generiert, die Du in Deinem externen System hinterlegen kannst.
Die POST-URL wird für das Senden bzw. Erstellen von Inhalten über eingehende WebHooks verwendet. Für das Auslesen, Aktualisieren und Filtern bestehender Aufgaben stehen eigene Endpunkte bereit (siehe die Abschnitte „Aufgabe auslesen", „Aufgabe aktualisieren" und „Aufgaben filtern").
POST-URL zum Ändern der Raumeinstellungen
Die Raum-API-ID findest Du ebenfalls in den Raum-Einstellungen im Reiter „Integrationen". Über sie können raumspezifische Einstellungen über die API ausgelesen und bearbeitet werden.
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
POST-URL zum Ändern der Organisationseinstellungen
Innerhalb der Organisations-Einstellungen befindet sich der Reiter "Integrationen", welcher die Verwaltung aller Schnittstellen zur Organisation ermöglicht. Hierbei wird die Option "WebHook" aufgeführt, wobei nach einem Klick auf "Mehr" die notwendigen Optionen zum Hinzufügen von neuen WebHooks zur Steuerung der Organisations-Einstellungen angezeigt werden.
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
Begrenzungen
Es kann maximal eine Anfrage pro Sekunde verarbeitet werden.
Verfügbarkeit
Neben der Weiterleitung von Informationen an Stackfield, ist es auch möglich Änderungen an den Einstellungen der Räume und der Organisation vorzunehmen. Die Bearbeitung der Einstellungen per API steht nur im Enterprise Paket zur Verfügung.
Authentifizierung (JWT)
Zusätzlich zur eindeutigen WebHook-URL kann ein WebHook optional per JWT (JSON Web Token) abgesichert werden. Ist diese Option aktiviert, wird für den WebHook ein Token erzeugt, das bei jeder Anfrage im Authorization-Header mitgesendet werden muss. Anfragen ohne gültiges Token werden abgelehnt.
Das Token ist fest an die jeweilige WebHook-URL gebunden und kann nicht für einen anderen WebHook verwendet werden. Um ein Token zu widerrufen, wird es in den Raum-Einstellungen vom WebHook entfernt. Ein neu erzeugtes Token ersetzt das bisherige und macht es damit ungültig.
Quelle des Tokens
Raumeinstellungen > Integrationen > WebHook > JWT-Authentifizierung
Header
Authorization: "Bearer <TOKEN>"
Beispiel
curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <TOKEN>' -d '{"Title":"Hello World!"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Fehlercodes
Bei fehlgeschlagenen API-Anfragen gibt Stackfield einen entsprechenden Fehlercode mit einer Beschreibung der Fehlerursache zurück. Die folgende Übersicht enthält die möglichen Fehlercodes und ihre jeweilige Bedeutung.
Hinweis: Fehlermeldungen der API werden unabhängig von der in Stackfield gewählten Sprache immer auf Englisch zurückgegeben.
|
Fehlercode
|
Beschreibung
|
| 200 | Successful request and response. |
| 4030 | Request could not be completed. |
| 4031 | Invalid request. |
| 4032 | Encrypted rooms are not supported. |
| 4033 | Room type is not supported. |
| 4034 | Invalid request. |
| 4035 | List level: Module, Room or Organisation not active. |
| 4035 | Invalid request. ObjectId is invalid. |
| 4036 | Room level: Module, Room or Organisation not active. |
| 4037 | Organisation level: Module, Room or Organisation not active. |
| 4038 | Integration disabled. |
| 4038 | Module disabled. |
| 4039 | This organization is not a paid organization. |
| 4040 | API call limit exceeded. |
| 4041 | No files found. |
| 4042 | File is too big. Max 1GB. |
| 4042 | There is not enough free storage space in this organization to perform the upload. |
| 4043 | Cannot read file. |
| 4044 | Attachment could not be added. |
| 4045 | Invalid file type. |
| 4050 | Invalid request. Title is null or empty. |
| 4051 | Invalid request. Users is null or empty. |
| 4052 | Invalid request. Command is unknown. |
| 4055 | Invalid request. DateEnd is before DateStart. |
| 4056 | Invalid request. User contains invalid email. |
| 4056 | Invalid request. Property could not be parsed. |
| 4057 | Double request. |
| 4060 | Invalid email. |
| 4061 | Invalid email. Item not found |
| 4070 | Invalid request. Command is null or empty. |
| 4071 | Invalid request. RoomId is null or empty. |
| 4072 | Not enough free slots. |
| 4073 | Too many invitations |
| 4074 | Users are managed by your domain. |
| 4075 | Invalid request. User with email not member of this organization. |
| 4076 | Invalid request. User with email is already deactivated. |
| 4077 | Invalid request. You can not remove all admins. |
| 4078 | Invalid email and group combination. |
| 4079 | Room is already archived. |
| 4080 | User is already member of this organization. |
| 4081 | Setting: Rooms must be encrypted. |
| 4082 | You can not use encrypted templates. |
| 4083 | Invalid request. {Name} not found. |
| 4084 | Invalid or missing authentication token. |
Chat-Nachricht
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Chat-Nachricht
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
|
Title
|
Ja
|
Inhalt der Chatnachricht
|
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Hello World!"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Diskussion
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Diskussion
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Title | Ja | Titel der Diskussion |
| Content | Nein | Beschreibung der Diskussion |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Ich bin der Titel", "Content":"Ich bin eine Beschreibung"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Aufgabe
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Aufgabe
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Title | Ja | Titel der Aufgabe |
| Content | Nein | Beschreibung der Aufgabe |
| DateStart | Nein | Startdatum (Für DE: ISO 8601-Format) |
| DateEnd | Nein | Enddatum (Für DE: ISO 8601-Format) |
| Users | Nein | Liste der E-Mail-Adressen der zugewiesenen Personen |
| Labels | Nein | Name des Labels |
| Status | Nein | Name des Status |
| Name des benutzerdef. Feldes | Nein | Inhalt des benutzerdefinierten Feldes, z. B. Option einer Auswahlliste oder true / false für die Wahl einer Checkbox |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Ich bin der Titel", "Content":"Ich bin eine Beschreibung", "DateStart":"2026-07-09T00:00+02:00", "Users":["user1@demo.de","user2@demo.de"], "Labels": ["Prio"], "Prozentsatz": "10", "Checkbox": true, "Farbauswahl": "Grün"}' https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Dieser Screenshot zeigt die aus obenstehendem Beispiel erzeugte Aufgabe
Aufgabe auslesen
Hinweis: Diese Funktion ist ab der Premium-Version verfügbar.
Liest eine bestehende Aufgabe aus. Die Aufgabe wird über ihre defValueId in der URL adressiert. Diese Funktion steht nur in unverschlüsselten Räumen zur Verfügung.
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Aufgabe
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| defValueId | Ja | Kennung der Aufgabe. Wird als Bestandteil der URL übergeben (nicht im Body). Du erhältst die defValueId als Rückgabewert beim Erstellen einer Aufgabe über die API, beim Auslesen über den Endpunkt „Aufgaben filtern" (/list) oder direkt in der App oben im Aufgaben-Dialog ("ID der Aufgabe", sofern in den Einstellungen des Aufgaben-Moduls aktiviert). |
Type
GET
Beispiel
curl -X GET
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5/{defValueId}
Antwort
{
"Result": {
"ValueId": 116785,
"DefValueId": "T0021-315",
"Status": "Todo",
"Users": [
"user1@demo.de",
"user2@demo.de"
],
"Title": "task 2",
"Content": "Beschreibung der Aufgabe",
"customTextfield": "task2 text",
"customCheckBox": false,
"customDropdown": "op1",
"Subtasks": []
},
"ErrorText": ""
}
Aufgabe aktualisieren
Hinweis: Diese Funktion ist ab der Premium-Version verfügbar.
Aktualisiert eine bestehende Aufgabe. Die Aufgabe wird über ihre defValueId in der URL adressiert; die zu ändernden Felder werden im Body übergeben. Standardfelder sowie benutzerdefinierte Felder können befüllt und aktualisiert werden. Diese Funktion steht nur in unverschlüsselten Räumen zur Verfügung.
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Aufgabe
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| defValueId | Ja | Kennung der zu aktualisierenden Aufgabe (Teil der URL, nicht des Body) |
| Title | Nein | Titel der Aufgabe |
| Content | Nein | Beschreibung der Aufgabe |
| Status | Nein | Name des Status (auch benutzerdefinierte Status) |
| Users | Nein | Liste der E-Mail-Adressen der zugewiesenen Personen |
| DateStart | Nein | Startdatum (Für DE: ISO 8601-Format) |
| DateEnd | Nein | Enddatum (Für DE: ISO 8601-Format) |
| Name des benutzerdef. Feldes | Nein | Inhalt des benutzerdefinierten Feldes. Der Schlüssel entspricht dem Namen des Feldes; der Wert richtet sich nach dem Feldtyp (siehe Tabelle unten). |
Benutzerdefinierte Feldtypen (Beispiele)
|
Feldtyp
|
Beispielwert
|
Beschreibung
|
| Textfeld | "text test" | Freitext (einzeilig) |
| Textbox | "text box test" | Freitext (mehrzeilig) |
| Checkbox | false | Boolescher Wert (true / false) |
| Datum | "2026-05-05" | Datum (ISO 8601) |
| Auswahlliste (Dropdown) | "op1" | Name der gewählten Option |
| Dezimalzahl | 3.14 | Zahl mit Nachkommastellen |
| Zahl | 1337 | Ganzzahl |
| Benutzer | "user@demo.de" | E-Mail-Adresse des Benutzers |
| Email | "user@demo.de" | E-Mail-Adresse |
| Hyperlink | "https://www.example.com/" | URL |
| Telefon | "089-123456" | Telefonnummer |
| Währung | "42 EUR" | Betrag inkl. Währung |
| Prozentsatz | 50 | Prozentwert als Zahl, wahlweise mit oder ohne „%" |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"webhook 3", "Content":"descr", "Status":"Doing", "Users":["user1@demo.de","user2@demo.de"], "DateStart":"2026-05-20", "DateEnd":"2026-05-25", "customTextfield":"text test", "customCheckBox":false, "customDate":"2026-05-05", "customDropdown":"op1", "customDecimal":3.14, "customNumber":1337, "customTextbox":"text box test", "customUser":"user@demo.de", "customMail":"user@demo.de", "customHyperlink":"https://www.example.com/", "customPhone":"089-123456", "customCurrency":"42 EUR", "customPercentage":50}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5/{defValueId}
Aufgaben filtern
Hinweis: Diese Funktion ist ab der Premium-Version verfügbar.
Gibt eine Liste von Aufgaben zurück, die den übergebenen Regeln entsprechen. Mehrere Regeln werden immer mit UND verknüpft (eine ODER-Verknüpfung wird nicht unterstützt). Diese Funktion steht nur in unverschlüsselten Räumen zur Verfügung.
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Aufgabe
Aufbau einer Regel
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Rules | Ja | Liste von Regeln. Alle Regeln werden mit UND verknüpft. |
| field | Ja | Name des Feldes, nach dem gefiltert wird (Standardfeld oder benutzerdef. Feld) |
| op | Ja | Operator (siehe Tabelle unten) |
| data | Ja | Vergleichswert |
Operatoren
|
Operator
|
Bedeutung
|
Beschreibung
|
| eq | equal | gleich |
| ne | not equal | ungleich |
| lt | less than | kleiner als |
| le | less or equal | kleiner oder gleich |
| gt | greater than | größer als |
| ge | greater or equal | größer oder gleich |
Filterbare Felder
|
Feld
|
Operatoren
|
Hinweise
|
| Datumsfelder (z. B. DateStart, DateEnd) | eq, ne, gt, ge, lt, le | Es werden nur Aufgaben zurückgegeben, bei denen das Datum gesetzt ist. |
| Textfelder | eq, ne | ne mit "" filtert auf nicht-leere Felder; eq filtert auf einen bestimmten Inhalt. |
| Status | eq, ne | Filtert auf einen Status (auch benutzerdefinierte Status). |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Rules":[{"field":"DateStart","op":"ge","data":"2026-06-16"},{"field":"DateEnd","op":"le","data":"2026-06-10"},{"field":"customTextfield","op":"ne","data":""},{"field":"customTextfield","op":"eq","data":"test content"},{"field":"Status","op":"eq","data":"Doing"}]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5/list
Seite
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Seite
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Title | Ja | Titel der Seite |
| Content | Nein | Beschreibung der Seite |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Ich bin der Titel", "Content":"Ich bin eine Beschreibung"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Datei
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Datei
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| File | Ja | Dateipfad |
Type
POST
Content-Type: "multipart/form-data"
Beispiel
curl -F 'File=@C:\Pictures\MyImage.jpg'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Termin
Quelle der POST-URL
Raumeinstellungen > Integrationen > Neuen Webhook hinzufügen > Termin
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Title | Ja | Titel des Termins |
| Content | Nein | Beschreibung des Termins |
| DateStart | Ja | Startdatum (Für DE: ISO 8601-Format) |
| DateEnd | Ja | Enddatum (Für DE: ISO 8601-Format) |
| Users | Nein | Liste der E-Mail-Adressen der eingeladenen Personen |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Title":"Ich bin der Titel", "Content":"Ich bin eine Beschreibung", "DateStart":"2026-07-08T22:00:00+02:00","DateEnd":"2026-07-08T23:00:00+02:00", "Users":["user1@demo.de","user2@demo.de"]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer zur Organisation hinzufügen
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
POST-URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Command | Ja | Befehlsname: CreateUser |
| Email | Ja | E-Mail-Adresse des Benutzers |
| DisplayName | Ja | Anzeigenamen des Benutzers |
| UserName | Nur wenn Windows Authentifizierung (bei OnPremise) | BenutzerId |
| OrgRoleId | Ja | Rolle in Organisation: 1 - Admin 2 - Mitglied 3 - Gast 4 - Externer |
| AuthProvider | Nein (Nur bei SSO verwendet) | Id des Identity Providers |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"CreateUser","Email":"apiTester01@webhook.de","DisplayName":"Api Tester01","OrgRoleId":2}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer aus Organisation entfernen
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
POST-URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Command | Ja | Befehlsname: RemoveUser |
| Email | Ja | E-Mail-Adresse des Benutzers |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"RemoveUser","Email":"apiTester01@webhook.de"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer in Organisation deaktivieren
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
POST-URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Command | Ja | Befehlsname: DeactivateUser |
| Email | Ja | E-Mail-Adresse des Benutzers |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"DeactivateUser","Email":"apiTester01@webhook.de"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Raum erstellen
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
POST-URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Command | Ja | Befehlsname: CreateRoom |
| RoomId | (Return) | Id des Raumes |
| Name | Ja | Name des Raumes |
| Description | Nein | Beschreibung des Raumes |
| TemplateId | Nein | Id des Raumtemplates |
| Users | Ja | Liste der Raummitglieder als Objekte mit E-Mail sowie optional GroupId und IsAdmin |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"CreateRoom","Name":"webhook room from template6","Description":"neuer webhook room desc","TemplateId":"03852566-669e-4991-9491-12ab34cd56ef","Users":[{"Email":"remtester@mail.de","GroupId":2,"IsAdmin":"true"}]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Raum archivieren
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
POST-URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen > Raum Einstellungen
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Command | Ja | Befehlsname: ArchiveRoom |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"ArchiveRoom"}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer zum Raum hinzufügen
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
POST-URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen > Raum Einstellungen
Raum Einstellungen > Integrationen > WebHook > Neuen Webhook hinzufügen > Raum Einstellungen
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Command | Ja | Befehlsname: GrantRoomAccess |
| Users | Ja | Liste der Raummitglieder als Objekte mit E-Mail sowie optional GroupId und IsAdmin |
| RoomId | Nein | Raum API Id |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"GrantRoomAccess", "Users":[{"Email":"remtester@mail.de","GroupId":2,"IsAdmin":"true"}]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5
Benutzer aus Raum entfernen
Hinweis: Diese Funktion ist ausschließlich in der Enterprise-Version verfügbar.
POST-URL
Organisationseinstellungen > Integrationen > Webhook > Neuen Webhook hinzufügen > Raum Einstellungen
Raum Einstellungen > Integrationen > WebHook > Neuen Webhook hinzufügen > Raum Einstellungen
Parameter
|
Parameter
|
Pflichtfeld
|
Beschreibung
|
| Command | Ja | Befehlsname: RevokeRoomAccess |
| Users | Ja | Liste der E-Mail-Adressen der zu entfernenden Mitglieder |
| RoomId | Nein | Raum API Id |
Type
POST
Content-Type: "application/json"
Beispiel
curl -X POST -H 'Content-Type: application/json' -d '{"Command":"RevokeRoomAccess","Users":["remtester@mail.de"]}'
https://www.stackfield.com/apiwh/e5a1cfbd-970e-45a1-b81c-3e004f9bdab5