{
  "name": "TeamRetro: High-priority action \u2192 Slack alert",
  "nodes": [
    {
      "id": "tr0200-0000-0000-0000-000000000001",
      "name": "Setup",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -60,
        40
      ],
      "parameters": {
        "width": 460,
        "height": 360,
        "color": 4,
        "content": "## Setup\n\n**API key:** not needed \u2014 this workflow only reads the webhook payload.\n\n1. Open **TeamRetro Trigger** \u2192 copy its **Production URL**.\n2. In TeamRetro: **Settings \u2192 Integrations \u2192 Webhooks \u2192 Add webhook**.\n   - Paste the URL, tick **Action Created**.\n   - Copy the **signing secret** into the trigger's *Signing Secret* field.\n3. Pick the Slack channel, then **activate**.\n\n### Event choice\n`action.created` fires once per new action. Avoid pairing it with `action.updated` \u2014 that is a catch-all which also fires alongside every granular action event, so you would get duplicates."
      }
    },
    {
      "id": "tr0200-0000-0000-0000-000000000002",
      "name": "TeamRetro Trigger",
      "type": "n8n-nodes-teamretro.teamRetroTrigger",
      "typeVersion": 1,
      "position": [
        460,
        160
      ],
      "parameters": {
        "events": [
          "action.created"
        ],
        "signingSecret": ""
      }
    },
    {
      "id": "tr0200-0000-0000-0000-000000000003",
      "name": "Only High Priority",
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.2,
      "position": [
        700,
        160
      ],
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "priority-high",
              "leftValue": "={{ $json.data.action.priority }}",
              "rightValue": "high",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      }
    },
    {
      "id": "tr0200-0000-0000-0000-000000000004",
      "name": "Post to Slack",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.3,
      "position": [
        940,
        160
      ],
      "parameters": {
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#team-actions"
        },
        "text": "=:rotating_light: High-priority action for *{{ $json.data.action.team.name }}*\n*{{ $json.data.action.title }}*\nOwner: {{ ($json.data.action.assignedTo || []).map(u => u.name || u.email).join(', ') || 'unassigned' }}\nDue: {{ $json.data.action.due || 'no due date' }}",
        "otherOptions": {}
      }
    }
  ],
  "connections": {
    "TeamRetro Trigger": {
      "main": [
        [
          {
            "node": "Only High Priority",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Only High Priority": {
      "main": [
        [
          {
            "node": "Post to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}