When LinkedIn lead forms go live: every new lead is qualified against our ideal-customer profile and proposed into the CRM one at a time — with its source and campaign stamped on the record from birth.
Per qualified lead: a proposal to the BU lead — approve and it enters the CRM with source, medium and campaign stamped.
Today 100% of our CRM deals have no source recorded — we literally cannot say which marketing produced which deal. Leads born through this loop are the first with full attribution from day one, which is what makes the B2B spend measurable at all.
A prospect submits on LinkedIn
Same qualification machinery as CRM-3
With everything known about the lead
One at a time, no batches
Source/medium/campaign stamped at creation
For implementers and the technically curious. The full build sheet — verified queries, thresholds, and build notes — lives on the specs page.
| System | Role in this loop |
|---|---|
| LinkedIn Lead Genforms API | The lead source — read-only pulls of form submissions. |
| Odoo 19 CRMread-only connection | The live CRM. The loop reads deals, activities and teams through a read-only connection — writes are technically impossible on this credential. |
| odoo-write gateper-record | The one write path, per-record approved, source fields mandatory. |
| Agent Vaultcredential store | Where API keys live. Loops get read-only credentials from the vault; nothing is hardcoded in scripts. |
| Hermesagent runtime on our server | The scheduler that wakes the loop up. Each loop is a cron job under a Hermes profile; the planned bizops profile will host the business digests (IT loops run under vpsops). |
| Email renderer + gwsrender_email.py | All digests pass through one shared renderer: Huxberry-branded HTML, tables for repeated rows, a coral 'needs your response' box when the loop has questions, and an arrow link on every record. Sent from the loops mailbox via the Google Workspace CLI. |
| Model / brain | What it does here |
|---|---|
| Claude Opusthe judgment model | Reviews alert wording, thresholds, and anything a human will read and act on. Post-Fable, Opus owns everything that ships. |
| GPT-5.5 via Codexthe bulk-work model | Wrote and maintains the mechanical parts — SQL, diffing, digest assembly. Effectively free on our existing subscription, so routine cycles cost almost nothing. |
Processed-submission ledger (no double proposals) + the shared ICP rubric.
Per-lead proposal to the BU lead; weekly rollup of volumes and quality.
Reply-only sync principle; per-record approval; UTM attribution mandatory so the spend stays auditable.