Always-on pipeline that pulls her HighLevel state into the IEXDG RAG, dashboards it, and feeds it to every downstream content/automation decision. Hourly shallow + daily deep, auto-ingested, zero manual steps once configured.
| Task | Script | Cadence | State |
|---|---|---|---|
| IEXDG_GHL_Nexus_Crawl | ghl_nexus_crawl.py | Every 2 hours, starting :05 past the hour | RUNNING |
| IEXDG_GHL_Deep_Crawl | ghl_nexus_deep_crawl.py | Daily 3:00 AM ET | READY — next run Apr 14 3:00 AM |
Shallow every 2 hours = fast drift detection (new contacts, new tags, new social posts scheduled) without rate-limiting the API. Deep daily = full pagination of 1,952 contacts + 109 workflow bodies + pipeline opportunities, which takes ~15 minutes and would be wasteful to run hourly.
She has the infrastructure of a 7-figure consultancy — 1,952 contacts, 27 pipelines, 109 workflows, 329 tags, 23 calendars, 184 contact custom fields, 57 forms, 6 social accounts — but the engine isn't running: zero active opportunities, zero upcoming bookings in the next 60 days, zero conversations (SMS/chat).
Some active and strategic, many appear stale. Surfaced names include PGCOC Coffee Connection 2025, Sales Pipeline, Scorecard Leads, Standard Seminars & Workshops, Women Consulting Corporate Live! 2024, YOUR PROMOTION Pipeline, 7-FigurED — plus 20 more. Consolidation to 3-5 (Pulse → Reset → Transformation → Speaking → Custom) is the high-leverage move.
Mixed published/draft/archived. The Culture Pulse tier flows are present but need verification against Workflow AI Builder rebuild. iexdg_weaponization_audit.py (in build queue) will map active vs zombie per workflow.
Start with Clarity Strategy Call, IEXDG Book Discovery Call, IEXDG Book Custom Series Planning, City of Tucson Leadership & Employee, Booking Request, IEXDG Book Coaching Track, Chat with Dr. DNicole, + 16 more. Zero bookings across all of them in the next 60 days = traffic isn't reaching booking flow, or bookings are happening outside GHL.
Only 10 posts ever published. Last published: Jan 30, 2026. 73 days of silence. As of Apr 13 there are 28 DRAFT posts queued across LinkedIn, Facebook, Instagram, and Google Business Profile — all with Apr 13 Visual Standard-compliant images, awaiting her review.
ghl_nexus_crawl.py or ghl_nexus_deep_crawl.py against the registered cadence. PIT Token pit-8e4c1579… authenticates as IEXDG location user.nexus_crawls/iexdg_ghl_YYYYMMDD_HHMMSS.json. Plus the "latest" symlink overwrites iexdg_ghl_latest.json so downstream tools always know where to look.nexus_*_YYYYMMDD_HHMMSS.md file. These are what get chunked into the RAG.IEXDG/rag/ingest_session.py --type operations --file PATH. Text gets chunked + embedded (sentence-transformers all-MiniLM-L6-v2, 384-dim). Stored in iexdg_knowledge.db.generate_nexus_dashboard.py reads iexdg_ghl_latest.json and emits STRATEGY/IEXDG_Nexus_Dashboard.html — live UI with metrics grid, pipelines table, workflow status, social accounts, tag cloud.| Script | Purpose |
|---|---|
TOOLS/automation_scripts/ghl_nexus_crawl.py | Hourly shallow crawl. 13 sections captured. |
TOOLS/automation_scripts/ghl_nexus_deep_crawl.py | Daily deep crawl. 8 intensive passes. |
TOOLS/automation_scripts/ghl_pull_messages_notes_tasks.py | Conversation messages, per-contact notes/tasks (run on-demand). |
TOOLS/automation_scripts/generate_nexus_dashboard.py | Renders IEXDG_Nexus_Dashboard.html from latest snapshot. |
TOOLS/automation_scripts/schedule_tasks.ps1 | PowerShell that registers the 2 Windows Scheduled Tasks. |
TOOLS/automation_scripts/setup_ghl_hourly_crawl.bat | Alternative CMD wrapper (when PS blocked). |
| Path | What |
|---|---|
TOOLS/nexus_crawls/iexdg_ghl_YYYYMMDD_HHMMSS.json | Each shallow crawl, timestamped |
TOOLS/nexus_crawls/iexdg_ghl_latest.json | Pointer to newest shallow crawl |
TOOLS/nexus_crawls/iexdg_ghl_deep_YYYYMMDD_HHMMSS.json | Each deep crawl, timestamped |
TOOLS/nexus_crawls/iexdg_ghl_deep_latest.json | Pointer to newest deep crawl |
TOOLS/nexus_crawls/iexdg_ghl_latest_summary.md | Human-readable shallow summary |
TOOLS/nexus_crawls/nexus_*_YYYYMMDD_HHMMSS.md | Deep crawl per-section markdown (what gets RAG-ingested) |
STRATEGY/IEXDG_Nexus_Dashboard.html | Live UI regenerated from latest shallow |
IEXDG/rag/iexdg_knowledge.db | SQLite RAG database with embeddings |
| File | Content |
|---|---|
iexdg_apr13_breakthroughs.md | GHL unblock + HeyGen + Pip Decks wins |
iexdg_apr13_deep_crawl_findings.md | 1,952 contacts, 0 engine running |
iexdg_ghl_marketing_audit_apr13.md | 5 root causes of low marketing score |
iexdg_apr13_autonomous_session.md | Continuous crawl architecture + what auto-runs |
iexdg_apr13_timeline_and_bsp_lessons.md | BSP pattern mapping → IEXDG Nexus |
iexdg_apr13_visual_fix_applied.md | 28 drafts regenerated per her Visual Standard |
The IEXDG crawl system is built from proven BSP patterns. BSP Morpheus VM runs 398 scripts, 98 systemd timers, 165 databases. Every pattern below already ships in production on BSP and has been translated to IEXDG.
| BSP Pattern | BSP Implementation | IEXDG Translation |
|---|---|---|
| Pulse | nexus_pulse.py (3× daily unified state aggregator) | Shallow crawl every 2 hours (same role) |
| Sentinel | nexus_sentinel.py (30-min self-healing monitor) | Planned: dnicole_visual_sentinel.py (already live for visuals) |
| Pattern Learner | nexus_pattern_learner.py (weekly long-memory) | Planned: dnicole_pattern_learner.py |
| Evolution Engine | nexus_evolution.py (champion-challenger A/B) | Planned: Tactic picker A/B across post variants |
| Guardian Hashes | guardian_hashes.db (file integrity) | Planned: Protect dnicole_brand_rules.json, pipdecks_knowledge.json |
| Weaponization Audit | nexus_weaponization_audit.py (new Apr 13 on BSP) | Planned: iexdg_weaponization_audit.py (109 workflows / 27 pipelines / 329 tags) |
| Named Cluster | Zeus (zeus-closure-bot, zeus-daniel-notify, zeus-health-check) | DNicole cluster: dnicole-pulse, dnicole-visual-sentinel, dnicole-first-comment-bot, dnicole-ghl-crawler |
Open STRATEGY/IEXDG_Nexus_Dashboard.html in a browser. Auto-refreshes with every scheduled run. Metrics grid + pipelines table + workflow status + social accounts + tag cloud.
dnicole_brand_rules.json SSOT| Rule | Why |
|---|---|
| 2 sec minimum between API calls | Prevents the IP-block pattern that cost us 4 months on the main GHL API (Cloudflare block Feb–Apr 13). |
| Max 20 req/min | Standard cross-client policy from memory/operating_rules.md. |
| 429 backoff: 5s × attempt | Exponential retry with 3 max attempts before giving up on that section. |
| Read-only by default | PIT token scope: read everywhere, write ONLY on Social Planner posts (the one write operation needed today). |
| No destructive operations | No DELETE, no PATCH on contacts, no write on Location profile (scope lacks locations.write anyway). |
| Log every run | Every crawl writes a timestamped JSON. Can be diffed against prior snapshots to detect drift. |
location_id and locationId field-name conventions. 0 opportunities might be a data issue, not a real "zero state."Add these endpoints to the deep crawl schedule. Target: 90%+ GHL state coverage in a single nightly pass.