Stories A promise's telling

CRM, chapter two

Open a group and see who to talk to next, why, and what has worked for people like them — learned from every interaction, on one light screen, for us and for every client.

The seven beats

World
Seven groups keep their customers in one record, each forgetting at its own fade-rate. The record writes every stage move down and never adds them up.
Cast
The customer at the centre; the operators of each group and of its clients; the agency above them; analyst, journey-runner and onboarder, who draft, watch and hand work back.
Knock
The operator, 2026-09-28: the CRM is the core product; the customer is at the centre of everything; track everything, optimise on the interactions, and keep it extremely light, beautiful and usable.
Want
A record that learns, across people, which touch moves someone forward, and hands the operator the next person and the next word on one light screen.
Way
Signals already arrive. A stage move marks the touch before it; silence fades it; the hourly sync adds the moves up per group into the snapshot; the queue, the funnel, the pulse and health read the snapshot; a draft's outcome marks the path that wrote it.
Turn
The first morning the list is in a different order — the top row is someone who wrote nothing yesterday, with a one-line reason and a two-line draft.
Lesson
Open — learned when the order of the list is shown to have moved people who would otherwise have gone quiet.

This story carries its beats but no written telling yet — text/crm-learns.md has no “The story” section.

Connected to

Every link here was checked against the repo when the page was built. 3 names the story uses could not be found and are shown without a link.

People

  • the customer
  • the operator of a group
  • a client's team
  • the agency above them

Agents

Each opens a chat with that agent.

Skills

Each opens the skill's page.

  • planning
  • promise-make
  • storytelling

Paths

The flows this story walks — trigger → step → step.

  1. trigger: a stage move → tool: mark the path from the last touch → delay: the group's fade window → tool: fade the touches followed by nothing
  2. trigger: the operator opens the people view → tool: the queue from the snapshot → human: pick a person → agent: agent:run drafts from crm:context → human: approve → tool: entity:reply
  3. trigger: the hourly sync → tool: compute funnel, pulse and health per group → tool: write the snapshot

Tools

Receivers and scripts it signals.

Promises

What it holds; a told promise opens its own story.

Events

Every event is a signal; each names the path it marks or warns.

  • VERIFY: the stage-move writer (world-receivers.ts inserts stage_transition) · from a rule, an agent or a person the touch before the move → the stage it moved to (mark) tags: crm, lifecycle
  • entity:reply · from the operator, or an agent with a person's approval draft → outcome (mark on a reply, booking or sale; fade on silence) tags: crm, messages
  • event:track · from the page the person is on touch → channel → campaign tags: crm, activity

Transactions

  • a sale after a draft marks the path that drafted it
  • each draft spends group credit on one model call

Analytics

  • stage-to-stage conversion and time in stage per group (deliverable 4)
  • reply time, response rate, stage speed per group (deliverable 9)
  • health with its inputs (deliverable 8)
  • load time and bytes per CRM route (deliverable 11)