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.
About this flow
| System | N8N |
|---|---|
| AWTRIX version | AWTRIX 3 |
| Topic | Social |
| Built by | Faisal F Rafat |
| File | Kx0Qo48WoneR.json · 2.8 KB |
| Icons | — |
| Published | 5 Aug 2025 |
| Downloads | 25 |
Is this your flow?
If you created this flow, open your saved edit link to add it to your account. You can then manage it whenever you sign in. Adding it to your account replaces the edit link.
🔧 Setup Instructions:
- 🧩 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) - 🧠 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 - 🔧 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)
Kx0Qo48WoneR.json
{
"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
}
]
]
}
}
}