fix: live cold email stats from CRM in dashboard update

- update-launch-dashboard.py now queries the CRM webhook for real pipeline counts
- Goals (Cold Emails Sent, Active Contacts, CRM Contacts) update daily at 03:00
- Campaign cards (Cold Mail, Influencer) rebuilt from operations.json dynamically
- CRM contacts badge in header updates from live data
- All probe functions replaced with actual CRM query
This commit is contained in:
Oliver
2026-06-17 05:51:37 -03:00
parent 87273a901f
commit 396105cda8
3 changed files with 88 additions and 102 deletions
+7 -7
View File
@@ -1,11 +1,11 @@
{
"period": "2026-06-09 to 2026-06-16",
"updated": "2026-06-17 06:00",
"updated": "2026-06-17 08:51",
"visitors": 67,
"visitors_trend": {
"dir": "up",
"change": "+13",
"pct": "+24%"
"dir": "same",
"change": "+0",
"pct": "+0%"
},
"visitors_change": "",
"latest_day": "2026-06-16",
@@ -17,9 +17,9 @@
},
"pageviews": 361,
"pageviews_trend": {
"dir": "up",
"change": "+29",
"pct": "+9%"
"dir": "same",
"change": "+0",
"pct": "+0%"
},
"pageviews_change": "",
"bounce_rate": "\u2014",
+33 -25
View File
@@ -1,37 +1,37 @@
{
"date": "Sunday, June 14, 2026",
"updated": "2026-06-17T06:00:32-04:00",
"updated": "2026-06-17T08:51:21-04:00",
"goals": [
{
"current": 1,
"note": "CRM: 88 on Hold, 1 Cold (chat lead), 1 sold. Need real emails for outreach."
},
{
"current": 1,
"note": "1 paying customer (agent sold)"
},
{
"current": 12,
"note": "60 YT creators identified \u2014 12 real emails found via YouTube about page scrape"
},
{
"current": 28,
"note": "Plausible: 28 unique visitors over 5 days (Jun 9-13). 7 countries. +75% DoD on latest day."
"current": 16,
"note": "CRM: 0 Cold, 16 Contacted, 0 Warm. 90 on Hold, 0 Won."
},
{
"current": 0,
"note": "0 cold emails sent \u2014 12 real YT creator emails now available. Templates and coupons ready."
"note": "0 paying customer(s) (agent sold)"
},
{
"current": 139,
"note": "89 original + 50 backlink targets (Hold)"
"current": 1,
"note": "1 YT creators & affiliates identified (90 on Hold)"
},
{
"current": 67,
"note": "Plausible: 28 unique visitors over 5 days (Jun 9-13). 7 countries. +75% DoD on latest day."
},
{
"current": 16,
"note": "16 contacts emailed. 0 replied. 2 bounced."
},
{
"current": 833,
"note": "833 total in CRM (0 Cold, 16 Contacted, 0 Warm, 90 Hold, 0 Won, 1 Lost, 2 Bounced)"
}
],
"campaigns": [
{
"metrics": [
0,
0,
16,
0
],
"items": [
@@ -44,14 +44,14 @@
"ok": true
},
{
"text": "No Cold contacts with real emails yet",
"ok": false
"text": "0 Cold contacts, 16 contacted",
"ok": true
}
]
},
{
"metrics": [
60,
90,
0,
0
],
@@ -92,7 +92,7 @@
]
}
],
"state_of_play": "Day 7 \u2014 Influencer campaign on hold until end of July. Full focus on Friends & Family battle-testing. 1 agent sold, 28 visitors across 5 days, 7 countries. Battle-proofing the system with real users before scaling to influencers. 39 coworking space leads + 6 e-commerce leads on Hold, ready for F&F outreach.",
"state_of_play": "Day 9 \u2014 16 cold emails sent, 0 replies, 2 bounced. 833 CRM contacts (0 Cold/16 Contacted/0 Warm/90 Hold). 0 agent(s) sold.",
"comms": {
"inbox": {
"total": 0,
@@ -102,7 +102,15 @@
"total": 8,
"last35h": 0
},
"alerts": 0
"alerts": 0,
"crm": {
"total": 833,
"cold": 0,
"contacted": 16,
"warm": 0,
"won": 0,
"hold": 90
}
},
"recommendations": [
"INFLUENCER CAMPAIGN PAUSED until end of July \u2014 focus on F&F battle-testing first",
@@ -112,5 +120,5 @@
"1 agent sold already \u2014 good sign for F&F conversion expectations"
],
"day": 9,
"notes": "Day 9 auto-update at 06:00 UTC"
"notes": "Day 9 auto-update at 08:51 UTC"
}