{
  "name": "25 - Automated Daily Signup Summary",
  "nodes": [
    {
      "id": "9bcb46ca-0694-41ee-b700-1dfa22bdb478",
      "name": "Database Config Instructions",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -180,
        200
      ],
      "parameters": {
        "color": 4,
        "width": 440,
        "height": 580,
        "content": "## 1\ufe0f\u20e3 Trigger & Data Fetching\n\n\u23f0 Daily Report Trigger runs every day at 9:00 AM.\n\n*It triggers \ud83d\uddc4\ufe0f Fetch Signup Count, which queries the customers table in PostgreSQL to count the number of new signups within the last 24 hours using the created_at timestamp column.*"
      },
      "typeVersion": 1
    },
    {
      "id": "bf6257e2-a159-42d2-9826-68bf692337b0",
      "name": "Messaging Config Instructions",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        120
      ],
      "parameters": {
        "color": 5,
        "width": 260,
        "height": 660,
        "content": "## 2\ufe0f\u20e3 Report Preparation\n\n\ud83d\udcdd Prepare Report Message formats the results into a ready-to-send message.\n\n*It includes the signup count, report date, and a summary message:\n\ud83d\udcca Daily Signup Report \u2013 New signups in last 24h: X*\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1a8bf7d7-18e7-4b08-947e-6bc189d5a2f5",
      "name": "\u23f0 Daily Report Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -120,
        420
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "bf7c0220-7aa2-40b0-b12d-3e4756f07130",
      "name": "\ud83d\uddc4\ufe0f Fetch Signup Count",
      "type": "n8n-nodes-base.postgres",
      "position": [
        100,
        420
      ],
      "parameters": {
        "query": "-- EDIT: Replace 'users' with your table name and 'created_at' with your timestamp column\nSELECT COUNT(*) as signup_count \nFROM customers \nWHERE created_at >= NOW() - INTERVAL '24 HOURS';",
        "options": {},
        "operation": "executeQuery"
      },
      "typeVersion": 2.4
    },
    {
      "id": "998a13b4-e761-47e2-bfac-8b65a3a47dfa",
      "name": "\ud83d\udcdd Prepare Report Message",
      "type": "n8n-nodes-base.set",
      "position": [
        360,
        420
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "signup_count",
              "value": "={{ $json.signup_count || 0 }}"
            },
            {
              "name": "report_date",
              "value": "={{ new Date().toLocaleDateString('en-US', { timeZone: 'UTC', year: 'numeric', month: 'long', day: 'numeric' }) }}"
            },
            {
              "name": "message_text",
              "value": "=\ud83d\udcca Daily Signup Report\nNew signups in the last 24h: {{ $json.signup_count || 0 }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "8f165983-aa33-489d-bc3c-827b626cd531",
      "name": "\ud83d\udcac Post to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        660,
        220
      ],
      "parameters": {
        "text": "={{ $node['\ud83d\udcdd Prepare Report Message'].json.message_text }}",
        "channel": "#general",
        "attachments": [],
        "otherOptions": {}
      },
      "typeVersion": 1
    },
    {
      "id": "f4130a5a-0473-4e7e-b5cc-00dc33c8775d",
      "name": "\ud83d\udce2 Send to Teams",
      "type": "n8n-nodes-base.microsoftTeams",
      "position": [
        660,
        420
      ],
      "parameters": {
        "name": "YOUR_CHANNEL_NAME",
        "teamId": "YOUR_TEAM_ID",
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "13930dd0-dd61-4fb9-857b-f2ca484a1c8e",
      "name": "\ud83d\udcf2 Send to Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        660,
        620
      ],
      "parameters": {
        "text": "={{ $node['\ud83d\udcdd Prepare Report Message'].json.message_text }}",
        "chatId": "YOUR_TELEGRAM_CHAT_ID",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "7447cbfd-709d-4acc-9f66-68f2914edd21",
      "name": "Messaging Config Instructions1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -40
      ],
      "parameters": {
        "color": 3,
        "width": 360,
        "height": 820,
        "content": "## 3\ufe0f\u20e3 Multi-Channel Notification Delivery\n\n*The prepared message is sent to multiple platforms in parallel:\n\n\ud83d\udcac Post to Slack\n\ud83d\udce2 Send to Teams\n\ud83d\udcf2 Send to Telegram"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "connections": {
    "\u23f0 Daily Report Trigger": {
      "main": [
        [
          {
            "node": "\ud83d\uddc4\ufe0f Fetch Signup Count",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\uddc4\ufe0f Fetch Signup Count": {
      "main": [
        [
          {
            "node": "\ud83d\udcdd Prepare Report Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcdd Prepare Report Message": {
      "main": [
        [
          {
            "node": "\ud83d\udcac Post to Slack",
            "type": "main",
            "index": 0
          },
          {
            "node": "\ud83d\udce2 Send to Teams",
            "type": "main",
            "index": 0
          },
          {
            "node": "\ud83d\udcf2 Send to Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}