Back to Projects

CRM and Sales Automation Pipeline

I built a custom CRM to manage my sales pipeline from first intro call through deal closure and beyond. It connects to Cal.com for scheduling and n8n for automation, so leads flow in automatically when someone books a meeting, and that booking can trigger tasks, tags, and follow-ups without any manual work. The whole thing was designed to stay simple and fast instead of mimicking the overhead of traditional CRM software.

!

The Problem

When leads come through calendar bookings, email, and scattered notes, tracking them becomes friction. Most CRM tools are built for large sales teams and carry complexity that doesn't fit a lean operation. I wanted something simpler and more opinionated - a system that matches a real sales process, stays easy to use day-to-day, and can still be extended later for different client needs without a rebuild.

📥Leads come through Cal.com but have nowhere central to live
🔗Meeting notes, tasks, and follow-ups are scattered across tools
💸Standard CRM products bring too much weight for a simple workflow
🔄Won deals drop off even when ongoing work continues with the client

Constraints

  • Built for lean workflows without enterprise CRM overhead
  • Native integration with Cal.com booking flow
  • REST API-first for n8n automation
  • Must stay simple and performant in daily use
  • Support ongoing work and context after deals close
  • Flexible architecture to evolve for different client workflows

Solution & Approach

The CRM is a Next.js app built in the same Turborepo monorepo. The core is a drag-and-drop Kanban board with 7 pipeline stages, including a dedicated Lost column that keeps inactive leads out of the active workflow while maintaining visibility. The board is easy to customize—I can show or hide columns depending on what I want to focus on at any given time.

The system does more than just track a pipeline. Each deal can hold meetings, tasks, notes, tags, documents, and ongoing context. Work continues in the same place even after closure. A single contact can have multiple deals, which is more realistic for actual client relationships.

The real value is in the automation. When someone books through Cal.com, n8n catches the webhook, uses the CRM's REST API to create the contact and deal, schedules the meeting, and applies prep tags automatically. Contacts can be bulk-imported from CSV with automatic email deduplication. After meetings, the system stores summaries, creates follow-up tasks, and updates deal stages. Free tagging keeps the workflow fast and scannable, while the overall structure stays intentionally simpler than traditional CRMs.

Built for lean workflows, not enterprise software complexity
Complete REST API designed for n8n automation
Multiple deals under one contact reflects real client relationships
Ongoing context and files persist after deal closure
CSV bulk import with automatic email deduplication
Free tagging for fast, flexible organization
Lost stage keeps inactive leads out of the active pipeline

Outcome & Results

Every booking that comes through Cal.com shows up in my pipeline within seconds—no manual entry. Prep tags remind me what to review before meetings, follow-up tasks are straightforward to track, and the entire process from first contact to signed deal lives in one place. Beyond that, the CRM remains useful after a deal closes. I can add notes, meeting recaps, documents, and context as the client relationship continues. The result is a system that feels faster and more natural than the heavier tools already out there.

7Pipeline stages (New Lead → Won)
< 5sLead appears in CRM after Cal.com booking
0Manual data entry for new leads
100%Lead capture rate

Key Learnings

The biggest lesson was building the API layer first. It forced clean separation between the data model and automation logic, so the automation can evolve without touching the product itself. It also taught me that intentional simplicity wins. Instead of copying the complexity of existing CRM tools, I learned that a smaller, more opinionated system can fit a real workflow better and still stay flexible enough to extend and reuse later.

Next steps
AI-powered meeting recaps that extract action items and update deal status automatically
Time tracking per deal to understand where effort goes
An AI agent that handles post-meeting task creation and tagging without manual intervention

Tech Stack

Next.jsTypeScriptTailwind CSSSupabasednd-kitn8nCal.comSupabase StorageVercel

Interested in building something similar?

No commitment. Just a conversation about your systems.

Custom CRM & Sales Automation Pipeline | misha systems | misha systems