AutomationFlowsSlack & Telegram › Teamretro: Weekly Overdue Actions Digest

Teamretro: Weekly Overdue Actions Digest

TeamRetro: Weekly overdue actions digest. Uses n8n-nodes-teamretro, slack. Scheduled trigger; 5 nodes.

Cron / scheduled trigger★★★★☆ complexity5 nodesN8N Nodes TeamretroSlack
Slack & Telegram Trigger: Cron / scheduled Nodes: 5 Complexity: ★★★★☆ Added:

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
{
  "name": "TeamRetro: Weekly overdue actions digest",
  "nodes": [
    {
      "id": "tr0400-0000-0000-0000-000000000001",
      "name": "Setup",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -60,
        40
      ],
      "parameters": {
        "width": 460,
        "height": 320,
        "color": 4,
        "content": "## Setup\n\n**API key:** team-scoped (`trt_`) returns that one team; account-scoped (`tra_`) covers every team in the account.\n\n1. Pick your TeamRetro credential on **Get Overdue Actions**.\n2. Optional: add a **Team IDs** or **Team Tags** filter on that node to narrow the digest.\n3. Pick the Slack channel.\n4. Adjust the schedule (default: Mondays 09:00), then **activate**.\n\nNo webhook needed \u2014 this one is pure API polling on a timer."
      }
    },
    {
      "id": "tr0400-0000-0000-0000-000000000002",
      "name": "Every Monday 9am",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        460,
        160
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "weeksInterval": 1,
              "triggerAtDay": [
                1
              ],
              "triggerAtHour": 9,
              "triggerAtMinute": 0
            }
          ]
        }
      }
    },
    {
      "id": "tr0400-0000-0000-0000-000000000003",
      "name": "Get Overdue Actions",
      "type": "n8n-nodes-teamretro.teamRetro",
      "typeVersion": 1,
      "position": [
        700,
        160
      ],
      "parameters": {
        "resource": "action",
        "operation": "getAll",
        "returnAll": true,
        "filters": {
          "actionOverdue": true,
          "actionStatus": "accepted",
          "sort": "date"
        }
      }
    },
    {
      "id": "tr0400-0000-0000-0000-000000000004",
      "name": "Build Digest",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        940,
        160
      ],
      "parameters": {
        "jsCode": "// One Slack message for the whole list, oldest due date first.\nconst actions = $input.all().map((i) => i.json).filter((a) => a && a.title);\n\nif (actions.length === 0) {\n  return [{ json: { text: ':white_check_mark: No overdue TeamRetro actions this week. Nice work!' } }];\n}\n\nconst lines = actions.map((a) => {\n  const owners = (a.assignedTo || []).map((u) => u.name || u.email).join(', ') || 'unassigned';\n  const team = a.team ? a.team.name : 'unknown team';\n  return `\u2022 *${a.title}* \u2014 ${owners} \u00b7 ${team} \u00b7 due ${a.due || 'n/a'}`;\n});\n\nreturn [{ json: { text: `:rotating_light: *${actions.length} overdue TeamRetro action(s)*\\n${lines.join('\\n')}` } }];"
      }
    },
    {
      "id": "tr0400-0000-0000-0000-000000000005",
      "name": "Post to Slack",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.3,
      "position": [
        1180,
        160
      ],
      "parameters": {
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#team-actions"
        },
        "text": "={{ $json.text }}",
        "otherOptions": {}
      }
    }
  ],
  "connections": {
    "Every Monday 9am": {
      "main": [
        [
          {
            "node": "Get Overdue Actions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Overdue Actions": {
      "main": [
        [
          {
            "node": "Build Digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Digest": {
      "main": [
        [
          {
            "node": "Post to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

TeamRetro: Weekly overdue actions digest. Uses n8n-nodes-teamretro, slack. Scheduled trigger; 5 nodes.

Source: https://github.com/TeamRetroHQ/n8n-nodes-teamretro/blob/main/examples/04-weekly-overdue-actions-digest.json — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

TeamRetro: Auto-create the sprint retrospective. Uses n8n-nodes-teamretro, slack. Scheduled trigger; 4 nodes.

N8N Nodes Teamretro, Slack
Slack & Telegram

This workflow fully automates your team's daily standup process using Slack for communication, Notion for structured data storage, and Redis for real-time session management.

Notion, Slack, Redis
Slack & Telegram

debug. Uses httpRequest, slack, redis, mailgun. Scheduled trigger; 60 nodes.

HTTP Request, Slack, Redis +2
Slack & Telegram

Seller Follow-Up Engine (Enhanced). Uses httpRequest, slack. Scheduled trigger; 44 nodes.

HTTP Request, Slack
Slack & Telegram

This workflow is an automated employee time tracking and reporting system that monitors weekly work hours via TMetric, then delivers personalized summaries directly to each team member on Slack. It co

HTTP Request, Item Lists, Data Table +1