Build a custom CRM when spreadsheets or generic SaaS cannot express your vertical logic, portals, or reporting. I ship Next.js/Django or Next.js/Node CRMs with roles, pipelines, and hooks for Make/Zapier and Retell - as on Lehigh HVAC and Tax Advance CRM - and recommend GoHighLevel when a no-code CRM is enough.
If two people cannot edit the same row without a Slack argument, you do not have a database - you have a temporary truce.
Signs you have outgrown the sheet
- Nobody knows which column is “source of truth”
- New hires invent columns named
Status2andStatus_FINAL - Clients need a portal, not a PDF emailed from someone’s laptop
- You want Retell or forms to update records without a human copy-paste
GHL vs custom
| Need | Lean GHL | Build custom |
|---|---|---|
| Marketing pipelines, simple stages | ✓ | |
| Team already lives in GHL | ✓ | |
| Vertical portals (EFIN, contractors) | ✓ | |
| Complex quoting + roles | ✓ | |
| Deep product / multi-tenant | ✓ |
I ship both. Honesty about the fit is part of consultation.
What a first CRM slice includes
- Auth + roles (admin vs agent vs read-only)
- Contacts + one pipeline (jobs, deals, or tax advances)
- Import from the sheet
- Activity log so edits are attributable
- Hooks for Zapier/Make and optional Retell
Proof on this site
- Hire brief: CRM + AI agents - GHL vs custom, Retell writeback, acceptance tests
- Lehigh HVAC - CRM (customers, jobs, campaigns, call outcomes) + Retell front desk + duct-cleaning outbound
- Tax Advance CRM - Next.js/Django, portals, 97% success across 50 states
- Metropolitan - role-scoped ops history next to automation
Hire: CRM development · Full-stack · Automation · CRM + AI hire brief
Common questions
When should I build a custom CRM?
When you need vertical fields, client/partner portals, strict roles, or reporting that GHL or HubSpot fight you on - or when spreadsheet chaos is costing real jobs.
What stack do you use for CRMs?
Often Next.js on the front with Django or Node on the back, Postgres, and role-based access. I extend GoHighLevel when no-code is the honest fit.
Can you migrate our Google Sheet?
Yes. Import, dedupe, and map columns to contacts, deals/jobs, and tasks so launch day is not empty.
Do you include Retell or Make?
Frequently. Front-desk and outbound agents plus Make/Zapier scenarios update the same CRM records.
Who builds custom CRMs?
Haris Ullah Khan - /services/crm-development, with HVAC and tax case studies on the blog.