docs / crm-basics

CRM basics

The CRM niiko's own sales team runs on today. A lead Miira qualifies lands here as a client, with its history in one record — deals move through a pipeline, follow-ups get a due date, and nothing gets typed twice.

the lifecycle

Governed, not typed by hand.

// A client's stage only ever moves through a legal transition — never a free-text field.

01

Lead

A new contact enters the CRM — from Miira's handoff, a manual entry, or an import.

02

Qualified

The lead is worth pursuing. The badge changes; nothing else about the record is re-entered.

03

Client

The relationship is active. Deals and activities stay attached.

04

Churned

The relationship ended. The record isn't deleted — it stays, with its history intact.

contacts

The record starts full, not empty.

// The lead Miira qualified is already a client here, with the whole thread attached.

  • Every contact has a lifecycle stage, an explicit owner (never derived), and a full activity history
  • A client and the lead Miira qualified are the same record — never a copy you re-enter
  • Dynamic fields let you extend a record without breaking the shared one underneath

follow-ups

A task that quietly disappears is a lost deal.

// Notes, calls and tasks — logged against the client, not a chat history.

  • Notes and call logs attach to the client record — not to whoever remembers to write them down
  • Tasks carry a due date, so a follow-up has a deadline instead of just a good intention

the pipeline

A board for the deals themselves.

// Deals are tracked separately from the client's own lifecycle.

  • Every deal carries an amount, a currency and an expected close date
  • Won and lost are terminal stages — losing a deal asks for a reason, so the pattern isn't lost with it
  • A deal's stage is tracked independently from the client's lead/qualified/client/churned lifecycle

import

Bring your list in — honestly.

// A spreadsheet full of leads doesn't have to become a spreadsheet full of duplicates.

  • Import leads and clients straight from CSV or Excel
  • Possible duplicates are suggested, never merged automatically — a human confirms the merge
  • Imported contacts default to no marketing consent — you decide who gets opted in, not the importer

saved views

A saved view is your audience.

// A view is a live query, so your audience is never out of date.

Save a combination of filters and that view is the audience — there's no separate "segment" object that quietly drifts out of sync. When the underlying records change, the view reflects it, because it's a query, not a frozen list.

What this guide doesn’t cover

The CRM is live, but it isn't finished. What this guide doesn't cover, because it isn't the current UI:

  • A full 360° client view. Dynamic fields and a cross-module timeline are designed — coming with a later wave.
  • Custom pipeline stages or drag-and-drop on the kanban. Deals move through stages today; making the stages themselves editable is next.
  • AI scoring inside the CRM. Miira scores leads on WhatsApp; the CRM doesn't add a score of its own, on purpose.
  • Email marketing or automated sequences. Not a goal for this module.
  • Pricing or signup. There's nothing to pay for yet.

Last updated: 2026-07-15.

← All guides · See the roadmap