{ "name": "Keep Notes - Reminder Notifications", "nodes": [ { "parameters": { "rule": { "interval": [ { "field": "cronExpression", "expression": "0 */30 * * * *" } ] } }, "id": "schedule-1", "name": "Schedule (Every 30 min)", "type": "n8n-nodes-base.scheduleTrigger", "typeVersion": 1.2, "position": [250, 300], "description": "Check for reminders every 30 minutes" }, { "parameters": { "url": "http://localhost:3000/api/notes", "method": "GET", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Content-Type", "value": "application/json" } ] }, "options": {} }, "id": "get-all-notes-1", "name": "Get All Notes", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [500, 300] }, { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict" }, "conditions": [ { "id": "condition-1", "leftValue": "={{ $json.reminder }}", "rightValue": "true", "operator": { "type": "boolean", "operation": "isNotEmpty" } }, { "id": "condition-2", "leftValue": "={{ $json.isReminderDone }}", "rightValue": "false", "operator": { "type": "boolean", "operation": "equals" } }, { "id": "condition-3", "leftValue": "={{ $json.reminder }}", "rightValue": "={{ $now }}", "operator": { "type": "date", "operation": "before" } } ], "combinator": "and" }, "options": {} }, "id": "filter-reminders-1", "name": "Filter Active Reminders", "type": "n8n-nodes-base.if", "typeVersion": 2.1, "position": [750, 300] }, { "parameters": { "fieldToSplitOut": "data", "options": {} }, "id": "split-1", "name": "Split Reminders", "type": "n8n-nodes-base.splitOut", "typeVersion": 1, "position": [1000, 300] }, { "parameters": { "channel": "={{ $json.notificationChannel || 'slack' }}", "text": "š **Reminder:** {{ $json.title || 'Untitled Note' }}\n\n{{ $json.content }}\n\nš Location: {{ $json.reminderLocation || 'N/A' }}\nš View in Keep Notes: http://localhost:3000\n\nā° Reminder Time: {{ $json.reminder }}", "otherOptions": {} }, "id": "send-notification-1", "name": "Send Notification", "type": "n8n-nodes-base.slack", "typeVersion": 2.1, "position": [1250, 300], "continueOnFail": true }, { "parameters": { "channel": "={{ $json.notificationEmail }}", "subject": "š Reminder: {{ $json.title || 'Untitled Note' }}", "emailType": "html", "message": "
{{ $json.content }}
\n\nLocation: {{ $json.reminderLocation || 'N/A' }}