Abhängigkeiten vor Abschluss der Awork-Aufgabe prüfen (Workaround)
Experte
Dies ist ein IT Ops-Bereich Automatisierungsworkflow mit 44 Nodes. Hauptsächlich werden If, Set, Code, Filter, Webhook und andere Nodes verwendet. Abhängigkeiten vor Abschluss von Awork-Aufgaben prüfen (Workaround)
Voraussetzungen
- •HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Verwendete Nodes (44)
Kategorie
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"meta": {
"instanceId": "93fb8727a95622f4aa18b433e7f50b3d9eefa47fbe8901532956ded5db485301"
},
"nodes": [
{
"id": "8743a397-a6ca-4325-b0f8-33a34e15b63a",
"name": "Abhängigkeiten für Aufgabe laden",
"type": "n8n-nodes-base.httpRequest",
"position": [
1600,
-400
],
"parameters": {
"url": "=https://api.awork.com/api/v1/tasks/{{ $('Webhook call by Awork').item.json.body.entity.id }}/taskdependencies",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "9d0FyCu0IlwrdNkM",
"name": "Awork Api"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"alwaysOutputData": true,
"waitBetweenTries": 2000
},
{
"id": "d3ac4527-eb09-49f5-9bff-7d83e494022d",
"name": "Aufgabenabhängigkeiten aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
1800,
-400
],
"parameters": {
"options": {
"mergeLists": true
},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "taskDependencies",
"fieldToAggregate": "predecessorId"
}
]
}
},
"typeVersion": 1
},
{
"id": "1b05f8f7-9451-481d-b2cb-b74c4048f9e0",
"name": "Workflow-Konfiguration",
"type": "n8n-nodes-base.set",
"position": [
-640,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "20b87314-585f-4b03-a87d-cc1b9ff1f9c2",
"name": "finishedStateLabels",
"type": "array",
"value": "=[\"Fertig\",\"Total fertig\"]"
},
{
"id": "16f603e2-3703-4f47-a1b9-92503eb1ea43",
"name": "useDependencies",
"type": "boolean",
"value": false
},
{
"id": "ffd4703d-be65-4c35-b28c-6cafb1050d13",
"name": "useTreeStructure",
"type": "boolean",
"value": true
},
{
"id": "6adacba5-463e-4d5e-9571-54f1a026cb4d",
"name": "addComments",
"type": "boolean",
"value": true
},
{
"id": "a06d3f03-8c2d-4788-b986-4bfc2b2a37c5",
"name": "commentTextDependencies",
"type": "string",
"value": "Some dependencies not yet finished! Status rolled back!"
},
{
"id": "68e0a3f8-5b43-4b1c-b7c8-174abd4c3754",
"name": "commentTextTreeStructure",
"type": "string",
"value": "Some child tasks not yet finished! Status rolled back!"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a610af8c-a4eb-4fa0-987f-8c001f78de20",
"name": "Aufgabenänderungen abrufen",
"type": "n8n-nodes-base.set",
"position": [
-220,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d1e893cd-bdeb-4c9b-8fe0-82dc11c047a7",
"name": "=changes",
"type": "array",
"value": "={{ $('Webhook call by Awork').item.json.body.changes }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "72b495ae-fd9c-4347-ae17-8ba93a3afeb9",
"name": "Aufgabenänderungen aufteilen",
"type": "n8n-nodes-base.splitOut",
"position": [
0,
0
],
"parameters": {
"options": {},
"fieldToSplitOut": "changes"
},
"typeVersion": 1
},
{
"id": "a4ec9460-d622-4d4b-a31b-ba3705faa88f",
"name": "Aufgabenstatusänderung filtern",
"type": "n8n-nodes-base.filter",
"position": [
220,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "82923633-648e-4ef0-82dc-cbe35de925b3",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.property }}",
"rightValue": "TaskStatusId"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "cc8d6540-122e-48e0-bcf7-91331eea11d4",
"name": "Prüfen ob Aufgabe abgeschlossen",
"type": "n8n-nodes-base.if",
"position": [
620,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e4e5890b-588e-41f1-95c1-02e313fda09a",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $('Workflow config').item.json.finishedStateLabels }}",
"rightValue": "={{ $('Webhook call by Awork').item.json.body.entity.taskStatus.name }}"
},
{
"id": "97e159ef-21df-4d1c-bef0-fc7a64ffa0fe",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Webhook call by Awork').item.json.body.entity.taskStatus.type }}",
"rightValue": "done"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "0b19f6d1-2821-49ff-8291-933c26165e93",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1940,
-660
],
"parameters": {
"width": 880,
"height": 1440,
"content": "## Awork workaround for done tasks with subtasks or dependencies\n\n\nCurrently, [Awork](https://www.awork.com/) does **not** offer direct support for the following functions:\n\n* If a task has subtasks, then it should not be able to be marked as completed while subtasks are still open\n* If a task is dependent on other tasks, then it should not be able to be marked as completed as long as these linked tasks are still open\n\n### This n8n workflow offers the following functions:\n\n* Checking whether all subtasks of a task have been completed before it can be completed \n* Check whether tasks marked as prerequisites have been completed before the task can be marked as completed\n* If the condition for completing a task is not fulfilled, the workflow rolls back the status to the previous status\n* A comment is added to the task as to why this roll back occurred\n* This workflow **does not use** the Awork community nodes package, as this package does not support all API calls and is therefore not used by me. If you would like to use that package, you can find more information at [https://support.awork.com/en/articles/9826591-n8n-integration](https://support.awork.com/en/articles/9826591-n8n-integration) and replace the http nodes with matching community nodes if applicable\n\n\n### The following configuration settings are possible or required in the “Workflow config” node (following the webhook call):\n\n* **finishedStateLabels** (required): Label text of the task status entities that have the “Done” state. Must be stored as an array. Allows you to control whether the workflow is skipped for certain status changes, even if the task has been marked as completed.\n\n* **useDependencies** (optional): Boolean setting as to whether dependencies should be taken into account or not. If true, a task can only be marked as completed if the linked tasks have been marked as completed.\n\n* **useTreeStructure** (optional): Boolean setting whether parent and child tasks are taken into account. If true, then parent tasks can only be marked as completed if all child tasks have been marked as completed.\n\n* **addComments** (optional): Boolean setting as to whether a comment is added to a task if a status change has been undone by the workflow\n\n* **commentTextDependencies** (optional, required if addComments is true): Comment text that is added to a task when the status change is undone for uncompleted tasks on which the current task is dependent. Serves as a hint for the user.\n\n* **commentTextTreeStructure** (optional, required if addComments is true): Comment text that is added to a task when the status change is undone for uncompleted subtasks. Serves as a hint for the user.\n\n## How to use\n\n**Awork configuration**\n\n* Copy this workflow to your n8n installation\n* Add authentication credentials to webhook call node at the start\n\n* Add a new webhook call to Awork (see [https://support.awork.com/en/articles/5415462-webhooks](https://support.awork.com/en/articles/5415462-webhooks)) and configure as required (name, authentication etc.)\n* Configure the webhook to be called on task status changes\n* Enable \"Only events from first level properties\" to reduce the number of webhook calls\n* Test and save webhook\n\n* Generate a new API client (or use existing) (see [https://support.awork.com/en/articles/5415664-client-applications-and-api-keys](https://support.awork.com/en/articles/5415664-client-applications-and-api-keys))\n\n* Add new credentials for Awork to your n8n installation (see [https://docs.n8n.io/credentials/add-edit-credentials/](https://docs.n8n.io/credentials/add-edit-credentials/))\n++ Choose \"Header auth\" from the list and name as you like, e.g. \"Awork API Access\"\n++ Set \"name\" to \"Authorization\" and \"value\" to \"Bearer XXX\" with XXX being replaced by the API key created in Awork\n++ Apply credentials to all HTTP Request nodes (blue globe)\n\n\n## Enjoy\n\n"
},
"typeVersion": 1
},
{
"id": "521684a2-f6d7-483a-aa73-bc6243d6bc33",
"name": "Webhook Aufruf durch Awork",
"type": "n8n-nodes-base.webhook",
"position": [
-940,
0
],
"webhookId": "57b88b94-6228-4e49-897d-64bf8c7d32db",
"parameters": {
"path": "57b88b94-6228-4e49-897d-64bf8c7d32db",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "00e9ea34-8110-43a4-a0a3-6d95272b7f22",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-740,
-100
],
"parameters": {
"color": 4,
"width": 360,
"height": 280,
"content": "### Workflow config\n* Configure basic settings"
},
"typeVersion": 1
},
{
"id": "ae4ad465-18d5-4a8b-b3ea-05aa9b8d81e3",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-260,
-100
],
"parameters": {
"color": 4,
"width": 660,
"height": 280,
"content": "### Extract status changes from webhook call payload\n"
},
"typeVersion": 1
},
{
"id": "124b4dc0-cc8b-4b10-89c0-fc3db5aa18bf",
"name": "Haftnotiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
500,
-100
],
"parameters": {
"color": 3,
"width": 380,
"height": 280,
"content": "### Check if task status is currently \"done\"\n* If yes, proceed\n* If no, exit workflow"
},
"typeVersion": 1
},
{
"id": "901b5649-3e43-4b03-9c2a-6281ec14cd3d",
"name": "Haftnotiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1000,
-100
],
"parameters": {
"color": 3,
"width": 380,
"height": 280,
"content": "### Check if dependencies are enabled\n* If yes, process dependencies\n* If no, check if tree structure is enabled"
},
"typeVersion": 1
},
{
"id": "72cf9e1b-26f4-4132-b760-1b46f5348948",
"name": "Prüfen ob Abhängigkeiten aktiviert",
"type": "n8n-nodes-base.if",
"position": [
1140,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "53d5f2be-2830-4977-a69f-a0d135ea76c4",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Workflow config').item.json.useDependencies }}",
"rightValue": "true"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "1475c9e1-d99b-434c-b1e3-8160d25bd834",
"name": "Alle verknüpften Aufgaben laden",
"type": "n8n-nodes-base.httpRequest",
"position": [
2260,
-400
],
"parameters": {
"url": "=https://api.awork.com/api/v1/me/projecttasks",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "filterby",
"value": "={{ $json.taskDependencies.join(' or ') }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "9d0FyCu0IlwrdNkM",
"name": "Awork Api"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"alwaysOutputData": true,
"waitBetweenTries": 2000
},
{
"id": "4d41c9a6-edae-4a0f-8a06-64c647d4da1a",
"name": "Filterparameter erstellen",
"type": "n8n-nodes-base.code",
"position": [
2020,
-400
],
"parameters": {
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n for( var key in item.json.taskDependencies ) {\n item.json.taskDependencies[key] = \"id eq guid'\" + item.json.taskDependencies[key] +\"'\";\n}\n}\n\nreturn $input.all();"
},
"typeVersion": 2
},
{
"id": "763b71ac-c78b-4020-9fe1-cc80028edfa7",
"name": "Nur offene Aufgaben filtern",
"type": "n8n-nodes-base.filter",
"position": [
2480,
-400
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8f2bbc21-ad7c-47e2-95b1-f92cb482ea8e",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.taskStatus.type }}",
"rightValue": "done"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7d90188e-859e-450f-922a-e74c9f69646d",
"name": "Offene Aufgaben-IDs aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
2700,
-400
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "id"
}
]
}
},
"typeVersion": 1
},
{
"id": "1aca54ca-3369-456e-942d-ab929879c2a4",
"name": "Haftnotiz5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1560,
-500
],
"parameters": {
"color": 4,
"width": 1320,
"height": 340,
"content": "### Load task dependencies and filter open tasks\n"
},
"typeVersion": 1
},
{
"id": "d1475f48-a06a-4b67-8374-b1f4c6713eb8",
"name": "Haftnotiz6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2980,
-500
],
"parameters": {
"color": 3,
"width": 420,
"height": 340,
"content": "### Check if tasks marked as dependencies are open\n* If yes, roll back status.\n* If not, proceed to tree structure check"
},
"typeVersion": 1
},
{
"id": "86436ab7-7a4d-47c9-ab9f-9d414205baf3",
"name": "Prüfen ob offene Aufgaben existieren",
"type": "n8n-nodes-base.if",
"position": [
3140,
-400
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c30d2bf0-f6ca-46a6-be1e-2f24425fffed",
"operator": {
"type": "array",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.id }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3c8971c0-9ad5-4265-add8-9dde8baef83a",
"name": "Haftnotiz7",
"type": "n8n-nodes-base.stickyNote",
"position": [
3500,
-500
],
"parameters": {
"color": 4,
"width": 360,
"height": 340,
"content": "### Roll back task status"
},
"typeVersion": 1
},
{
"id": "f5062a59-4067-49f5-9a3a-3087b09a9629",
"name": "Haftnotiz8",
"type": "n8n-nodes-base.stickyNote",
"position": [
3960,
-500
],
"parameters": {
"color": 3,
"width": 400,
"height": 340,
"content": "### Check if comment should be added to task\n* Exit workflow if no comment should be added"
},
"typeVersion": 1
},
{
"id": "6b84e668-7dd8-4ff5-ae98-c2dc6a435c07",
"name": "Prüfen ob Kommentare aktiviert",
"type": "n8n-nodes-base.if",
"position": [
4120,
-400
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6505de62-2d0a-4a3a-8f33-f0add4364b7e",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Workflow config').item.json.addComments }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "81f39f77-eacb-4882-9a75-5e01dce04e5c",
"name": "Haftnotiz9",
"type": "n8n-nodes-base.stickyNote",
"position": [
4460,
-500
],
"parameters": {
"color": 4,
"width": 460,
"height": 340,
"content": "### Add comment to task regarding roll back of task state\n* Add comment and exit workflow"
},
"typeVersion": 1
},
{
"id": "cad1126c-4a60-47e2-8b75-0c2b35464497",
"name": "Kommentar zu Aufgaben hinzufügen",
"type": "n8n-nodes-base.httpRequest",
"position": [
4640,
-400
],
"parameters": {
"url": "=https://api.awork.com/api/v1/tasks/{{ $('Webhook call by Awork').item.json.body.entity.id }}/comments",
"method": "POST",
"options": {},
"jsonBody": "={\n \"message\": {{ JSON.stringify($('Workflow config').item.json.commentTextDependencies) }}\n} ",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpCustomAuth": {
"id": "CmNSbB7CCq63XJLe",
"name": "Zammad API - TICKET"
},
"httpHeaderAuth": {
"id": "9d0FyCu0IlwrdNkM",
"name": "Awork Api"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 2000
},
{
"id": "a98ba8ae-05d4-4175-beed-fd9f40c772d3",
"name": "Prüfen ob Baumstruktur aktiviert",
"type": "n8n-nodes-base.if",
"position": [
3600,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "53d5f2be-2830-4977-a69f-a0d135ea76c4",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Workflow config').item.json.useTreeStructure }}",
"rightValue": "true"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3464568d-3863-4063-8097-526b60260818",
"name": "Haftnotiz11",
"type": "n8n-nodes-base.stickyNote",
"position": [
3500,
20
],
"parameters": {
"color": 3,
"width": 360,
"height": 340,
"content": "### Check if tree structure check is enabled\n* Exit workflow if not enabled"
},
"typeVersion": 1
},
{
"id": "1e2f8502-fc35-4e6f-bb9a-83acb04d57af",
"name": "Haftnotiz12",
"type": "n8n-nodes-base.stickyNote",
"position": [
3960,
20
],
"parameters": {
"color": 3,
"width": 400,
"height": 340,
"content": "### Check if task has subtasks\n* Exit workflow if no subtasks found"
},
"typeVersion": 1
},
{
"id": "d25eeac9-c485-4624-8b9f-b7068a4eb0b5",
"name": "Unteraufgaben prüfen",
"type": "n8n-nodes-base.if",
"position": [
4080,
100
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "965e2460-236b-4628-b6e9-e4082b656b0f",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $('Webhook call by Awork').item.json.body.entity.numberOfSubtasks }}",
"rightValue": 0
}
]
}
},
"typeVersion": 2.2
},
{
"id": "6bcac41a-3f06-4a35-9703-fdfba98d1ac4",
"name": "Aufgabenstatus von 'Erledigt' auf vorherigen Zustand zurücksetzen",
"type": "n8n-nodes-base.httpRequest",
"position": [
3620,
-400
],
"parameters": {
"url": "https://api.awork.com/api/v1/tasks/changestatuses",
"method": "POST",
"options": {},
"jsonBody": "=[\n {\n \"taskId\": \"{{ $('Webhook call by Awork').item.json.body.entity.id }}\",\n \"statusId\": \"{{ $('Filter task status change').item.json.old }}\" \n}\n] ",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "9d0FyCu0IlwrdNkM",
"name": "Awork Api"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 2000
},
{
"id": "38782806-11a3-4976-8ba6-17da89d7a859",
"name": "Alle offenen Unteraufgaben laden",
"type": "n8n-nodes-base.httpRequest",
"position": [
4560,
100
],
"parameters": {
"url": "=https://api.awork.com/api/v1/me/projecttasks",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "filterby",
"value": "=parentid eq guid'{{ $('Webhook call by Awork').item.json.body.entity.id }}' and taskstatus/type ne 'done'"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "9d0FyCu0IlwrdNkM",
"name": "Awork Api"
}
},
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "ad23f9c2-bdb4-48b7-ad6b-776424c0275d",
"name": "Aufgaben-IDs aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
4780,
100
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "id"
}
]
}
},
"typeVersion": 1
},
{
"id": "711fd327-892a-48e2-95ea-24a21cba1765",
"name": "Haftnotiz10",
"type": "n8n-nodes-base.stickyNote",
"position": [
4460,
20
],
"parameters": {
"color": 4,
"width": 500,
"height": 340,
"content": "### Load subtasks not marked as done"
},
"typeVersion": 1
},
{
"id": "fe844b55-800d-426c-9842-ccb8cc0d33f3",
"name": "Haftnotiz14",
"type": "n8n-nodes-base.stickyNote",
"position": [
5060,
20
],
"parameters": {
"color": 3,
"width": 400,
"height": 340,
"content": "### Check if open subtasks exist\n* Exit workflow if no open subtasks found"
},
"typeVersion": 1
},
{
"id": "946243b8-ceaa-4ce3-a4d1-97bc3ee9f9ed",
"name": "Offene Unteraufgaben prüfen",
"type": "n8n-nodes-base.if",
"position": [
5180,
100
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f1c49c95-5272-4414-99f6-55e146a33ae2",
"operator": {
"type": "array",
"operation": "lengthGt",
"rightType": "number"
},
"leftValue": "={{ $json.id }}",
"rightValue": 0
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e4e43d31-a7c1-404c-a67a-21236314f46c",
"name": "Haftnotiz15",
"type": "n8n-nodes-base.stickyNote",
"position": [
5580,
20
],
"parameters": {
"color": 4,
"width": 360,
"height": 340,
"content": "### Roll back task status"
},
"typeVersion": 1
},
{
"id": "7065d3b2-f120-4636-b30e-d919d4ca47c8",
"name": "Haftnotiz16",
"type": "n8n-nodes-base.stickyNote",
"position": [
6040,
20
],
"parameters": {
"color": 3,
"width": 400,
"height": 340,
"content": "### Check if comment should be added to task\n* Exit workflow if no comment should be added"
},
"typeVersion": 1
},
{
"id": "e4b9348e-de14-425a-b9ed-64891681c49a",
"name": "Prüfen ob Kommentare aktiviert1",
"type": "n8n-nodes-base.if",
"position": [
6200,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6505de62-2d0a-4a3a-8f33-f0add4364b7e",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $('Workflow config').item.json.addComments }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e01f0f8a-d844-4f51-8c38-044d1be4c3b3",
"name": "Haftnotiz17",
"type": "n8n-nodes-base.stickyNote",
"position": [
6540,
20
],
"parameters": {
"color": 4,
"width": 460,
"height": 340,
"content": "### Add comment to task regarding roll back of task state\n* Add comment and exit workflow"
},
"typeVersion": 1
},
{
"id": "65c7656e-f03e-4082-8226-34a052fbdc38",
"name": "Kommentar zu Aufgaben hinzufügen1",
"type": "n8n-nodes-base.httpRequest",
"position": [
6720,
120
],
"parameters": {
"url": "=https://api.awork.com/api/v1/tasks/{{ $('Webhook call by Awork').item.json.body.entity.id }}/comments",
"method": "POST",
"options": {},
"jsonBody": "={\n \"message\": {{ JSON.stringify($('Workflow config').item.json.commentTextTreeStructure) }}\n} ",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpCustomAuth": {
"id": "CmNSbB7CCq63XJLe",
"name": "Zammad API - TICKET"
},
"httpHeaderAuth": {
"id": "9d0FyCu0IlwrdNkM",
"name": "Awork Api"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 2000
},
{
"id": "0521eaf8-0719-4691-be1d-82a6defa87ca",
"name": "Aufgabenstatus von 'Erledigt' auf vorherigen Zustand zurücksetzen1",
"type": "n8n-nodes-base.httpRequest",
"position": [
5700,
120
],
"parameters": {
"url": "https://api.awork.com/api/v1/tasks/changestatuses",
"method": "POST",
"options": {},
"jsonBody": "=[\n {\n \"taskId\": \"{{ $('Webhook call by Awork').item.json.body.entity.id }}\",\n \"statusId\": \"{{ $('Filter task status change').item.json.old }}\" \n}\n] ",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "9d0FyCu0IlwrdNkM",
"name": "Awork Api"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 2000
},
{
"id": "0a266961-2e39-4508-a37e-9a5ec6811466",
"name": "Haftnotiz13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-740,
-660
],
"parameters": {
"color": 4,
"width": 280,
"content": "## Green sticky notes: Logical group of nodes"
},
"typeVersion": 1
},
{
"id": "a2014e67-29c9-49fb-86eb-0e5fe0969455",
"name": "Haftnotiz18",
"type": "n8n-nodes-base.stickyNote",
"position": [
-380,
-660
],
"parameters": {
"color": 3,
"width": 280,
"content": "## Red sticky notes: Routing and possible workflow exit"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"d25eeac9-c485-4624-8b9f-b7068a4eb0b5": {
"main": [
[
{
"node": "38782806-11a3-4976-8ba6-17da89d7a859",
"type": "main",
"index": 0
}
]
]
},
"1b05f8f7-9451-481d-b2cb-b74c4048f9e0": {
"main": [
[
{
"node": "a610af8c-a4eb-4fa0-987f-8c001f78de20",
"type": "main",
"index": 0
}
]
]
},
"ad23f9c2-bdb4-48b7-ad6b-776424c0275d": {
"main": [
[
{
"node": "946243b8-ceaa-4ce3-a4d1-97bc3ee9f9ed",
"type": "main",
"index": 0
}
]
]
},
"cc8d6540-122e-48e0-bcf7-91331eea11d4": {
"main": [
[
{
"node": "72cf9e1b-26f4-4132-b760-1b46f5348948",
"type": "main",
"index": 0
}
]
]
},
"a610af8c-a4eb-4fa0-987f-8c001f78de20": {
"main": [
[
{
"node": "72b495ae-fd9c-4347-ae17-8ba93a3afeb9",
"type": "main",
"index": 0
}
]
]
},
"4d41c9a6-edae-4a0f-8a06-64c647d4da1a": {
"main": [
[
{
"node": "1475c9e1-d99b-434c-b1e3-8160d25bd834",
"type": "main",
"index": 0
}
]
]
},
"946243b8-ceaa-4ce3-a4d1-97bc3ee9f9ed": {
"main": [
[
{
"node": "0521eaf8-0719-4691-be1d-82a6defa87ca",
"type": "main",
"index": 0
}
]
]
},
"cad1126c-4a60-47e2-8b75-0c2b35464497": {
"main": [
[]
]
},
"1475c9e1-d99b-434c-b1e3-8160d25bd834": {
"main": [
[
{
"node": "763b71ac-c78b-4020-9fe1-cc80028edfa7",
"type": "main",
"index": 0
}
]
]
},
"521684a2-f6d7-483a-aa73-bc6243d6bc33": {
"main": [
[
{
"node": "1b05f8f7-9451-481d-b2cb-b74c4048f9e0",
"type": "main",
"index": 0
}
]
]
},
"763b71ac-c78b-4020-9fe1-cc80028edfa7": {
"main": [
[
{
"node": "7d90188e-859e-450f-922a-e74c9f69646d",
"type": "main",
"index": 0
}
]
]
},
"72b495ae-fd9c-4347-ae17-8ba93a3afeb9": {
"main": [
[
{
"node": "a4ec9460-d622-4d4b-a31b-ba3705faa88f",
"type": "main",
"index": 0
}
]
]
},
"7d90188e-859e-450f-922a-e74c9f69646d": {
"main": [
[
{
"node": "86436ab7-7a4d-47c9-ab9f-9d414205baf3",
"type": "main",
"index": 0
}
]
]
},
"38782806-11a3-4976-8ba6-17da89d7a859": {
"main": [
[
{
"node": "ad23f9c2-bdb4-48b7-ad6b-776424c0275d",
"type": "main",
"index": 0
}
]
]
},
"86436ab7-7a4d-47c9-ab9f-9d414205baf3": {
"main": [
[
{
"node": "6bcac41a-3f06-4a35-9703-fdfba98d1ac4",
"type": "main",
"index": 0
}
],
[
{
"node": "a98ba8ae-05d4-4175-beed-fd9f40c772d3",
"type": "main",
"index": 0
}
]
]
},
"a4ec9460-d622-4d4b-a31b-ba3705faa88f": {
"main": [
[
{
"node": "cc8d6540-122e-48e0-bcf7-91331eea11d4",
"type": "main",
"index": 0
}
]
]
},
"8743a397-a6ca-4325-b0f8-33a34e15b63a": {
"main": [
[
{
"node": "d3ac4527-eb09-49f5-9bff-7d83e494022d",
"type": "main",
"index": 0
}
]
]
},
"d3ac4527-eb09-49f5-9bff-7d83e494022d": {
"main": [
[
{
"node": "4d41c9a6-edae-4a0f-8a06-64c647d4da1a",
"type": "main",
"index": 0
}
]
]
},
"6b84e668-7dd8-4ff5-ae98-c2dc6a435c07": {
"main": [
[
{
"node": "cad1126c-4a60-47e2-8b75-0c2b35464497",
"type": "main",
"index": 0
}
],
[]
]
},
"72cf9e1b-26f4-4132-b760-1b46f5348948": {
"main": [
[
{
"node": "8743a397-a6ca-4325-b0f8-33a34e15b63a",
"type": "main",
"index": 0
}
],
[
{
"node": "a98ba8ae-05d4-4175-beed-fd9f40c772d3",
"type": "main",
"index": 0
}
]
]
},
"e4b9348e-de14-425a-b9ed-64891681c49a": {
"main": [
[
{
"node": "65c7656e-f03e-4082-8226-34a052fbdc38",
"type": "main",
"index": 0
}
]
]
},
"a98ba8ae-05d4-4175-beed-fd9f40c772d3": {
"main": [
[
{
"node": "d25eeac9-c485-4624-8b9f-b7068a4eb0b5",
"type": "main",
"index": 0
}
]
]
},
"6bcac41a-3f06-4a35-9703-fdfba98d1ac4": {
"main": [
[
{
"node": "6b84e668-7dd8-4ff5-ae98-c2dc6a435c07",
"type": "main",
"index": 0
}
]
]
},
"0521eaf8-0719-4691-be1d-82a6defa87ca": {
"main": [
[
{
"node": "e4b9348e-de14-425a-b9ed-64891681c49a",
"type": "main",
"index": 0
}
]
]
}
}
}Häufig gestellte Fragen
Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - IT-Betrieb
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Automatisierte Awork-Aufgabenzeittracking-Ausführung und -Bereinigung
Automatisierte Ausführung und Bereinigung der Awork-Aufgabenzeiterfassung
If
Set
Code
+
If
Set
Code
58 NodesGregor
IT-Betrieb
Automatisierung der Microsoft-Teams-Konferenzanalyse mit GPT-4.1, Outlook und Mem.ai
Automatisierte Analyse von Microsoft Teams-Besprechungen mit GPT-4.1, Outlook und Mem.ai
If
Set
Code
+
If
Set
Code
61 NodesWayne Simpson
Personalwesen
Automatisierte Lead-Generierung und personalisierte Ansprache: Apollo, AI und Instantly.ai
Automatisierung der Lead-Generierung und personalisierten Ansprache: Apollo, AI und Instantly.ai
If
Set
Code
+
If
Set
Code
166 NodesRuben AI
Lead-Pflege
Automatisierte Lead-Generierung und Direktnachrichten-Kontaktierung auf LinkedIn mit Airtable, OpenAI und Unipile
Automatisierte LinkedIn-Lead-Generierung und Direktnachrichten-Kontaktaufnahme mit Airtable, OpenAI und Unipile
If
Set
Code
+
If
Set
Code
143 NodesRuben AI
Lead-Pflege
n8n-Knoten in der visuellen Referenzbibliothek erkunden
Erkundung von n8n-Knoten in der visuellen Referenzbibliothek
If
Ftp
Set
+
If
Ftp
Set
113 NodesI versus AI
Sonstiges
GitHub Synchronisations-Dashboard - V2
GitHub-Workflow-Versionskontroll-Dashboard mit Commit-Verlauf und Rollback-Funktion
If
N8n
Set
+
If
N8n
Set
94 NodesEduard
DevOps
Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes44
Kategorie1
Node-Typen9
Autor
Gregor
@gregorgExterne Links
Auf n8n.io ansehen →
Diesen Workflow teilen