Display YouTube Subscriber Count on Ulanzi AWTRIX Smart Clock
N8N

Display YouTube Subscriber Count on Ulanzi AWTRIX Smart Clock

This n8n workflow fetches the subscriber count of a specific YouTube channel using the YouTube Data API and displays the compacted count on an AWTRIX 3 / Ulanzi Smart Clock via its local HTTP API.
A flow by Faisal F Rafat

Download flow

Flow Details

🔧 Setup Instructions:

  1. 🧩 Requirements A working AWTRIX 3 (e.g., Ulanzi Smart Clock) on the same local network. A valid YouTube Data API v3 key. A channel ID for the YouTube channel you want to track. Upload a YouTube-style icon to your AWTRIX before running this flow: Go to AWTRIX Icon Gallery Search for a YouTube icon or upload your own Get the corresponding icon ID (e.g., 26963)
  2. 🧠 How It Works Triggers every hour Makes a GET request to YouTube API to fetch subscriberCount Formats the number using compact notation (e.g., 1.2M) Sends a POST request to AWTRIX at your specified local IP with the count and icon
  3. 🔧 Required Replacements: Replace the following placeholder values in the HTTP Request nodes:

Placeholder - Replace With YOUR_YOUTUBE_CHANNEL_ID - Your YouTube channel ID YOUR_YOUTUBE_API_KEY - Your API key from Google Developer Console YOUR_AWTRIX_IP - Your AWTRIX local IP address (e.g., 192.168.1.108) YOUR_ICON_ID - Icon ID from AWTRIX Icon Gallery (e.g., 26963)

{ "id": "AWTRIX_YT_Template", "name": "AWTRIX YouTube Subscriber Count", "tags": [ "awtrix", "youtube", "iot", "dashboard", "smartclock" ], "nodes": [ { "id": "trigger-hourly", "name": "Every Hour", "type": "n8n-nodes-base.scheduleTrigger", "position": [ 0, 0 ], "parameters": { "rule": { "interval": [ { "field": "hours" } ] } }, "typeVersion": 1 }, { "id": "fetch-youtube-stats", "name": "Fetch YT Subscriber Count", "type": "n8n-nodes-base.httpRequest", "position": [ 240, 0 ], "parameters": { "url": "https://youtube.googleapis.com/youtube/v3/channels", "options": {}, "sendQuery": true, "queryParameters": { "parameters": [ { "name": "id", "value": "YOUR_YOUTUBE_CHANNEL_ID" }, { "name": "key", "value": "YOUR_YOUTUBE_API_KEY" }, { "name": "part", "value": "statistics" } ] } }, "typeVersion": 3 }, { "id": "send-to-awtrix", "name": "Send to AWTRIX", "type": "n8n-nodes-base.httpRequest", "position": [ 480, 0 ], "parameters": { "url": "http://YOUR_AWTRIX_IP/api/custom", "method": "POST", "options": {}, "sendBody": true, "sendQuery": true, "bodyParameters": { "parameters": [ { "name": "text", "value": "={{ Intl.NumberFormat('en-US', { notation: \"compact\", maximumFractionDigits: 2 }).format($json.items[0].statistics.subscriberCount) }}" }, { "name": "icon", "value": "YOUR_ICON_ID" } ] }, "queryParameters": { "parameters": [ { "name": "name", "value": "ytsubs" } ] } }, "retryOnFail": true, "typeVersion": 3 } ], "active": true, "settings": { "executionOrder": "v1" }, "versionId": "", "connections": { "Every Hour": { "main": [ [ { "node": "Fetch YT Subscriber Count", "type": "main", "index": 0 } ] ] }, "Fetch YT Subscriber Count": { "main": [ [ { "node": "Send to AWTRIX", "type": "main", "index": 0 } ] ] } } }
-- Flow first published on August 5, 2025.