{
  "name": "Paperless Inbox Reminder v1.2",
  "active": true,
  "isArchived": false,
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "weeksInterval": 1,
              "triggerAtDay": [
                1
              ],
              "triggerAtHour": 9,
              "triggerAtMinute": 0
            }
          ]
        }
      },
      "id": "41404371-29ed-4660-9989-a5cbd890555b",
      "name": "Every Monday 9 AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "https://paperless.paccoco.com/api/documents/",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Token {{ $env.PAPERLESS_API_TOKEN }}"
            }
          ]
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "is_tagged",
              "value": "0"
            },
            {
              "name": "page_size",
              "value": "25"
            },
            {
              "name": "ordering",
              "value": "created"
            },
            {
              "name": "fields",
              "value": "id,title,created,document_type,tags"
            }
          ]
        },
        "options": {}
      },
      "id": "fdcd5728-6d27-445f-961b-18f204297469",
      "name": "Fetch Inbox Docs",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        224,
        0
      ]
    },
    {
      "parameters": {
        "jsCode": "const data = $input.first().json;\nconst docs = data.results || [];\nconst total = data.count || 0;\n\n// Oldest 5 for the reminder body\nconst oldest = docs.slice(0, 5).map(d => {\n  const date = d.created ? d.created.substring(0, 10) : 'unknown date';\n  return `  • ${d.title || 'Untitled'} (added ${date})`;\n});\n\nreturn [{\n  json: {\n    total,\n    hasItems: total > 0,\n    hasItemsStr: total > 0 ? 'yes' : 'no',\n    oldestList: oldest.join('\\n'),\n    remaining: Math.max(0, total - 5)\n  }\n}];"
      },
      "id": "8fbe6be0-1ed3-4126-8f21-c3f4efb161c6",
      "name": "Parse Response",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        448,
        0
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "b206599d-0c79-4a32-9fb9-91e1c41dcff2",
              "leftValue": "={{ $json.hasItemsStr }}",
              "rightValue": "yes",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        }
      },
      "id": "e24344a1-e857-462c-b96a-842169e83a6d",
      "name": "Has Inbox Items?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        672,
        0
      ]
    },
    {
      "parameters": {
        "jsCode": "const d = $input.first().json;\nconst extra = d.remaining > 0 ? `\\n  … and ${d.remaining} more` : '';\nconst body = `${d.total} untagged document${d.total !== 1 ? 's' : ''} in Paperless inbox:\\n${d.oldestList}${extra}\\n\\nhttps://paperless.paccoco.com`;\nreturn [{ json: { title: '📥 Paperless Inbox Needs Attention', message: body, priority: 5 } }];"
      },
      "id": "897af9c9-4429-445f-8160-a03a14a318a3",
      "name": "Format Reminder",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        896,
        -120
      ]
    },
    {
      "parameters": {
        "jsCode": "return [{ json: { title: '✅ Paperless Inbox Clear', message: 'No untagged documents — inbox is clean.', priority: 1 } }];"
      },
      "id": "bd8fe88e-7876-45dd-8344-983674fba79d",
      "name": "Format Clear",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        896,
        120
      ]
    },
    {
      "parameters": {
        "message": "={{ $json.message }}",
        "additionalFields": {
          "priority": "={{ $json.priority }}",
          "title": "={{ $json.title }}"
        },
        "options": {
          "contentType": "text/plain"
        }
      },
      "id": "74860e7f-42e3-448f-9e46-5cfb6f12cdc2",
      "name": "Push to Gotify (Reminder)",
      "type": "n8n-nodes-base.gotify",
      "typeVersion": 1,
      "position": [
        1120,
        -120
      ],
      "credentials": {
        "gotifyApi": {
          "id": "SETUP_REQUIRED",
          "name": "Reminders"
        }
      }
    },
    {
      "parameters": {
        "message": "={{ $json.message }}",
        "additionalFields": {
          "priority": "={{ $json.priority }}",
          "title": "={{ $json.title }}"
        },
        "options": {
          "contentType": "text/plain"
        }
      },
      "id": "b1dbd39b-87c3-43ec-9cec-f63eabbd0fa5",
      "name": "Push to Gotify (Clear)",
      "type": "n8n-nodes-base.gotify",
      "typeVersion": 1,
      "position": [
        1120,
        120
      ],
      "credentials": {
        "gotifyApi": {
          "id": "SETUP_REQUIRED",
          "name": "Reminders"
        }
      }
    }
  ],
  "connections": {
    "Every Monday 9 AM": {
      "main": [
        [
          {
            "node": "Fetch Inbox Docs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Inbox Docs": {
      "main": [
        [
          {
            "node": "Parse Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Response": {
      "main": [
        [
          {
            "node": "Has Inbox Items?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Has Inbox Items?": {
      "main": [
        [
          {
            "node": "Format Reminder",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Format Clear",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Reminder": {
      "main": [
        [
          {
            "node": "Push to Gotify (Reminder)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Clear": {
      "main": [
        [
          {
            "node": "Push to Gotify (Clear)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate"
  },
  "staticData": null,
  "meta": null,
  "pinData": {},
  "tags": [
    {
      "name": "reminders"
    },
    {
      "name": "paperless"
    },
    {
      "name": "scheduled"
    }
  ],
  "id": "2b80579b-8d89-42d5-8b8b-9137f59ea206"
}
