What Iron Is
Iron OS is a standalone CRM and operating system for Local Lead Legend. It is an internal tool — for us and our clients only (invite-only; no public self-serve SaaS posture). The production app lives at your-domain.example.
Identity
Section titled “Identity”Iron is two things at once:
- The agency’s own agentic ops platform — the single place the team and its agents run attribution, analytics, media/ads, sales/coaching, funnels, and telephony.
- Custom-fit client portals — the system clients get a curated window into, as part of a done-for-you service and infrastructure.
There are no white-label/self-serve productization plans where a client signs up unattended: client logins are curated portals configured per client, not a self-serve product.
The monorepo (8 apps)
Section titled “The monorepo (8 apps)”Iron is one monorepo that owns the entire stack — maximum consolidation, minimal external dependencies.
| App | What it is |
|---|---|
apps/api |
FastAPI + SQLAlchemy 2.0 async + Celery/Redis. Owns the Postgres crm schema. This is the API documented here. |
apps/web |
Next.js 15 dashboard (the operator + client UI). |
apps/telephony |
In-house Telnyx engine: SMS, voice, dialer, call intelligence, Retell agents. |
apps/attribution |
Ad → lead → booked → revenue attribution (the hyros schema). |
apps/funnels |
SvelteKit funnels + an Astro site generator. |
apps/analytics |
P&L, unit economics, and month-close (internal-only). |
apps/media |
Ad-creative factory and operator engine (the content schema). |
apps/mobile |
The IronCRM phone app (Expo / React Native). |
Core doctrine
Section titled “Core doctrine”- Standalone monorepo = the operating system. Iron owns the whole stack. The default is to build or port a capability in-house rather than depend on an external system.
- Duplicate-in, depend-on-nothing-external. The API reads and writes only the
crmschema (plus its own apps’ schemas). It never reads another system’s schema at runtime. - Multi-tenant discipline. Every feature is scoped to a subaccount via the
X-Org-Idheader. See Subaccounts & X-Org-Id. - GHL one-for-one parity. Where Iron has a surface that GoHighLevel also has, it mirrors GHL’s information architecture and interaction model on Iron’s own primitives. Where Iron exceeds GHL (coaching, attribution, analytics, media) it is additive.
Where to go next
Section titled “Where to go next”- New to the API? Read Authentication then the API Overview.
- Operating the platform? Start with The Operator Model.
- Migrating a client off GoHighLevel? See the GHL → Iron Migration guide.