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 →
{
"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": "<your credential>"
},
"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": "<your credential>"
},
"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
}
]
]
}
}
}
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.
googleSheetsOAuth2ApimattermostApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Monitor Changes In Google Sheets Every 45 Mins. Uses mattermost, googleSheets, interval. Manual trigger; 4 nodes.
Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow automates quiz delivery from a Google Sheet directly into a Telegram group. It ensures that quizzes are posted one by one as polls, and once a quiz is sent, its status in the sheet is au
StatsInstagram. Uses mattermost, dateTime, googleSheets. Scheduled trigger; 5 nodes.
Mattermost Googlesheets. Uses googleSheets, mattermost. Scheduled trigger; 3 nodes.
This workflow is a complete, production-ready solution for recovering abandoned carts in Shopify stores using a multi-channel, multi-touch approach. It automates personalized follow-ups via Email, SMS
Deal-Finder. Uses executeWorkflowTrigger, googleSheets, perplexity, httpRequest. Event-driven trigger; 49 nodes.