{
  "id": "xQKONecPd0aFmY2C",
  "name": "Task & Form",
  "tags": [],
  "nodes": [
    {
      "id": "b08b486e-14a0-43bd-af1f-89d248fef325",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 480,
        "height": 880,
        "content": "## Task & Form\n\n### How it works\n\n1. Trigger the workflow using a webhook.\n2. Set the website to be reviewed.\n3. Create a task in Google Tasks.\n4. Wait for feedback using a web form.\n5. Decide if the task should be added to a shortlist.\n6. Perform an additional action based on the shortlist decision.\n\n### Setup steps\n\n- [ ] Configure Google Tasks credentials.\n- [ ] Set up the webhook URL for the trigger.\n- [ ] Customize the feedback form in the wait node.\n\n### Customization\n\nThe workflow can be customized by changing the conditions in the 'shortlist?' node.\n\n### Some background: Why?\nWhen getting many AI results for review, it becomes hard to keep track if it's just in slack or mail. Also, it's harder to distribute work. Still, you'll want to keep n8n as the workflow engine, asking me for OK before resuming its magic. Using an external tool for managing the backlog of human tasks keeps things manageable. \n\n#### Is this the only possible scenario?\nNo, you will likely have a different trigger, a different action as follow up and likely also a different task manager. Instead of Google Tasks, you can also use any other task manager like Asana, Jira, Todoist, G-Sheets, Planner, etc. My point is to show that a backlog can easily be managed with an external tool while keeping Human Tasks (aka Human in the Loop / HITL) firmly within n8n. "
      },
      "typeVersion": 1
    },
    {
      "id": "6ecd6307-e626-447f-92b7-940d0c2b81a5",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        128
      ],
      "parameters": {
        "color": 7,
        "width": 544,
        "height": 304,
        "content": "## Initialize and set task\n\nTrigger the workflow and set the website to be reviewed, then create a task."
      },
      "typeVersion": 1
    },
    {
      "id": "5f42ea9f-d272-45b6-b224-1af8b63c9868",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        96
      ],
      "parameters": {
        "color": 7,
        "width": 400,
        "height": 320,
        "content": "## Feedback and shortlist decision\n\nCollect feedback through a web form and decide if the task should be added to a shortlist."
      },
      "typeVersion": 1
    },
    {
      "id": "94ca05a7-19a6-4b59-b578-2ad1cde4a9bd",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        0
      ],
      "parameters": {
        "color": 7,
        "height": 320,
        "content": "## Add to shortlist action\n\nExecute action if the task is to be added to the shortlist."
      },
      "typeVersion": 1
    },
    {
      "id": "72d32c2f-a402-4aa4-b630-7bb692d50f59",
      "name": "Create Google Task",
      "type": "n8n-nodes-base.googleTasks",
      "position": [
        960,
        256
      ],
      "parameters": {
        "task": "MDY0ODcwODQ3NjEyNDEzODUzMzk6MDow",
        "title": "=Check website {{ $('Set Website To Review').item.json.website2look }}",
        "additionalFields": {
          "notes": "=go to {{ $execution.resumeFormUrl }}, submit the form, thx"
        }
      },
      "credentials": {
        "googleTasksOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "00a6a17d-f997-4718-8715-4db8bb7a51e3",
      "name": "Add to Shortlist Action",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1616,
        160
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4cd7f3cc-715d-43bb-a06a-ea8b8aa3fa77",
      "name": "If Shortlisted",
      "type": "n8n-nodes-base.if",
      "position": [
        1392,
        256
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "54368a29-a4c2-4628-a1f5-f651c6fa7a4d",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "ee615c8d-a4e7-493b-9bae-00f7e162c1fb",
      "name": "Wait for Feedback Form Completion",
      "type": "n8n-nodes-base.wait",
      "position": [
        1184,
        256
      ],
      "parameters": {
        "resume": "form",
        "options": {},
        "formTitle": "Content evaluation",
        "formFields": {
          "values": [
            {
              "fieldType": "dropdown",
              "fieldLabel": "Add 2 shortlist",
              "fieldOptions": {
                "values": [
                  {
                    "option": "yes"
                  },
                  {
                    "option": "no"
                  }
                ]
              }
            }
          ]
        },
        "formDescription": "=Check out <a href=\"{{ $('Set Website To Review').item.json.website2look }}\" target=\"_blank\">{{ $('Set Website To Review').item.json.website2look }}</a> and give feedback"
      },
      "typeVersion": 1.1
    },
    {
      "id": "baeba22e-beed-4586-8b41-395f48d2e888",
      "name": "Set Website To Review",
      "type": "n8n-nodes-base.set",
      "position": [
        784,
        256
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "97763cc4-480c-440a-9d02-2cc20411a2d0",
              "name": "website2look",
              "type": "string",
              "value": "https://sebastianrothbucher.github.io/"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "bd499062-9894-443e-bc00-9842fcc8bb41",
      "name": "Webhook GET Trigger for Review",
      "type": "n8n-nodes-base.webhook",
      "position": [
        608,
        256
      ],
      "parameters": {
        "path": "6d857513-5902-4813-ad2f-0f7c027fcf10",
        "options": {}
      },
      "typeVersion": 2.1
    }
  ],
  "active": false,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "e7a05102-e826-4bf7-a23f-49b26affee0b",
  "connections": {
    "If Shortlisted": {
      "main": [
        [
          {
            "node": "Add to Shortlist Action",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Google Task": {
      "main": [
        [
          {
            "node": "Wait for Feedback Form Completion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Website To Review": {
      "main": [
        [
          {
            "node": "Create Google Task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook GET Trigger for Review": {
      "main": [
        [
          {
            "node": "Set Website To Review",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Feedback Form Completion": {
      "main": [
        [
          {
            "node": "If Shortlisted",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}