Task: Monitor changes in Google Sheets every 45 mins

n8n workflow JSON:
{"nodes":[{"name":"Send message","type":"n8n-nodes-base.mattermost","position":[910,260],"parameters":{"message":"=New information was added to your Google Sheet.\nID: {{$json[\"id\"]}}\nName: {{$json[\"name\"]}}\nEmail: {{$json[\"email\"]}}","attachments":[],"otherOptions":{}},"credentials":{"mattermostApi":"Mattermost Credentials"},"typeVersion":1},{"name":"Check if new data","type":"n8n-nodes-base.function","position":[710,260],"parameters":{"functionCode":"const new_items = [];\n// Get static data stored with the workflow\n\nconst data = this.getWorkflowStaticData(\"node\");\ndata.ids = data.ids || [];\nfor (let i = items.length - 1; i >= 0; i--) {\n\n// Check if data is already present\n  if (data.ids.includes(items[i].json.ID)) {\n    break;\n  } else {\n\n// if new data then add it to an array\n    new_items.push({\n      json: {\n        id: items[i].json.ID,\n        name: items[i].json.Name,\n        email: items[i].json.Email\n      },\n    });\n  }\n}\ndata.ids = items.map((item) => item.json.ID);\n\n// return new items\nreturn new_items;\n"},"typeVersion":1},{"name":"Read data","type":"n8n-nodes-base.googleSheets","position":[510,260],"parameters":{"options":{},"sheetId":"1PyC-U1lXSCbxVmHuwFbkKDF9e3PW_iUn8T-iAd_MYjQ","authentication":"oAuth2"},"credentials":{"googleSheetsOAuth2Api":"google-sheets"},"typeVersion":1},{"name":"Execute every 45 mins","type":"n8n-nodes-base.interval","position":[310,260],"parameters":{"unit":"minutes"},"typeVersion":1}],"connections":{"Read data":{"main":[[{"node":"Check if new data","type":"main","index":0}]]},"Check if new data":{"main":[[{"node":"Send message","type":"main","index":0}]]},"Execute every 45 mins":{"main":[[{"node":"Read data","type":"main","index":0}]]}}}