{
  "name": "AckPost failed publish alert",
  "nodes": [
    {
      "parameters": {},
      "id": "manual-trigger",
      "name": "Run manually",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [0, 0]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://ackpost.com/api/ackpost/mcp",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"jsonrpc\": \"2.0\",\n  \"id\": \"n8n-list-queue\",\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"ackpost_list_queue\",\n    \"arguments\": { \"limit\": 50 }\n  }\n}"
      },
      "id": "list-queue",
      "name": "List AckPost queue",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [260, 0],
      "credentials": {
        "httpHeaderAuth": {
          "id": "replace-with-credential-id",
          "name": "AckPost API Key"
        }
      }
    },
    {
      "parameters": {
        "content": "Filter for failed queue items, then route them to Slack, email, or a ticket system. Keep the message focused on proof, platform, and next action."
      },
      "id": "route-note",
      "name": "Route failures",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [540, -180]
    }
  ],
  "connections": {
    "Run manually": {
      "main": [
        [
          {
            "node": "List AckPost queue",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}
