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 →
{
"name": "Daily Standup Digest Email",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 24
}
]
}
},
"id": "schedule-trigger",
"name": "Daily at 7am",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1,
"position": [
250,
300
]
},
{
"parameters": {
"operation": "getAll",
"calendar": {
"value": "primary",
"mode": "raw"
},
"returnAll": true,
"options": {
"timeMin": "={{ new Date().toISOString() }}",
"timeMax": "={{ new Date(Date.now() + 24*60*60*1000).toISOString() }}"
}
},
"id": "calendar-events",
"name": "Today's Calendar",
"type": "n8n-nodes-base.googleCalendar",
"typeVersion": 1,
"position": [
500,
200
]
},
{
"parameters": {
"operation": "search",
"searchText": "status:incomplete",
"returnAll": true
},
"id": "notion-tasks",
"name": "Open Tasks (Notion)",
"type": "n8n-nodes-base.notion",
"typeVersion": 2,
"position": [
500,
500
]
},
{
"parameters": {
"mergeByFields": {
"values": [
{
"fieldName": "calendar",
"sourceField": "Calendar Events"
},
{
"fieldName": "tasks",
"sourceField": "Notion Tasks"
}
]
}
},
"id": "merge-data",
"name": "Merge Calendar + Tasks",
"type": "n8n-nodes-base.merge",
"typeVersion": 3,
"position": [
750,
350
]
},
{
"parameters": {
"fromEmail": "standup@yourcompany.com",
"toEmail": "team@yourcompany.com",
"subject": "={{ 'Daily Standup \u2014 ' + new Date().toLocaleDateString('en-US', { weekday: 'long', month: 'long', day: 'numeric' }) }}",
"html": "<h2>Today's Calendar</h2>{{ JSON.stringify($json.calendar, null, 2) }}<h2>Open Tasks</h2>{{ JSON.stringify($json.tasks, null, 2) }}"
},
"id": "send-digest",
"name": "Send Digest Email",
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2,
"position": [
1000,
350
]
}
],
"connections": {
"Daily at 7am": {
"main": [
[
{
"node": "Today's Calendar",
"type": "main",
"index": 0
},
{
"node": "Open Tasks (Notion)",
"type": "main",
"index": 0
}
]
]
},
"Today's Calendar": {
"main": [
[
{
"node": "Merge Calendar + Tasks",
"type": "main",
"index": 0
}
]
]
},
"Open Tasks (Notion)": {
"main": [
[
{
"node": "Merge Calendar + Tasks",
"type": "main",
"index": 1
}
]
]
},
"Merge Calendar + Tasks": {
"main": [
[
{
"node": "Send Digest Email",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {},
"staticData": null
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Daily Standup Digest Email. Uses googleCalendar, notion, emailSend. Scheduled trigger; 5 nodes.
Source: https://github.com/atlas-aia/n8n-automation-guides/blob/e798ae623ea1a02cda20e18da22baf24f0b7bec5/templates/daily-standup-digest.json — 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.
Cron HTTP Notion. Uses httpRequest, notion. Scheduled trigger; 3 nodes.
Code Schedule. Uses httpRequest, splitInBatches, noOp, notion. Scheduled trigger; 27 nodes.
Filter Schedule. Uses manualTrigger, notion, sort, emailSend. Event-driven trigger; 27 nodes.
Archive empty pages in Notion Database. Uses notion, splitInBatches. Scheduled trigger; 10 nodes.
Splitout Schedule. Uses httpRequest, splitOut, markdown, scheduleTrigger. Scheduled trigger; 8 nodes.