AutomationFlowsData & Sheets › Datetime Schedule

Datetime Schedule

Datetime Schedule. Uses scheduleTrigger, notion, dateTime, itemLists. Scheduled trigger; 9 nodes.

Cron / scheduled trigger★★★★☆ complexity9 nodesNotionItem ListsHttp Request
Data & Sheets Trigger: Cron / scheduled Nodes: 9 Complexity: ★★★★☆

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "713d2864-efd0-4938-871e-1d37a7c58b67",
      "name": "On schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1280,
        840
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "0cedfde1-6ae1-485c-bd2c-b6114f6e4deb",
      "name": "Try get database page",
      "type": "n8n-nodes-base.notion",
      "position": [
        2160,
        900
      ],
      "parameters": {
        "filters": {
          "conditions": [
            {
              "key": "Event ID|rich_text",
              "condition": "equals",
              "richTextValue": "={{ $json.id }}"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "operation": "getAll",
        "returnAll": true,
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "6318457d-052d-4107-9c5b-8041f530fa03",
          "cachedResultUrl": "https://www.notion.so/6318457d052d41079c5b8041f530fa03",
          "cachedResultName": "Outlook Calendar"
        },
        "filterType": "manual"
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "92ebdd55-0950-471c-aa44-2fed31b17870",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        2380,
        780
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "joinMode": "enrichInput1",
        "mergeByFields": {
          "values": [
            {
              "field1": "id",
              "field2": "property_event_id"
            }
          ]
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "d38e4228-b3ab-443f-bfac-ffd0bc10fd08",
      "name": "If database page not found",
      "type": "n8n-nodes-base.if",
      "position": [
        2600,
        840
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.property_event_id }}",
              "operation": "isEmpty"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6ef0f18c-51fe-42e7-9e42-fd6ca8564e6e",
      "name": "Create database page",
      "type": "n8n-nodes-base.notion",
      "position": [
        2820,
        740
      ],
      "parameters": {
        "title": "={{ $json.subject }}",
        "options": {
          "icon": "https://avatars.githubusercontent.com/u/45487711?s=280&v=4",
          "iconType": "file"
        },
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "6318457d-052d-4107-9c5b-8041f530fa03",
          "cachedResultUrl": "https://www.notion.so/6318457d052d41079c5b8041f530fa03",
          "cachedResultName": "Outlook Calendar"
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Date|date",
              "range": true,
              "dateEnd": "={{ $json.end.dateTime }}",
              "timezone": "={{ $json.start.timeZone }}",
              "dateStart": "={{ $json.start.dateTime }}"
            },
            {
              "key": "Event ID|rich_text",
              "textContent": "={{ $json.id }}"
            },
            {
              "key": "Link|url",
              "urlValue": "={{ $json.webLink }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "2d324002-348b-4f23-bffe-57f685a8a761",
      "name": "Update database page",
      "type": "n8n-nodes-base.notion",
      "position": [
        2820,
        940
      ],
      "parameters": {
        "pageId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Date|date",
              "range": true,
              "dateEnd": "={{ $json.end.dateTime }}",
              "timezone": "={{ $json.start.timeZone }}",
              "dateStart": "={{ $json.start.dateTime }}"
            },
            {
              "key": "Link|url",
              "urlValue": "={{ $json.webLink }}"
            },
            {
              "key": "Name|title",
              "title": "={{ $json.subject }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "ee4792c4-d71c-4fd3-a8a3-babae5ff3479",
      "name": "X days into the future",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        1500,
        840
      ],
      "parameters": {
        "duration": 365,
        "magnitude": "={{ $json.timestamp }}",
        "operation": "addToDate",
        "outputFieldName": "Future date"
      },
      "typeVersion": 2
    },
    {
      "id": "00b53a21-97c7-4293-a5eb-8321afddd4bc",
      "name": "Split out items",
      "type": "n8n-nodes-base.itemLists",
      "position": [
        1940,
        840
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "value"
      },
      "typeVersion": 2.2
    },
    {
      "id": "a7541bb9-0c0d-48b5-a39e-57e5681330da",
      "name": "Get Outlook Calendar events",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1720,
        840
      ],
      "parameters": {
        "url": "https://graph.microsoft.com/v1.0/me/calendarview",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "oAuth2Api",
        "queryParameters": {
          "parameters": [
            {
              "name": "startdatetime",
              "value": "={{ new Date($('On schedule').item.json.timestamp).toISOString() }}"
            },
            {
              "name": "enddatetime",
              "value": "={{ new Date($json['Future date']).toISOString() }}"
            }
          ]
        }
      },
      "credentials": {
        "oAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.1
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "If database page not found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On schedule": {
      "main": [
        [
          {
            "node": "X days into the future",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split out items": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          },
          {
            "node": "Try get database page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Try get database page": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "X days into the future": {
      "main": [
        [
          {
            "node": "Get Outlook Calendar events",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If database page not found": {
      "main": [
        [
          {
            "node": "Create database page",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update database page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Outlook Calendar events": {
      "main": [
        [
          {
            "node": "Split out items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

About this workflow

Datetime Schedule. Uses scheduleTrigger, notion, dateTime, itemLists. Scheduled trigger; 9 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →