{
  "name": "Todoist -> MS To Do",
  "nodes": [
    {
      "parameters": {
        "dataType": "string",
        "value1": "={{ $json[\"body\"][\"event_name\"] }}",
        "rules": {
          "rules": [
            {
              "value2": "item:completed"
            },
            {
              "value2": "item:deleted"
            },
            {
              "value2": "item:uncompleted"
            },
            {
              "value2": "item:updated"
            },
            {
              "value2": "item:added",
              "output": 1
            }
          ]
        }
      },
      "id": "7619a118-7cb2-4402-a7b8-afa5b1c98446",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 1,
      "position": [
        660,
        300
      ]
    },
    {
      "parameters": {
        "operation": "create",
        "taskListId": "AQMkADAwATZiZmYAZC1kM2Y4LWExMQEtMDACLTAwCgAuAAADxeeKEHDPzUyDqR_uGHvsGAEAMb92IcD1v0mQrgs56Rc_ygAAAgESAAAA",
        "title": "={{ $node[\"Todoist webhook\"].json[\"body\"][\"event_data\"][\"content\"] }}",
        "additionalFields": {
          "content": "={{ $json[\"body\"][\"event_data\"][\"id\"] }}",
          "dueDateTime": "={{ $node[\"Set daily tasks at 8\"].json.body.event_data.due.date }}",
          "reminderDateTime": "={{ $node[\"Set daily tasks at 8\"].json.body.event_data.due.date }}"
        }
      },
      "id": "bc490ed5-13ed-4826-82b8-263f114ffa84",
      "name": "Microsoft To Do",
      "type": "n8n-nodes-base.microsoftToDo",
      "typeVersion": 1,
      "position": [
        860,
        460
      ],
      "credentials": {
        "microsoftToDoOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "dataType": "string",
        "value1": "={{ $node[\"Todoist webhook\"].json.body.event_name }}",
        "rules": {
          "rules": [
            {
              "value2": "item:completed"
            },
            {
              "value2": "item:uncompleted",
              "output": 1
            },
            {
              "value2": "item:deleted",
              "output": 2
            },
            {
              "value2": "item:updated",
              "output": 3
            }
          ]
        }
      },
      "id": "9a437ea7-89f9-44d8-87ee-048fd6bbf09c",
      "name": "Switch1",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 1,
      "position": [
        1140,
        160
      ]
    },
    {
      "parameters": {
        "operation": "update",
        "taskListId": "AQMkADAwATZiZmYAZC1kM2Y4LWExMQEtMDACLTAwCgAuAAADxeeKEHDPzUyDqR_uGHvsGAEAMb92IcD1v0mQrgs56Rc_ygAAAgESAAAA",
        "taskId": "={{ $json.idModifiedTask }}",
        "updateFields": {
          "status": "completed"
        }
      },
      "id": "3959d51d-3b9f-4ff9-a697-2d469af1811a",
      "name": "Complete",
      "type": "n8n-nodes-base.microsoftToDo",
      "typeVersion": 1,
      "position": [
        1400,
        -20
      ],
      "credentials": {
        "microsoftToDoOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "taskListId": "AQMkADAwATZiZmYAZC1kM2Y4LWExMQEtMDACLTAwCgAuAAADxeeKEHDPzUyDqR_uGHvsGAEAMb92IcD1v0mQrgs56Rc_ygAAAgESAAAA",
        "taskId": "={{ $json.idModifiedTask }}",
        "updateFields": {
          "status": "notStarted"
        }
      },
      "id": "e18e06ac-b7d8-4447-954b-a002450f2158",
      "name": "Uncomplete",
      "type": "n8n-nodes-base.microsoftToDo",
      "typeVersion": 1,
      "position": [
        1400,
        120
      ],
      "credentials": {
        "microsoftToDoOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "delete",
        "taskListId": "AQMkADAwATZiZmYAZC1kM2Y4LWExMQEtMDACLTAwCgAuAAADxeeKEHDPzUyDqR_uGHvsGAEAMb92IcD1v0mQrgs56Rc_ygAAAgESAAAA",
        "taskId": "={{ $json.idModifiedTask }}"
      },
      "id": "5e1fcc41-cc5e-44c5-8498-e8765e08d073",
      "name": "Delete",
      "type": "n8n-nodes-base.microsoftToDo",
      "typeVersion": 1,
      "position": [
        1400,
        260
      ],
      "credentials": {
        "microsoftToDoOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const idModifiedTask = $('Switch').first(0).json.body.event_data.id;\n\nfor (const item of $input.all()) {\n  const thisTaskId = item.json.body.content.replace(/(\\r\\n|\\n|\\r)/gm, \"\");\n\n  if (thisTaskId == idModifiedTask){\n    console.log(item.json.id);\n    return [{\"idModifiedTask\": item.json.id}];\n  }\n}\n\nreturn null;"
      },
      "id": "ec212005-7a51-4b77-8792-0c19e27c7d48",
      "name": "Search modified task id",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        1000,
        160
      ],
      "alwaysOutputData": false
    },
    {
      "parameters": {
        "operation": "getAll",
        "taskListId": "AQMkADAwATZiZmYAZC1kM2Y4LWExMQEtMDACLTAwCgAuAAADxeeKEHDPzUyDqR_uGHvsGAEAMb92IcD1v0mQrgs56Rc_ygAAAgESAAAA",
        "returnAll": true
      },
      "id": "2fed542e-8902-4dd5-b67c-3640c2395f8a",
      "name": "Get all tasks",
      "type": "n8n-nodes-base.microsoftToDo",
      "typeVersion": 1,
      "position": [
        860,
        160
      ],
      "credentials": {
        "microsoftToDoOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "taskListId": "AQMkADAwATZiZmYAZC1kM2Y4LWExMQEtMDACLTAwCgAuAAADxeeKEHDPzUyDqR_uGHvsGAEAMb92IcD1v0mQrgs56Rc_ygAAAgESAAAA",
        "taskId": "={{ $json.idModifiedTask }}",
        "updateFields": {
          "dueDateTime": "={{ $node[\"Set daily tasks at 8\"].json.body.event_data.due.date }}",
          "reminderDateTime": "={{ $node[\"Set daily tasks at 8\"].json.body.event_data.due.date }}",
          "title": "={{ $node[\"Todoist webhook\"].json.body.event_data.content }}"
        }
      },
      "id": "1127402c-afb0-4b15-97db-3b748f06d957",
      "name": "Update",
      "type": "n8n-nodes-base.microsoftToDo",
      "typeVersion": 1,
      "position": [
        1400,
        400
      ],
      "credentials": {
        "microsoftToDoOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "if ($input.item.json.body.event_data.due && !($input.item.json.body.event_data.due.date).includes(\"T\"))\n  $input.item.json.body.event_data.due.date = $input.item.json.body.event_data.due.date + \"T08:00:00\"\n\nreturn $input.item;"
      },
      "id": "245c9144-b97b-4334-b0c9-9f492ee60a69",
      "name": "Set daily tasks at 8",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        520,
        300
      ]
    },
    {
      "parameters": {
        "content": "Update probably not updating due date"
      },
      "id": "9c84b7a4-00a7-4a0a-8773-ae7990d08e34",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1500,
        480
      ]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "0bf6c02a-9e23-4196-897e-4ac3eee2aca9",
        "options": {}
      },
      "id": "03d1a34d-f930-485e-b414-06991cd5763b",
      "name": "Todoist webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        360,
        300
      ]
    }
  ],
  "connections": {
    "Switch": {
      "main": [
        [
          {
            "node": "Get all tasks",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Microsoft To Do",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch1": {
      "main": [
        [
          {
            "node": "Complete",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Uncomplete",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Delete",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search modified task id": {
      "main": [
        [
          {
            "node": "Switch1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get all tasks": {
      "main": [
        [
          {
            "node": "Search modified task id",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set daily tasks at 8": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Todoist webhook": {
      "main": [
        [
          {
            "node": "Set daily tasks at 8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "executionTimeout": -1,
    "executionOrder": "v1"
  },
  "versionId": "f4c7fcf5-07e5-417c-bf97-f11897971243",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "1",
  "tags": [
    {
      "createdAt": "2024-10-10T22:46:06.991Z",
      "updatedAt": "2024-10-10T22:46:06.991Z",
      "id": "1",
      "name": "Todo list"
    }
  ]
}