Core Workflow
INFO
Core Workflows unterscheiden sich von Triggern: Sie steuern das Formular zum Erstellen bzw. Bearbeiten von Tickets, während es ausgefüllt wird, beispielsweise indem sie einschränken, welche Werte in einem anderen Feld ausgewählt werden können. Das Formular übermittelt seine aktuellen Werte an Zammad, das die Workflows auswertet und die daraus resultierenden Feldänderungen zurückgibt. Im Gegensatz zu Triggen wirken sie nicht im Hintergrund auf bestehende Tickets ein.
Vergleichen Sie dies mit Berichts-Profilen, deren condition im Gegensatz zum Core Workflow überprüft, ob die referenzierten Felder tatsächlich vorhanden sind.
Auflisten
Erforderliche Berechtigung: admin.core_workflow
GET-Anfrage gesendet: /api/v1/core_workflows
Details
json
// HTTP-Code 200 OK
[
{
"id": 11,
"name": "Restrict priority for incidents",
"object": "Ticket",
"preferences": {},
"condition_saved": {},
"condition_selected": {
"ticket.type": {
"operator": "is",
"value": [
"Incident"
]
}
},
"perform": {
"ticket.state_id": {
"operator": "set_fixed_to",
"set_fixed_to": [
"new",
"open"
]
}
},
"active": true,
"stop_after_match": false,
"changeable": true,
"priority": 100,
"updated_by_id": 3,
"created_by_id": 3,
"created_at": "2026-09-24T12:32:01.736Z",
"updated_at": "2026-09-24T12:32:01.736Z"
}
]INFO
Dieser Endpunkt gibt ausschließlich Workflows zurück, bei denen changeable: true gesetzt ist. Die eingebauten System-Workflows von Zammad sind nicht änderbar und werden daher nicht berücksichtigt, sodass die Antwort bei einer neu installierten Instanz ein leeres Array ist. Die Funktionen Show, Update und Delete wirken sich ebenfalls nur auf änderbare Workflows aus.
Anzeigen
Erforderliche Berechtigung: admin.core_workflow
GET-Anfrage gesendet: /api/v1/core_workflows/{id}
Details
json
// HTTP-Code 200 OK
{
"id": 11,
"name": "Restrict priority for incidents",
"object": "Ticket",
"preferences": {},
"condition_saved": {},
"condition_selected": {
"ticket.type": {
"operator": "is",
"value": [
"Incident"
]
}
},
"perform": {
"ticket.state_id": {
"operator": "set_fixed_to",
"set_fixed_to": [
"new",
"open"
]
}
},
"active": true,
"stop_after_match": false,
"changeable": true,
"priority": 100,
"updated_by_id": 3,
"created_by_id": 3,
"created_at": "2026-09-24T12:32:01.736Z",
"updated_at": "2026-09-24T12:32:01.736Z"
}Details
json
// HTTP-Code 404 Not Found
{
"error": "Couldn't find CoreWorkflow with 'id'=\"12\" [WHERE \"core_workflows\".\"changeable\" = $1]",
"error_human": "Couldn't find CoreWorkflow with 'id'=\"12\" [WHERE \"core_workflows\".\"changeable\" = $1]"
}Erstellen
Erforderliche Berechtigung: admin.core_workflow
POST-Anfrage gesendet: /api/v1/core_workflows
Details
json
{
"active": true,
"default_at_signup": false,
"group_ids": {
"1": "full",
"2": "full",
"3": "full"
},
"id": "c-12",
"name": "VIP service",
"note": "Handling of VIP customers!",
"permission_ids": [
"57",
"58"
]
}INFO
Der Core Workflow validiert nicht, ob die in condition_selected oder perform referenzierten Felder existieren. Ein Workflow, der ein nicht existierendes Feld referenziert, wird ohne Fehler gespeichert. Er hat keine sichtbaren Auswirkungen in der Ticket-Maske, bis das referenzierte Feld existiert.
Aktualisierung
Erforderliche Berechtigung: admin.core_workflow
PUT-Request gesendet: /api/v1/core_workflows/{id}
Die Nutzlast-Struktur ist identisch mit Erstellen. Die Antwort ist der aktualisierte Datensatz, in der gleichen Form wie Show/Create.
INFO
Das Senden einer vollständigen Create-Nutzlast an die id eines bestehenden Workflows aktualisiert diesen Datensatz direkt. Es wird kein Duplikat erstellt.
Details
json
{
"name": "Restrict priority for incidents",
"object": "Ticket",
"condition_saved": {},
"condition_selected": {
"ticket.type": {
"operator": "is",
"value": [
"Incident"
]
}
},
"perform": {
"ticket.state_id": {
"operator": "set_fixed_to",
"set_fixed_to": [
"new",
"open"
]
}
},
"active": true,
"stop_after_match": false,
"changeable": true,
"priority": 100,
"id": 11
}Löschen
Erforderliche Berechtigung: admin.core_workflow
DANGER
Dies ist eine endgültige Entfernung
Bitte beachten Sie, dass das Löschen von Core Workflows nicht rückgängig gemacht werden kann.
DELETE-Request gesendet: /api/v1/core_workflows/{id}
Details
json
// HTTP-Code 200 OK
{}